Chat, streaming & modes
The chat module keeps message history, streams each response, runs tools and records the turn for persistence.
The ReAct loop
- Send the running history to the engine and stream the reply.
- If the model returns tool calls, execute them locally, append results and loop again.
- When the model returns a final answer with no tool calls, end the turn.
BUILD and PLAN
| Mode | Behavior | Best for |
|---|---|---|
| BUILD | One direct ReAct loop | Most day-to-day tasks |
| PLAN | Plan up to five steps, run a sequential subagent for each, then synthesize | Multi-step missions |
Toggle modes with Shift+Tab or /mode. Subagents run sequentially because one local engine owns one KV context.
Context & sessions
- Auto-compaction summarizes history near 78% context usage.
- /compact runs the same process on demand.
- Overflow recovery trims older history and retries.
- Sessions are scoped to the current working directory and restored with /resume.
Input shortcuts
| Key | Action |
|---|---|
| Enter | Send |
| Alt+Enter / Ctrl+J | New line |
| Ctrl+C | Stop the running agent |
| Shift+Tab | BUILD ⇄ PLAN |
| Ctrl+R | Toggle reasoning |
| Ctrl+F | Search transcript; Enter / ↑ cycle matches |
| Ctrl+V | Paste text or image |
| Ctrl+Y | Copy last answer |
| PgUp / PgDn | Scroll transcript |
Search & code rendering
Ctrl+F opens transcript search. Matching text is highlighted with a k/N counter; press Enter or ↑ to move through results and Esc to close.
Fenced code blocks use lightweight, language-agnostic syntax highlighting for strings, comments, numbers and common keywords while preserving the terminal-first rendering.