1. Start your Hermes backend
API_SERVER_ENABLED=true hermes gateway start
Hermes
Agent
Open Source • MIT License • 7.9 MB Static Binary • Zero-CGO
You already love Hermes. Now run it through a surgical Go host that cuts startup tax, isolates platform adapters, and keeps the hot path typed.
Today's trunk ships a Go-native tool registry, Route-B reconnect, a 16 ms replace-latest kernel mailbox, and a split-binary Telegram Scout. Phase 2.C adds thin bbolt session resume without pretending the SQLite memory lattice has already landed.
Run Gormes Read the Roadmap View on GitHub
Phase 2 is live on trunk: 2.A Tool Registry, 2.B.1 Telegram Scout, and 2.C thin bbolt resume are shipped. Python still owns transcript memory until Phase 3.
API_SERVER_ENABLED=true hermes gateway start
cd gormes
make build
./bin/gormes doctor --offline
./bin/gormes
GORMES_TELEGRAM_TOKEN=... GORMES_TELEGRAM_CHAT_ID=123456789 ./bin/gormes-telegram
$ ./bin/gormes
Gormes
❯ Verify the registry is alive. Give me the current UTC time and a random canary number.
status connected to Hermes backend
tool now
tool rand_int
UTC time captured and canary 731 generated.
Operational Moat
The terminal binary stays small, static, and isolated from platform SDK drift while the hot path remains Go-native.
Tool Registry
The kernel accumulates streamed tool calls, executes built-ins in-process, and lets doctor validate the schema surface before tokens are spent.
Route-B
Dropped SSE streams are treated as an engineering problem. Reconnect and coalescing keep the latest useful state alive under pressure.
Telegram Scout
Telegram lives in its own binary with a 1-second edit coalescer, preserving dependency, crash, and binary-size isolation from the TUI.
Phase 2.C
bbolt stores only session handles. Python still owns transcript memory and prompt assembly until the Phase 3 lattice and later brain work land.
Gormes is not a mockup. Phase 1 established the kernel shell; Phase 2 has already shipped Go-native tools, Telegram, and thin session resume. Phase 3 is still the real memory handoff.
Complete. A Go Bubble Tea interface over the existing Hermes backend with the deterministic kernel, Route-B resilience, and the moat story in place.
In progress. 2.A Tool Registry, 2.B.1 Telegram Scout, and 2.C thin bbolt session mapping are already shipped on trunk.
Planned. SQLite + FTS5 transcript memory and the real lattice live here; the current bbolt layer stores only session handles.
Planned. Native agent orchestration and prompt-building move into Go after the memory boundary is real.
Remaining Python dependencies are removed and Hermes runs as a fully native Go system.
Phase 2 is active on trunk. The next hard problems are finishing the wiring harness, landing the SQLite memory lattice, and cutting Python out of the brain path.