Guide
Hermes Agent + Honcho: Theory-of-Mind Memory for Hermes
Hermes Agent gives you terminal-grade agent capability with built-in workspace memory. Honcho adds something different: persistent, theory-of-mind personalization per user, across sessions. This guide shows how to combine them.
What Is Honcho?
Honcho from Plastic Labs is a personalization memory layer for AI agents. Instead of just summarizing past messages, Honcho builds a representation of each user — preferences, beliefs, communication style — and updates it as the agent learns more. Open-source, self-hostable, and provider-agnostic.
Why Combine It With Hermes?
Hermes Agent has strong workspace memory: file system, embedding search, conversation history. What Hermes doesn't do natively is build a theory of mind — an evolving model of who each user is and what they want. Honcho fills that gap.
The combination:
- Hermes handles the chat surface, tool calls, file work, and shell access.
- Honcho persists user-level personality, preferences, and history across sessions.
- Hermes calls Honcho via its
HONCHO_API_KEY+HONCHO_APP_IDenvironment variables (or via a custom skill / MCP server).
Option 1: Hermes on OpenClaw Launch (Easiest)
Hermes Hosting on OpenClaw Launch gives you a managed Hermes container with $HOME/.hermes persistence built in. To wire Honcho:
- Deploy a Hermes instance from openclawlaunch.com/hermes-hosting.
- Open your container shell from the dashboard.
- Set Honcho env vars in
~/.hermes/.env:
HONCHO_API_KEY=ph_...
HONCHO_APP_ID=hermes-bot
HONCHO_BASE_URL=https://demo.honcho.dev- Add a small skill or MCP tool that calls Honcho on each user message:
# pseudocode inside a Hermes tool/skill
context = honcho.get_user_context(user_id)
hermes.system_prompt += f"\nUser context: {context}"
honcho.observe(user_id, latest_message)Option 2: Self-Hosted Hermes
export HONCHO_API_KEY=ph_...
export HONCHO_APP_ID=hermes-bot
# In hermes config.yaml
tools:
mcp:
- name: honcho
command: npx
args: ["-y", "@honcho-ai/mcp-server"]The Honcho MCP server exposes get_user_representation and observe_message tools that Hermes can call automatically once they're registered.
Workflow: How a Personalized Hermes Conversation Looks
- User sends a message via Telegram/Discord/web chat into Hermes.
- Hermes's pre-prompt hook calls
honcho.get_user_representation(user_id). - Hermes injects the user's persona/preferences into the system prompt.
- Hermes reasons + replies with the persona context applied.
- Hermes's post-prompt hook calls
honcho.observe(user_id, exchange). - Honcho updates its theory of mind for that user.
When to Use Honcho With Hermes
- You run a Hermes bot for multiple users (community, customer support, team)
- You want the agent to remember preferences across days/weeks
- You need personalization beyond raw conversation history (preferences, beliefs, tone)
- You're building a long-running personal assistant that should "know" the user better over time
Hermes's Built-In Memory vs Honcho
| Hermes Built-In | Honcho | |
|---|---|---|
| Scope | Conversation + workspace files | Per-user persona/beliefs |
| Storage | Local container | Honcho service (hosted or self-hosted) |
| Recall mechanism | Embedding search over chat history | Inferred user representation |
| Best for | Single-user agents, project context | Multi-user personalization |
What's Next?
- Hermes Agent Memory — built-in memory features and how they work
- Hermes Agent + MCP — how to wire MCP servers into Hermes
- OpenClaw vs Honcho — when to pick which
- Hermes Agent Skills — build a custom skill that calls Honcho directly