Skip to main content
otter-assistant is the chat window for otter-assist. The daemon owns transport and tools. This app owns threads, permissions, Markdown, and code highlighting.
Install with pikman install otter-shell-extras. That pulls in otter-assist, otter-assistant, and otter-assist-data along with the speech tools.

Launch

otter-assistant
You can also open Otter Assistant from otter-launcher. Start otter-assist first (or autostart it). No daemon, no replies.

Chat

Type in the prompt box and press Enter. The status line shows tool progress, then tokens per second and time to first token when the reply finishes. Successful exchanges save as encrypted thread files under $XDG_DATA_HOME/otter-shell/assistant/threads/. assistant/current.id picks the active thread. An old assistant/current.thread file migrates into the default thread on first use.

Tool permissions

Web Search and Desktop Search ask before they run:
ActionResult
EnterAllow once for this request
Ctrl+EnterSave the matching *_always_allow flag in otter-assistant.conf
The request sends one-shot approval to otter-assist. Other clients stay gated unless their own config allows the tool.

Rendering

Replies render as Markdown: headings, tables, task lists, remote and local images (cached by Otter), and fenced code blocks highlighted with zhl.

Configuration

Client settings live in ~/.config/otter-shell/otter-assistant.conf:
window_width = 980
window_height = 720
font_size = 14
max_tokens = 512
temperature = 0.2
web_always_allow = false
desktop_search_always_allow = false
Backend options (backend, tools, idle unload) live in otter-assist.conf. Edit those under Assist in otter-settings, or see otter-assist.