Desktop and phone

Connect an AI model

Point SILONotes at a model you control: Ollama, LM Studio, vLLM, or any OpenAI-compatible endpoint.

SILONotes has no AI built in and no AI service behind it. Every AI feature talks to a server address that you type in. Until you do, those features simply sit there switched off, and the app is complete without them.

Settings ▸ AI Servers. One address, one model, and you are done.

Which API does it speak?

The rule is simple and worth knowing, because it decides how the request is shaped:

  • A URL containing `/v1` is treated as OpenAI-compatible.
  • A URL without `/v1` is treated as Ollama-native.
The same server, two ways
Ollama answers on both. http://localhost:11434 uses its native API; http://localhost:11434/v1 uses its OpenAI-compatible one. Either works.

Ollama

  1. 1Install Ollama and pull a model, for example ollama pull qwen3:4b.
  2. 2Open Settings ▸ AI Servers.
  3. 3Set Server URL to http://localhost:11434 if Ollama is on the same machine, or http://192.168.1.x:11434 if it is on another box on your network.
  4. 4Leave the API key blank.
  5. 5Click Test connection. The model list fills in.
  6. 6Pick your model under Active model.

LM Studio

  1. 1Load a model in LM Studio and start its local server.
  2. 2Set Server URL to http://localhost:1234/v1. The /v1 matters.
  3. 3Leave the API key blank.
  4. 4Click Test connection, then pick your model.

vLLM, llama.cpp, and other OpenAI-compatible servers

Give the base URL including /v1, for example http://localhost:8000/v1, and an API key if your server wants one. If the server sits behind a proxy or a custom domain and detection guesses wrong, set Provider explicitly rather than relying on the URL.

Connecting from the phone

The phone needs an address it can actually reach. localhost on a phone means the phone itself, not your computer, so use your machine's LAN address, for example http://192.168.1.42:11434.

Plain HTTP to a private address prompts a confirmation. That is expected for a server on your own network.
Connected, with the model list fetched from the server.
Ollama listens on localhost by default
To reach it from your phone, start it with OLLAMA_HOST=0.0.0.0 ollama serve and allow the port through your firewall. Only do this on a network you trust.

Settings worth knowing

SettingWhat it does
Request timeout (seconds)How long to wait before giving up. The default suits a hosted model. A small model on CPU can easily take longer, so raise this if requests abort partway.
Max tokensThe longest answer the model may produce. Input is budgeted separately.
ProviderLeave on Detect automatically unless your server is behind a proxy.
Reasoning effortLow, medium or high, for models that support it. Ignored otherwise.
Context window overrideLeave at 0 to detect it. Setting it too high causes silent truncation.
TemperatureSeparate values for polish and for insights, because tidying wants a colder setting than thinking does.
Thinking modeAsk a reasoning model to think before answering. Slower and deeper.
If a request keeps aborting
The most common cause is the timeout being shorter than the model takes. A small model running on a CPU can need several minutes for a long note. Raise Request timeout before assuming anything is broken.
On the phone, in the Android Keystore. On the desktop, encrypted with the OS keyring. If no keyring is available, which happens on Linux without GNOME Keyring or KWallet unlocked, the app falls back to a plaintext file and tells you so in a banner on the Data screen. Keys are always stripped from backups.