Back to docs

Chat & context

Everything you see in the chat workspace is local-first: your sessions, memory, and preferences persist in a single localStorage key (zodagent). No data leaves your machine except the requests you send to the LLM providers you configure.

The hub

The hub is the home screen you land on. It shows the logo, a greeting, the current time, a large prompt box, and a set of quick actions: search sessions, open settings, open the orchestrator, and start a new conversation.

Hub quick actions
Search sessions Settings Open orchestrator New conversation Run active agent

Sessions & search

The sessions drawer lets you create, search, switch, rename, and delete sessions. Search matches session titles and message content, and also covers harnesses — so you can jump straight back into any past conversation or workflow.

Title + content search

Full-text search across message bodies, not just session names.

Harness coverage

Named workflows stored as harnesses appear in search results too.

Streaming chat

Messages stream in token by token over SSE from your configured provider. The input auto-resizes, send with Enter, and the context meter tracks how much of the window you are using.

Context-length meter

A live meter in the chat bar shows approximate token usage as a percentage of a 4096-token window, alongside the message count — so you know when a conversation is getting long.

Context ~62% of 4096

Message actions

Every assistant reply has actions for copy, regenerate, delete, a thumbs up / thumbs down rating, and its timestamp. User messages can be edited, copied, or deleted.

Assistant replies

Copy, regenerate, delete, rate, timestamp.

User messages

Edit, copy, or delete your own prompts.

Rich rendering

Structured output renders as cards — see Agents & Sessions.

Chat input superpowers

Slash commands

Type / to insert a prompt template: think step by step, write code, explain, fix bugs, review, docs, tests, refactor, plan, summarize, translate, optimize, diagram, table, expand.

@ mentions

Type @ to mention agents, sessions, and tools with a searchable, grouped picker. Both popovers support keyboard navigation (arrows, Enter/Tab, Esc).

File attachments

The paperclip in the chat bar attaches text files (.txt, .md, .json, .yaml, .js, and more). Their contents are embedded in the LLM context and shown as chips on your message.

Session data panel

A panel collapses in next to the chat with two tabs, all persisted across sessions:

Tasks

A persistent to-do list — check, edit, delete, clear.

Memory

Your long-term memory blocks, editable in Settings · Memory.

Local-first persistence

There is no backend and no account. The whole app state — sessions, agents, harnesses, preferences, memory, and scheduled tasks — is stored as a single JSON document under the zodagent key in localStorage and survives reloads. For background scheduling, the same document is mirrored into IndexedDB (zod-bg) so the service worker can read it. You can export or import the full state as JSON from Settings → General.