-
-
Notifications
You must be signed in to change notification settings - Fork 41
Chat
Two modes share the same sidebar item: Rich Chat (real-time ACP streaming with iMessage-style bubbles) and Terminal (the hermes chat CLI rendered with full ANSI color in an embedded terminal). Switch between them in the chat toolbar.
Streams tokens, thoughts, and tool calls live via the ACP subprocess. No DB polling — when Hermes emits a message chunk, you see it immediately.
What it renders:
- iMessage-style bubbles, user vs. assistant.
- Markdown content (links, lists, code blocks, tables).
- Reasoning / thinking chunks in a collapsible block above the answer.
- Tool calls as inline cards with the function name, argument summary, and (when complete) the result.
- Permission requests as modal sheets — Hermes asks before executing risky tools; you choose Allow / Deny.
-
/compress— when Hermes advertises the command viaavailableCommands, a one-click focus sheet appears in the toolbar.
Session lifecycle:
- Each new conversation creates a session via
session/new(cwd = your local working directory if you set one). - Resume an old conversation: pick from the session picker; Scarf calls
session/loadorsession/resumedepending on the state. - Auto-reconnect — if the subprocess dies, Scarf attempts a
session/resumeto pick up where it left off.
Voice mode controls: PTT (push-to-talk), TTS playback, STT transcription preferences live in Settings → Voice. The chat toolbar exposes the basic toggles.
The full hermes chat CLI rendered in an embedded SwiftTerm terminal:
- ANSI color and Rich formatting work as in your shell.
- WhatsApp / Signal pairing flows render their QR codes here for scanning.
- Useful when you need a feature only the CLI exposes (e.g. obscure flags, daemon management).
The Stop button sends session/cancel over the JSON-RPC channel. The model stops generating; any in-flight tool call completes. You can immediately send another prompt without restarting the session.
Each window is bound to one server, so chat in window A talks to local Hermes while window B talks to a remote one. Sessions don't cross windows — they live on the server they were created on.
-
"Spinning forever, no response" — check the Logs view for ACP errors. Common causes: missing
ANTHROPIC_API_KEY(Scarf attaches a hint), rate limit, orhermesbinary not on$PATH. -
Connection lost — Rich Chat surfaces this banner; click Reconnect to call
session/resume. -
Permission sheet doesn't appear — make sure Hermes's
approval_modeinconfig.yamlis set so it asks (not auto-approve).
- ACP Subprocess for the protocol internals.
- Memory & Skills for editing what Hermes knows about you.
- Settings — Voice tab for TTS/STT configuration (Settings is documented there).
Last updated: 2026-04-20 — Scarf v2.0.1
Wiki edited via the local .wiki-worktree/ clone. See Wiki Maintenance for the workflow. Last sync: 2026-04-20.
Getting Started
ScarfGo (iOS)
User Guide
- Dashboard
- Insights & Activity
- Chat
- Slash Commands
- Memory & Skills
- Projects & Profiles
- Project Templates
- Template Catalog
- Template Ideas
- Platforms / Personalities / Quick Commands
- Servers & Remote
- MCP, Plugins, Webhooks, Tools
- Gateway / Cron / Health / Logs
Architecture
- Overview
- Core Services
- Design System
- Data Model
- Transport Layer
- ScarfCore Package
- Sidebar & Navigation
- ACP Subprocess
Developer Guide
Reference
Troubleshooting
Contributing
Release History
Legal & Support
Unsorted