Prerequisites
- SillyTavern running locally (Node ≥ 18). New to it? See the SillyTavern installation docs.
- A Honcho API key from app.honcho.dev.
- An LLM backend (OpenAI, Claude, OpenRouter, local llama.cpp, etc.) connected via SillyTavern’s plug icon in the top nav. Honcho stores memory; it doesn’t generate text.
Quick Start
Step 1: Install
From your SillyTavern directory: macOS / Linux:- Clones the extension into
public/scripts/extensions/third-party/sillytavern-honcho - Symlinks the server plugin to
plugins/honcho-proxy - Installs the
@honcho-ai/sdkdependency - Bootstraps
config.yamlif it doesn’t exist (briefly runsnpm startto generate defaults) - Sets
enableServerPlugins: trueinconfig.yaml - Detects your
~/.honcho/config.jsonand warns if no resolvableapiKey
mklink /J instead of a symlink) and checks for ~/.honcho/config.json, but does not bootstrap config.yaml or flip enableServerPlugins. If config.yaml is missing, start SillyTavern once to generate it; then set enableServerPlugins: true manually before restarting.
Step 2: Restart SillyTavern
Restart is required. SillyTavern loads server plugins at startup only. After running
install.sh, stop SillyTavern (⌃C) and start it again. You’ll need to restart again whenever plugin/index.js changes. Client-side (browser) updates pick up on a hard refresh — no restart needed for those.Step 3: Configure
Open Extensions (puzzle blocks icon) and expand Honcho Memory:- Check Enable Honcho Memory
- Click the API key field to set your key. The plugin falls back to
~/.honcho/config.jsonat request time if no panel key is set; a panel value always wins. - Enter your Workspace ID (saves to
hosts.sillytavern.workspace) - Enter Your peer name (saves to
hosts.sillytavern.peerName; auto-synced from your SillyTavern persona on first boot) - Status indicator should show Ready
How It Works
Context Architecture
Every generation injects a base context layer fromsession.context() — the peer representation (what Honcho knows about you) and session summary. This uses stale-while-revalidate caching: the first turn blocks to populate the cache, then every subsequent turn serves the cached result instantly while refreshing in the background.
The enrichment mode controls what layers on top of the base context:
Both the context and reasoning layers use stale-while-revalidate with a configurable cadence (“Refresh every N turns” and “Reason every N turns”). After the first turn of a session, there is zero added latency.
Context only mode relies on
session.context(), which is session-scoped — it returns empty output until the session has enough messages for Honcho to derive a representation and summary. For fresh sessions or peers with little history, Reasoning mode is a better default: it queries peer.chat() across all of the peer’s history, not just the current session.Tool Call Mode
In tool call mode, the extension registers three function tools that the LLM can invoke:
This mode works best with models that support function calling. The LLM decides when to query memory rather than firing on every turn.
Other Panel Knobs
The Extensions panel also exposes: Context settings (token budget, refresh cadence in turns, include session summary), Injection position (After/Before main prompt, or In-chat @ Depth with a numeric depth field), a Prompt Template textarea that wraps Honcho output via a{{text}} placeholder, and a Reasoning queries textarea ({{message}} placeholder) for customizing the dialectic prompts used in Reasoning mode.
Peer Observability
By default, only the user peer accumulates derived memory — Honcho observes the user’s messages and derives conclusions across sessions. The AI character’s persona comes from its character card, not from peer derivation.Peer Modes and Session Naming
Peer mode controls memory partitioning; session naming controls conversation partitioning. Pair them to get the isolation you want.
Session IDs are frozen once assigned. Changing the naming mode, the custom session name, or the character name only affects new chats — existing chats stay linked to their original Honcho session so history, summaries, and derivations don’t fragment.
The Active session field in the panel is read-only. To start fresh, hit Reset next to it — the current session gets orphaned (messages stay in Honcho, the chat unlinks) and a new session starts on the next message.
Group Chats
Group chats register one peer per character, not a single collapsedgroup-<id> peer. Each character’s messages land under their own peer, so their derived representations stay distinct. Characters who join mid-chat get lazy-added to the session on their first message.
Global Config (Multi-Tool Setups)
If you already use Honcho with other tools (Claude Code, Cursor, Hermes), the extension reads from~/.honcho/config.json on startup.
Resolution order for apiKey, workspace, and peerName:
hosts.sillytavern.<field>(host-specific override)- Root-level
<field>(shared default across tools) - For
apiKeyonly: fall through to the Extensions-panel key (SillyTavern’s secret manager), which takes priority at request time — entering one in the UI overrides the file without touching it.
hosts.sillytavern.*. The extension never mutates other tools’ entries. Panel edits for Workspace ID and peer name save back to hosts.sillytavern.workspace and hosts.sillytavern.peerName respectively (debounced). Empty values clear the host override and fall through to the root value.
Flat form (single-tool setup):
Troubleshooting
Next Steps
Install SillyTavern
New to SillyTavern? Start here — install guide for macOS, Linux, Windows, Docker.
Agent Skill for Setup
Agent-assisted install — idempotent, structural patches, end-to-end verification.
GitHub Repository
Source code, issues, and install scripts.
Honcho Architecture
Learn about peers, sessions, and dialectic reasoning.