Hermes AI Agent
Autonomous agent runtime with persistent memory, tool execution, and multi-provider reasoning, operated through Telegram.
Overview
Hermes is an agent runtime built around a single idea: an agent is only useful in production if it can remember what it did, recover when a tool fails, and be driven from wherever you already are. It runs as a long-lived service and is operated conversationally through Telegram.
Problem
A raw LLM call forgets everything between requests and has no way to act. Wiring one into a chat interface gets you a demo, not a system: there is no memory across sessions, no retry path when a tool errors, and a single provider outage takes the whole thing down.
Solution
A planning loop sits between the model and its tools. Each turn is persisted to SQLite so context survives restarts, tool calls are dispatched through a registry with explicit schemas, and provider selection sits behind an abstraction so Claude, Gemini, and OpenRouter are interchangeable at runtime.
Architecture
A FastAPI service exposes the agent over HTTP and receives Telegram webhooks. The reasoning loop, tool registry, and provider adapters are separate modules, so a new tool or provider is added without touching the loop. State lives in SQLite; the whole service is containerised for deployment.
Key features
- Persistent conversation memory across restarts
- Tool registry with typed schemas and validated arguments
- Multi-provider reasoning with runtime provider selection
- Telegram as the operator interface
- Structured error handling with retry and fallback paths
- Containerised single-service deployment
Technology stack
Current status
Running privately. The source is not public and there is no hosted demo, so there is nothing to link here yet — the architecture description above is what I can share.
Links
No public repository or deployment for this project yet, so there is nothing to link here. I would rather leave this empty than point at something that does not exist — happy to talk through the work directly. Get in touch.