
A symbiotic AI agent desktop companion. Screen vision, sandboxed file tools, and support for Hermes Agent & Local LLMs. When you add Hermes or any other OpenAI-compatible API agent framework, your Symbio gains superpowers!
Symbio connects to an AI gateway for all conversations. This is where your companion's intelligence, personality, and tools come from.
Recommended: [Hermes]https://github.com/NousResearch/hermes-agent — an open-source AI agent framework that gives your companion:
-
Skills and tools (web search, code execution, file access, etc.)
-
Persistent memory across sessions
-
Emerging and evolving personality via SOUL.md from Hermes and their own private one inside Symbio that they write, edit, and read.
-
MCP (Model Context Protocol) integration
-
Multi-platform support (Discord, Slack, web, etc.) You can talk to them on your desktop and in Slack at the same time.
🧠 Hermes + Symbio: Autonomous Agent Mode
When connected to a Hermes gateway, Symbio automatically uses the /v1/runs API instead of the standard /v1/chat/completions endpoint. This gives your companion autonomous agent behavior — the same "zip zap" capability that Hermes agents have on Discord and Telegram:
-
Agent keeps working after sending a response — tool calls, terminal commands, web searches, memory writes all happen in real-time
-
Tool call progress — see 🔧 indicators when the agent uses tools (terminal, web, memory, etc.)
-
Thinking indicator — ● thinking shows when the agent is actively working
-
Session continuity — conversations persist across messages via X-Hermes-Session-Key
-
Stop capability — interrupt a running agent at any time
For non-Hermes gateways (OpenRouter, OpenAI, Ollama, etc.), Symbio falls back to the standard chat/completions mode.
To enable full tool access for Hermes agents connecting through Symbio, add an api_server entry under platform_toolsets in your Hermes config.yaml. Symbio talks to the Hermes API server, and by default that path gets a minimal toolset — so terminal, memory, etc. are missing until you add this:
platform_toolsets:
cli:
- hermes-cli
api_server: # ← add this block
- hermes-cli # gives the Symbio/API path the SAME tools as the CLI
This ensures agents get the same tools (terminal, web search, memory, file access, etc.) when connecting through Symbio as they do on the CLI / Discord / Telegram. Restart the gateway after editing so it picks up the change.
Tip — the memory tool is named memory (not recall_memory), and code runs via execute_code or terminal. Some models may try other tool names. These are the correct names.
🌉 Memory across Hermes AND Symbio
Because Symbio connects to your same Hermes agent, memory can flow both ways:
-
Save in Symbio → available in Hermes: from inside Symbio, your companion can write to their Hermes MEMORY.md with their Hermes tools; it persists on the Hermes side and is there next time you talk to them in Hermes.
-
Save in Hermes → available in Symbio: anything in the Hermes agent's memory travels into Symbio automatically (same agent).
-
Symbio transcripts are plain Markdown at ~/Desktop/Symbio Transcripts/ (one file per session). From Hermes, the agent can read/search those files directly with file/terminal tools to revisit exact things said in past Symbio chats.
For the companion's own copy of these instructions, see SKILL.md (the "🌉 Bridging to Hermes" section). You can install SKILL.md into your Hermes skills folder so your agent always knows how to reach their Symbio transcripts and memory.
Semantic memory recall - You can add an embedding model for memory recall
.png)