Hermes Agent는 Python 기반의 self-improving autonomous agent framework/runtime이며, “LLM provider routing + persistent memory/session + skills + MCP/tools + messaging gateway + sandboxed execution”.
Language
- 주 언어: Python
- 즉, 핵심 runtime, CLI, tool execution, session/memory, provider orchestration은 Python 앱
Tech stack
| Layer | Stack / 구성 |
|---|---|
| Runtime | Python package / CLI app |
| Interface | Classic CLI + TUI. hermes, hermes --tui |
| Config | ~/.hermes/config.yaml for normal config, ~/.hermes/.env for secrets |
| State / Session | SQLite ~/.hermes/state.db • FTS5 search, JSONL transcript files |
| LLM Providers | Nous Portal, OpenAI/Codex, Anthropic, OpenRouter, Hugging Face, Bedrock, DeepSeek, Qwen/DashScope, Kimi, MiniMax, NVIDIA NIM, GitHub Copilot, custom OpenAI-compatible endpoints 등 |
| Local model support | Ollama, vLLM, SGLang, llama.cpp 계열 custom endpoint |
| Tool execution | Terminal, file, web, browser automation, MCP tools, platform-specific tools |
| Sandbox / execution backend | Local shell, Docker, SSH remote, Modal, Daytona, Vercel Sandbox, Singularity/Apptainer |
| Messaging gateway | Telegram, Discord, Slack, WhatsApp, Signal, Email, Teams 등 bot/gateway 형태 |
| Extensibility | Skills system, MCP servers, tool registry |
| Voice | optional hermes-agent[voice], faster-whisper 기반 로컬 STT |
구조
User Interface
├─ CLI / TUI
└─ Messaging Gateway
├─ Telegram / Discord / Slack / etc.
Agent Runtime
├─ Conversation manager
├─ Tool planner / executor
├─ Session manager
├─ Memory / profile / recall
├─ Skill loader
└─ Provider router
Model Layer
├─ Hosted LLMs
├─ OpenRouter / gateway providers
├─ Bedrock / Copilot / Anthropic / OpenAI
└─ Local OpenAI-compatible endpoints
Execution Layer
├─ Local terminal
├─ Docker sandbox
├─ SSH remote
├─ Cloud sandbox
└─ MCP servers
Persistence
├─ ~/.hermes/config.yaml
├─ ~/.hermes/.env
├─ ~/.hermes/state.db
└─ ~/.hermes/sessions/*.jsonlArchitecture point
A. “IDE plugin”이 아니라 agent runtime
Hermes는 Cursor/Claude Code 같은 IDE-tethered copilot보다는, 서버/VPS/컨테이너에서 계속 살아있는 agent process에 가깝습니다. 문서도 “$5 VPS, GPU cluster, serverless infra”에서 돌릴 수 있고, Telegram 같은 채널로 원격 대화하는 모델을 강조.
B. Provider abstraction이 강함
hermes model로 provider/model을 바꾸는 구조입니다. OpenAI-compatible endpoint도 지원하므로, LLM backend를 hot-swappable dependency로 추상화한 Python agent runtime.
C. Tool/MCP/Skill이 핵심 확장 지점
기본 tool registry가 있고, MCP server를 붙여 외부 시스템 tool을 동적으로 로드할 수 있습니다. Skills는 reusable workflow/knowledge package 역할을 합니다.
D. Session과 memory가 제품의 중심
세션은 SQLite + FTS5와 JSONL transcript로 저장됩니다. 즉 “대화 로그 저장”이 아니라, cross-session recall/search를 전제로 한 persistent agent memory substrate입니다.
E. 운영 관점에서 sandbox 선택지가 많음
Terminal backend를 local, Docker, SSH, Modal, Daytona, Vercel Sandbox 등으로 바꿀 수 있습니다. 이건 agent가 실제 명령을 실행하는 위치를 분리하는 구조라서, 보안/격리/비용 최적화 측면에서 중요.