Ava
This guide describes the current build.
Ava is Samsara’s optional assistant. She can answer questions, run commands for you, and remember a few things. She is off until you choose where she runs, and you stay in charge of what she may do.
Where Ava runs
Open Settings → Ava → Ava runs (ava.provider_policy) and choose one route:
- Off. Nothing goes to a model. Your credentials, models and past consent are kept.
- On this PC (Ollama). Requests go to an Ollama server on this computer only. It must be a loopback address and you must name an installed model.
- In the cloud. Requests go to your own account at DeepSeek, OpenAI, Anthropic or OpenRouter, with your own key.
The route you choose is the only authority. There is no silent fallback from local to cloud, and the checkbox and the router cannot disagree. The Effective route row, and the Ava button on Home, show the truth: for example “Ava: cloud – DeepSeek” or “Ava: cloud chosen, consent pending”.
newer than v0.30.0-beta.2The consent step
Turning Ava on shows a Turning Ava on dialog. It says that Ava can run commands on this computer the way you can by voice, that she can get things wrong, that not everything she does can be undone, and that a cloud AI receives what you say, on your own account. Choose I understand, turn Ava on, or Not now, which leaves the previous route unchanged. Consent is recorded per provider: changing the cloud provider asks again. To read it again, use Settings → Ava → Advanced → Ava consent.
Applying a route also turns off automatic corrections, web search and warm-up at startup. Re-check them afterwards.
Confirmations: what needs a yes
Every action, whether you said it, a macro ran it, or Ava proposed it, passes one gate before anything happens.
- Commands that only read or change what you see run for every route.
- A command you say exactly runs. The same command proposed by Ava asks first when it changes something.
- Anything destructive and irreversible always asks, and so does any command with an unknown risk. Close tab and close window run at once when you say them but ask when Ava proposes them. Permanent delete always asks.
- Ava can only name commands marked read or ui, plus a short explicit list. Everything else is refused, even if she asks nicely.
You will see a chip such as Confirm: close window and hear a short question. Answer with a complete utterance: yes, yeah, yep, sure, confirm, do it, go ahead, yes please; no, nope, no thanks, don’t; or wait (extends the time once). The window is 30 seconds. “Yes but not now” is treated as ordinary speech, not an answer. Ava cannot answer for you. “ava cancel” or “ava stop” cancels pending work and speech.
A command heard inside dictation is not run at once: a chip says running … say no for about three seconds (Cancel window). Say no to stop it.
Memory
newer than v0.30.0-beta.2Settings → Ava → Memory retention (ava_memory.mode) has three choices: Clear on close (the default), Keep last session, and Ava remembers me. Only the last one writes a memory file, ava_memory.md in your Samsara folder. It is plain Markdown with three sections you can read and edit: About you, Recent sessions and Do not remember.
When Ava remembers you, say these to her:
| You say | She does |
|---|---|
| “what do you remember about me” | Reads out the facts she has saved. |
| “remember that …”, “call me …”, “I prefer …”, “keep answers short” | Saves a fact about you. Only these explicit forms are saved. |
| “forget …” | Removes matching facts and summaries and adds it to the do-not-remember list. |
| “forget everything” | Asks you to say “yes, forget everything” within 30 seconds, then erases the file. |
- Facts that look sensitive (medical words, pain, money, passwords, addresses, phone numbers and similar) are not saved from a plain statement. They are saved only if you say “remember that” first.
- Session summaries are written by the local model only, never a cloud one, from text that has been scrubbed first.
- With a cloud route, your saved facts and recent summaries travel with each request, but only after you separately accept Ava memory in cloud requests. The default answer is No.
- The older command “ava forget” clears only the current conversation, not the file.
The memory file is not included in a support bundle.
Ask what you can say
newer than v0.30.0-beta.2Ask Ava “what commands do I have for” a goal, or “how do I …”, “is there a command for …”, “what can I say to …”. She answers from the command catalog, three at a time (“read more” continues), and calls no model. If she proposes something that is not a real command, the action is still refused; she then makes one speech-only retry that names the closest real commands.
Ask GPT or Claude
newer than v0.30.0-beta.2“ask gpt” (or “ask codex”) followed by your question runs the OpenAI Codex command line you are already signed in to. “ask claude” uses the Claude desktop app if its window is open, and otherwise the Claude command line. Say “new conversation with gpt” (or claude) to start fresh.
- These use your own subscription logins, not an API key. They are read-only by default; agent_channel.allow_writes changes that.
- The first sixty words of the answer are spoken. Code blocks, tables and file paths are replaced by a note that one is on screen. “Read the rest”, “repeat that” and “stop claude” follow up for a minute.
- Privacy: your question goes to OpenAI or Anthropic through the command line you signed in to. These commands do not use Ava’s route or consent, and they work even when Ava is Off.
- The command line runs in the folder
agent_channel.cwd. If that folder does not exist, the failure is spoken as the CLI not being installed.
Claude desktop
newer than v0.30.0-beta.2“tell claude …”, “message claude …” or “send claude …” drafts a message in the Claude desktop app and asks Send to Claude: …? Say yes to send, or ava cancel. Only after yes does Samsara paste it, read it back, press Send, and wait to see it appear. If it cannot see it appear it tells you and does not resend. When Claude finishes, the reply is read aloud (first sixty words), unless claude_voice.enabled is off.
Voice dispatch
newer than v0.30.0-beta.2An advanced feature that needs the owner’s local Agora queue service.
“send 45 to sol” (or luna, astra, claude code) asks the local service to draft a dispatch. Drafting starts nothing. Ava reads the plan back and asks Approve to start? Say approve or no. Only “approve” (or yes) starts it, and only if the plan has not changed since you heard it; the question lasts 60 seconds. The prompt id is two or three digits with an optional letter (“332b”), or two or three spoken digits. “what needs me” lists drafts awaiting approval and blocked tasks. Progress is spoken once and in order. dispatch_voice.enabled turns the whole feature off.
Images by voice
newer than v0.30.0-beta.2With a ComfyUI server running on this computer and a workflow imported, say “make an image of …” (also “generate an image of”, “draw me”). Samsara reports progress, then “Done – one image. Say open it.” Then: “open the image”, “make another” (fresh seed), “make it again but …” (appends your change), “where is the image”, “image status”, “cancel the image” (saved images are never deleted).
- Your description is never sent to an AI model. It goes only to the loopback ComfyUI server; workflows containing cloud API nodes are refused.
- These phrases are in the AI command pack; with it off you hear that the image command is unavailable.
- Images are saved under
images\YYYY-MM-DD\in your Samsara folder. Settings: comfy.*, all config-file keys.
Music and Spotify import
newer than v0.30.0-beta.2“play morning” plays a playlist, album, artist or track you named once in Tools → Music; “play playlist”, “play album” and “play artist” narrow it, and “play music” alone resumes. It needs the Spotify desktop app. To bring in your own playlists, say “import my Spotify playlists” or choose Import from your Spotify data export in the Music tool. Request your data from Spotify (Privacy settings, Download your data), then pick the ZIP or its folder. Only playlist*.json files are read, locally, with no Spotify sign-in; only playlists you own are kept. Playlists already present are skipped and name clashes get “(2)”. Nothing is saved until you choose Apply and Close.
Smart corrections and editing
Settings → Ava → Advanced has Automatic corrections and Editing rows. They use the route you chose, never a different one, and they run only if that route is allowed for editing. Known issue in the current build: the only consent the Settings page grants is the one for Ava itself, so these two controls may stay blocked even with Ava on. Treat them as experimental.