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

구조

plain text
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/*.jsonl

Architecture 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가 실제 명령을 실행하는 위치를 분리하는 구조라서, 보안/격리/비용 최적화 측면에서 중요.