Desktop and phone

Chat with everything

Ask questions across a SILO, a hand-picked set of notes, or your whole library, with citations.

The Chat view is a step up from chatting about one note. You choose a scope, then ask questions across all of it, and answers cite the notes they came from.

Chat opens on SILO Sam. The scope selector is on the left, session history and a new session on the right, and the tones along the bottom. Retrieval and the index control appear only on the scopes that use them.

Choosing a scope

Click the scope button at the top left for SILO Sam, All notes, any single SILO, or Select notes… to hand-pick.

Everything, one SILO, or a custom set.
The picker shows a running token estimate, so you know the cost before you start.

SILO Sam

Sam is the default scope on both platforms and works differently from the rest: nothing from your notes is put into the prompt up front. Sam gets your question and five tools: to search your notes, to list them by SILO and month, to read one in full, to look in this guide, and (when you have turned it on) to search the web. It uses at most six tool calls and reads at most five notes per question. Its searches forgive misspellings by checking them against the words you have actually written, and add everyday synonyms, so "car" also finds "van". The trace under each answer shows what it searched and read. Sam needs no embeddings index.

On the phone, the Chat tab opens a SILO Sam session straight away. The buttons in the header start a new session, open the session history, and save the conversation as a note; the scopes button on the left lists everything else a chat can point at (All Notes, one SILO, or hand-picked notes). Long-press any message to copy or share it. A saved Sam conversation lands in the SILO Sam SILO, which you can rename, move notes out of, or delete like any other. The tone you pick stays with that session.

Long conversations look after themselves. After the most recent six exchanges (ten for a SILO or note chat), earlier turns are folded into a running summary that rides along instead of the full text, so a chat you keep open for weeks does not grow the prompt without limit. The transcript on screen stays complete; only what the model is sent is compacted.

Retrieval or full context

Picking a few notes, asking a question, and getting a cited answer.

This is the one choice worth understanding, because it changes both the answers and the cost.

Retrieval (RAG)Full context
What gets sentOnly the passages that look relevant to your question.Every note in the scope, in every message.
Setup neededAn embeddings model, plus an index build.None.
Prompt sizeSmall and roughly constant.Grows with the scope. Can be enormous.
Best forLarge collections, and "where did I write about X?"A handful of notes, and "compare these three".
The app checks the budget for you
Before switching to full context it estimates the token count and compares it with your model's window. If it will not fit, you are told plainly that messages would be cut down, rather than finding out from a poor answer.
Hand-picked notes are always full context
A Select notes… scope skips retrieval entirely, because a handful of notes fits comfortably and full context gives better answers.
Answers cite their sources by note title, so you can go and check.

Setting up retrieval

  1. 1In Settings ▸ AI Servers, scroll to Embeddings.
  2. 2Set an Embeddings model. It must be a real embedding model, for example nomic-embed-text. A chat model will not work.
  3. 3Leave the embeddings server URL blank to reuse your inference server, or point it somewhere else.
  4. 4Go back to Chat, pick a scope, and build the index. The status card shows progress and tells you when the index has gone stale.
Indexing a large library takes a while
Every note has to be embedded. Thousands of notes against a local model on CPU is a long job. Start with one SILO.

Web search has three doors under Settings, AI Servers, Web search, and you choose one. My own SearXNG instance: the query goes only to a SearXNG server you run; it must have JSON output enabled (formats: [html, json] in its settings.yml), and public instances will not work because they disable that API or sit behind bot checks. My Brave Search API key: a key from brave.com/search/api; a free monthly credit covers about a thousand searches, and the query goes to Brave, which keeps no record of it. My model provider's search: OpenRouter only, no setup, and the query goes to the provider and its search partner. Switch on Enable web search in chat and use Test web search to confirm the door works.

With web search on, chat and SILO Sam can look up what your notes cannot hold, such as a current price for something you wrote down. Notes are always answered first; anything from the web appears under its own heading, "From the web, not your notes:", with a link to each page, and it is never mixed into what your notes say.

Sessions

Conversations are kept per scope. Session history reopens an old one and New session starts fresh. Everything is stored locally with your notes, and the Data screen shows how much space conversations use and lets you clear them.

No embeddings model is configured. The tooltip says so, and the fix is in Settings ▸ AI Servers ▸ Embeddings.