Hermes Agent: 실무자를 위한 레퍼런스 (2026)
# Nous Research의 오픈 소스 자기 개선형 AI agent인 Hermes Agent에 대한 실무자용 레퍼런스입니다. provider 인증과 OAuth, 설정 파일, skills 시스템, 멀티 플랫폼 메시징 게이트웨이로 실행하는 방법을 다룹니다.
요약: Hermes Agent는 Nous Research가 만든 오픈소스 자기 개선형 AI agent입니다. CLI로 실행되고 멀티 플랫폼 messaging gateway로도 작동하며, 디스크에 오래 유지되는 identity와 persistent memory를 저장하고, 사용할수록 개선되는 skill을 모으며, OpenAI와 호환되는 어떤 LLM provider와도 함께 사용할 수 있습니다. Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok, 또는 직접 self-hosted endpoint를 사용할 수 있습니다.1219 v0.14.0(2026년 5월 16일) 기준으로 Hermes에는 grok-4.3 1M context를 지원하는 SuperGrok OAuth, OAuth provider용 OpenAI 호환 로컬 proxy(
hermes proxy), 일급x_search, PyPI 설치 지원, lazy dependency 설치, LINE과 SimpleX Chat을 포함한 22개 messaging platform,/handoff, 쓰기 후 LSP semantic diagnostics, 통합video_generate, Anthropic가 아닌 provider용 cua-driver 기반computer_use, native Windows beta, 그리고 12개 P0 / 50개 P1 종료 항목이 추가되었습니다.19 대부분의 신규 사용자에게 가장 어려운 부분은 provider 인증입니다. Hermes는 약 20개의 일급 provider와 custom endpoint를 지원하며, 인증 경로도 3가지(API key in.env,hermes model을 통한 OAuth, 또는config.yaml의 custom endpoint)로 나뉩니다. 먼저 익혀야 할 부분은 auth model입니다. 그 밖의 모든 동작은 어떤 provider가 resolve되는지에 따라 이어집니다.
Hermes Agent는 chat wrapper가 아니라 완전한 agent runtime으로 작동합니다. 파일 시스템을 읽고, sandboxed backend에서 명령을 실행하고, 웹을 스크랩하고, subagent를 생성하고, scheduled cron job을 실행하고, 단일 gateway process에서 Telegram/Discord/Slack/WhatsApp/Signal/Email과 대화하며, 경험을 바탕으로 자체 skill을 만듭니다.1 CLI는 run_agent.py의 conversation loop 위에 구축된 terminal UI이고, gateway는 messaging platform의 메시지를 같은 conversation loop로 라우팅하는 장기 실행 프로세스입니다.3
가볍게 쓰는 Hermes와 전문가 수준으로 쓰는 Hermes의 차이는 5가지 시스템을 얼마나 이해하느냐에 달려 있습니다. 이 시스템을 익히면 Hermes는 강력한 생산성 배율 장치가 됩니다.
- Provider resolution: auth flow가 API 호출에 매핑되는 방식
- Configuration hierarchy:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Tool + toolset system: agent가 무엇을 할 수 있는지, platform별로 어떻게 제한되는지
- Skills system: agent가 만들고 발전시키는 절차적 memory
- Gateway + cron + profiles: 지금 있는 곳뿐 아니라 실제로 생활하는 곳에서 Hermes를 실행하는 방식
핵심 요점
- Provider auth는 하나가 아니라 3가지 경로입니다.
.env의 API key,hermes model/hermes auth를 통한 OAuth, 또는config.yaml의 custom endpoint입니다. 익숙해 보이는 경로가 아니라 provider에 맞는 경로를 선택하세요. - Provider 전환은 명령 하나로 끝납니다.
hermes model은 OAuth 로그인을 포함해 지원되는 모든 provider를 대화형으로 안내하고,/model provider:model은 history를 잃지 않고 session 중간에 전환합니다.2 - 사용자가 편집하는 config 표면은 2개 파일입니다.
~/.hermes/config.yaml에는 설정이 있고~/.hermes/.env에는 secret이 있습니다.auth.json,SOUL.md,MEMORY.md,skills/는 Hermes가 직접 관리합니다.SOUL.md는 직접 편집할 수 있지만, 나머지는 agent 자체가 다룹니다.4 - Hermes는 OpenClaw의 후속입니다. 마이그레이션 중이라면
hermes claw migrate가 30개 이상의 state 카테고리를 자동으로 가져옵니다.5 - 서비스 품질은 auxiliary model에 달려 있습니다. Vision, web summarization, compression, memory flush는 모두 별도의 auxiliary LLM을 사용합니다. 기본값은 자동 감지(OpenRouter → Nous → Codex)를 통한 Gemini Flash입니다. 이 중 아무것도 설정되어 있지 않으면, auxiliary slot을 main provider로 지정할 때까지 이 기능들은 조용히 성능이 저하됩니다.4
v0.14에서 바뀐 점
v0.14.0은 하나의 대표 기능보다, Hermes가 실행될 수 있는 범위를 넓히면서 설정 부담을 줄이는 데 초점이 있습니다.19 주요 운영 변경 사항은 다음과 같습니다.
- 설치와 시작이 더 가벼워졌습니다.
pip install hermes-agent로 PyPI에서 설치할 수 있고, 무거운 adapter는 처음 사용할 때 lazy-install되며, 실행 경로가 충분한 작업을 뒤로 미뤄 cold start를 약 19초 줄입니다. - 구독 서비스를 로컬 API endpoint로 만들 수 있습니다.
hermes proxy는 Claude Pro, ChatGPT Pro, SuperGrok 같은 OAuth 기반 provider를 Codex, Aider, Cline, Continue 같은 도구에서 쓸 수 있는 OpenAI 호환 로컬 endpoint로 바꿉니다. - Gateway 지원 범위가 넓어졌습니다. LINE과 SimpleX Chat이 추가되어 platform 수가 22개가 되었고, Microsoft Teams는 end-to-end로 연결되었으며, Discord history backfill은 기본값으로 켜져 있고, Telegram/Discord
clarifyprompt는 이제 native button을 사용합니다. - 쓰기 시점 검증이 개선되었습니다. 편집 후 Hermes는 다음 turn 전에 turn별 file-mutation summary와 language-server semantic diagnostics를 표시할 수 있어, evidence-driven agent work에 더 가까워졌습니다.
- Desktop 및 media tooling이 확장되었습니다.
computer_use는 Anthropic가 아닌 provider에서 cua-driver를 통해 작동하고,video_generate는 pluggable backend 뒤에서 통합되었으며,vision_analyze는 실제로 볼 수 있는 model에 raw pixel을 보냅니다.
아래의 모든 섹션은 hermes-agent.nousresearch.com/docs의 upstream documentation과 github.com/NousResearch/hermes-agent의 source tree를 기반으로 합니다. 모든 사실 주장은 해당 내용이 나온 구체적인 upstream page를 가리키는 footnote를 포함합니다.
경로 선택하기
| 필요한 것 | 이동할 곳 |
|---|---|
| Hermes 설치 | Installation — 한 줄 installer 또는 manual steps |
| Provider에 로그인 | Authentication & Providers — 이 글을 찾은 이유가 되는 섹션 |
| Session 중간에 model 전환 | The hermes auth Command 및 /model syntax를 위한 Custom & Self-Hosted Endpoints |
| 로컬 LLM 실행 | Custom & Self-Hosted Endpoints — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Messaging platform 연결 | Messaging Gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat(총 22개) |
| Skill 작성 또는 설치 | Skills System — progressive disclosure + skill hub |
| 모든 CLI command에 대한 상세 reference | 계속 읽어 보세요. 그리고 CLI Commands로 직접 연결하세요 |
Hermes 작동 방식: Mental Model
Hermes는 모든 진입점에서 호출할 수 있는 하나의 대화 루프를 중심으로 구성되어 있습니다. 진입점은 CLI(cli.py), messaging gateway(gateway/run.py), 에디터 통합을 위한 ACP adapter, batch runner, API 서버입니다.3 이들은 결국 모두 run_agent.py의 AIAgent.run_conversation()을 호출하며, 이 함수는 다음을 수행합니다.
prompt_builder.py를 통해SOUL.md,MEMORY.md,USER.md, skills, context files, tool guidance에서 system prompt를 구성합니다.3runtime_provider.py를 통해 runtime provider를 결정합니다. 이 단계에서 auth, base URL, API mode가 선택됩니다.3- 세 가지 API mode 중 하나인
chat_completions,codex_responses,anthropic_messages를 사용해 provider를 호출합니다.3 - 반환된 tool calls를
model_tools.py와 중앙 tool registry(tools/registry.py)를 통해 dispatch합니다.3 - 모델이 최종 응답을 생성할 때까지 루프를 반복한 뒤, 세션을 FTS5가 포함된 SQLite에 저장합니다.3
이 루프를 이해하는 것이 중요한 이유는 personalities, memory, skills, compression, fallback 같은 모든 기능이 이 단계 중 하나에 연결되기 때문입니다. config key를 읽다가 “이게 무엇을 하는 설정이지?”라고 궁금해진다면, 답은 대개 “위 루프의 1, 2, 3, 4단계 중 하나를 조정하는 knob”입니다.
플랫폼에 독립적인 core. 하나의 AIAgent 클래스가 CLI, gateway, ACP, batch, API 서버를 모두 담당합니다. 플랫폼별 차이는 entry point에 있고, agent 자체에는 없습니다.3 그래서 terminal과 Telegram에서 같은 slash commands가 작동합니다. 이 명령들은 hermes_cli/commands.py의 공유 COMMAND_REGISTRY에서 dispatch됩니다.6
디렉터리 구조가 곧 시스템입니다. Hermes는 모든 것을 ~/.hermes/ 아래에 저장합니다. 기본값이 아닌 profile에서는 $HERMES_HOME을 사용합니다.4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
위의 각 파일은 고유한 역할을 가지며 서로 겹치지 않습니다. “Hermes가 X를 어디에 저장하지?”를 찾고 있다면, 답은 이 중 하나입니다.
v0.18.0의 새로운 기능(The Judgment Release)
Hermes Agent v0.18.0(tag v2026.7.1, 2026년 7월 1일)은 judgment를 중심으로 이름이 붙었습니다. agent가 성공을 주장하는 대신 자신의 작업을 검증하고, 실제로 들여다볼 수 있는 ensemble reasoning을 제공한다는 의미입니다. 또한 전체 P0/P1 backlog도 마무리했습니다. 약 692개의 최우선 항목이 12일 만에 해결되었습니다.22
- First-class model이 된 Mixture-of-Agents. 이제 MoA는 모든 interface에서 다른 model처럼 선택할 수 있으며, ensemble reasoning도 보입니다. 각 reference model의 전체 출력이 live answer streaming과 함께 자체 label이 붙은 block으로 렌더링됩니다. 불투명하게 병합된 답을 받는 대신 ensemble이 생각하는 과정을 지켜볼 수 있습니다.22
/goal용 completion contracts. agent는 목표 완료를 보고하기 전에 프로젝트의 checks를 실행해 자신의 작업을 검증합니다. 성공을 주장하는 대신, judgment를 스스로에게 적용합니다.22/learn— 무엇이든 설명해 skill로 만들기. workflow를 설명하면 재사용 가능한 skill로 바꿀 수 있습니다. 생성된 skills는 repo의 CONTRIBUTING.md 규칙을 자동으로 따릅니다.22/journeytimeline. 시간에 따른 memory와 skills의 시각적 기록을 제공하며, 편집 기능과 desktop의 memory graph도 포함됩니다.22- Background subagent fan-out. 대화를 막지 않고 동시에 실행되는 여러 task를 위임할 수 있습니다. v0.17.0의 단일 background subagent가 fleet으로 확장됩니다.22
- Desktop Projects. project/repo/lane 조직 모델을 갖춘 first-class coding Projects가 추가되었습니다.22
- Scale-to-zero gateway. gateway는 유휴 상태일 때 dormant 상태가 될 수 있고, seamless deployment를 위해 drains를 조율할 수 있습니다. Hermes를 always-on service로 운영하는 사람에게 의미 있는 변화입니다.22
- Google Vertex AI 지원. GCP service account를 통한 Gemini access와 자동 OAuth2 token refresh가 provider catalog에 추가되었습니다.22
/prompteditor command. input line과 씨름하지 않고$EDITOR를 열어 multi-line prompts를 작성할 수 있습니다.22
v0.17.x에서 업그레이드하는 경우, 여기서 CLI를 깨는 변경은 없습니다. 업그레이드해야 할 핵심 이유는 completion contracts(스스로 검증하는 goals), inspect 가능한 ensemble을 갖춘 first-class MoA, skill capture를 위한 /learn입니다.
v0.17.0의 새로운 기능(The Reach Release)
Hermes Agent v0.17.0(tag v2026.6.19, 2026년 6월 19일)은 agent가 이제 얼마나 멀리 도달할 수 있는지를 기준으로 이름이 붙었습니다. 새로운 messaging channels, 새로운 model providers, 더 깊어진 desktop 및 dashboard 제어가 포함됩니다. v0.16.x 위에 더해지는 additive release이며, CLI surface는 변경되지 않았습니다.21
- 새 messaging channels. iMessage는 이제 Mac relay 없이 Photon Spectrum을 통해 작동합니다(device-code OAuth,
hermes photon login). WhatsApp Business Cloud API는 bridge-process 요구 사항을 대체하는 공식 Meta adapter입니다. SimpleX에는 groups, native attachments, text batching, auto-accept가 추가되었습니다. Raft는 privacy-by-contract wake-channel 설계를 갖춘 bundled platform plugin으로 합류했습니다.21 - 새 models 및 providers. catalog에
z-ai/glm-5.2(1M context),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(xAI OAuth를 통한 Cursor의 model, 200k context)가 추가되었습니다. xAI 기본값은grok-build-0.1로 이동했으며, Anthropic adaptive models는 이제 modern thinking contract를 따릅니다(reasoningfield를 절대 보내지 않습니다).21 - Desktop 및 dashboard. Desktop에는 delegated activity를 live “watch-windows”로 streaming하는 background subagents(
delegate_task(background=true)), Composer model selector, 재바인딩 가능한 keyboard shortcuts, native OS notifications, thread별 composer drafts, VS Code Marketplace themes, 일본어 및 번체 중국어 UI가 추가되었습니다. dashboard에는 full profile builder(config.yaml을 편집하지 않고 model/skills/MCPs 설정), global profile switcher, security scan이 포함된 재작업된 Skills Hub, Automation Blueprints(form, slash command, conversation, docs 전반의 parameterized templates), OAuth gate 뒤에서 401을 반환하는 secure login이 추가되었습니다.21 - Skills 및 tools. 이제
image_generate는 지원되는 모든 image provider에서 source image를 처음부터 생성할 뿐 아니라 edit 및 transform할 수 있습니다.memorytool에는 단일 호출에서 atomic batch add/replace/remove를 처리하는operationsarray가 추가되었습니다. 새로운simplify-codeskill은 Chesterton’s-Fence risk tier로 gate되는 parallel three-agent review-and-cleanup pass를 실행합니다. booleanwrite_approval이 tri-statewrite_mode를 대체합니다.21 - Architecture. Background subagents는 즉시 handle을 반환하고, 결과를 새 turn으로 다시 입력합니다. MCP elicitation handler는 tool-call 중간 확인을 허용하며, 늦게 연결되는 MCP tools는 turn 사이에 노출됩니다(cache-safe). cron은 Chronos managed-cron provider를 갖춘 pluggable CronScheduler가 됩니다. 새로운 Managed scope(
/etc/hermes)를 통해 관리자는 user-immutable config를 고정할 수 있으며, multi-gateway topologies를 위한 Gateway-Gateway relay도 함께 제공됩니다.21 - 새 commands.
/version,/billing(interactive terminal billing),hermes photon login(iMessage auth),hermes curator run --consolidate가 추가되었습니다. consolidation은 이제 opt-in이므로, 일반적인 background curation은 token 비용이 0입니다.21 - Security. v0.17.0은 shell-escape denylist bypass를 막고, approval modules 및 own-policy gateway adapters가 누락되면 fail closed로 처리하며, cron job-script subprocess의 environment를 sanitize하고, request debug dumps에서 secrets를 redact하며, MCP stdio configs의 exfil patterns를 검사하고, urllib3와 PyJWT를 업데이트해 CVEs를 해결합니다.21
v0.16.x에서 업그레이드하는 경우, 여기서 CLI를 깨는 변경은 없습니다. 같은 agent를 둘러싼 새로운 channels, models, surfaces가 추가된 것입니다. relay-free iMessage, 공식 WhatsApp adapters, 관리자용 Managed scope가 업그레이드의 핵심 이유입니다.
v0.16.0의 새로운 기능 (Surface Release)
Hermes Agent v0.16.0(태그 v2026.6.5, 2026년 6월 5일)은 CLI 우선 agent 앞에 새로 배치한 surface에서 이름을 따왔습니다. 핵심은 Hermes가 더 이상 터미널 전용이 아니라는 점입니다.20
- 네이티브 데스크톱 앱. Hermes Desktop은 macOS, Linux, Windows용 새 Electron 앱으로, 원클릭 설치와 앱 내 자체 업데이트를 지원합니다. 스트리밍 채팅 창, 드래그 앤 드롭 파일, 클립보드 이미지 붙여넣기,
Cmd+K팔레트, 보관 및 검색 기능이 있는 세션 목록, 상태 표시줄 모델 선택기를 제공합니다. 보안 WebSocket을 통해 원격 Hermes gateway에 연결할 수 있으며, OAuth 또는 사용자 이름/비밀번호로 인증합니다. profile별 원격 호스트와, cross-profile@session참조로 연결되는 동시 multi-profile 세션도 지원합니다. 데스크톱 UI는 typed i18n 레이어(display.language; 기본값은 영어)를 통해 전체 중국어 간체(简体中文) 번역도 함께 제공합니다.20 - 브라우저 admin 패널. 로컬 웹 dashboard는 상태 보기에서 전체 관리 패널로 발전했습니다. MCP catalog와 enable/disable 토글, credential 관리, webhook 및 hook 생성, memory 설정, gateway 제어, 업데이트 전 점검과 원클릭 Debug Share가 있는 System 페이지를 제공합니다. 새 Channels 페이지에서는 모든 gateway messaging platform(Telegram, Discord, Slack 등)을 브라우저에서 설정할 수 있습니다. Auth는 이제 플러그형입니다. 사용자 이름/비밀번호 로그인, 일반 self-hosted OIDC provider, self-hosted OAuth client를 위한
hermes dashboard register, refresh-token 세션 로테이션을 지원합니다.20 - 새 CLI 및 slash command.
/undo [N]은 prefill과 soft-delete로 마지막 N개의 사용자 턴을 되돌리며, CLI, TUI, messaging platform 전반에서 작동합니다. 설정 가능한 기본 인터페이스(clivstui)가 추가되었고--clioverride도 지원합니다. TUI에는 통합/modelcommand와 Sessions overlay가 추가되었습니다.hermes portal은 Nous Portal 온보딩 플로의 사람이 읽기 쉬운 alias이며, 첫 실행 경로로 Quick Setup과 Full Setup이 새로 추가되었습니다. 진단 기능으로는hermes prompt-size와hermes sessions optimize가 도입되었습니다.20 - 새 모델과 provider. 선택기에
deepseek-v4-flash,MiniMax-M3(1M context, 네이티브 MiniMax provider),qwen3.7-plus(Nous + OpenRouter),gemini-3.5-flash(Gemini OAuth + API key)가 추가되었습니다. first-class xAI Grok OAuth provider가 데스크톱 런처에 합류했고, 모델 선택기는 모든 surface에서 fuzzy 검색을 지원하게 되었습니다. multi-endpoint provider는 한 행으로 묶이며, catalog refresh 주기는 매일에서 매시간으로 변경되었습니다.20 - 더 가벼운 skill과 progressive disclosure. 기본 skill 세트에서는 중복되거나 죽은 skill이 제거되었습니다(Spotify는 네이티브 plugin으로, Linear는
hermes mcp install linear로 이동했으며, 오래된 항목 몇 가지가 제거되었습니다). 더 많은 항목이 optional로 옮겨졌고, context-specific skill이 요청되기 전까지 index에 들어가지 않도록 하는environments:frontmatter relevance gate(kanban/docker/s6)가 추가되었습니다.NVIDIA/skills는 이제 OpenAI, Anthropic, HuggingFace와 함께 기본 신뢰 Skills Hub tap입니다. MCP 및 plugin tool에는 progressive(scoped) tool disclosure가 추가되었고, token을 얻지 못했는데도 OAuth 성공으로 잘못 보고하던 MCP 버그가 수정되었습니다.20 - 보안. v0.16.0은 CVE-2026-48710(BadHost)에 대응해 패치된 Starlette(≥1.0.1)를 고정하고, async 경로에서 SSRF URL 검사를 event loop 밖으로 옮기며, subprocess env에서 Bedrock inference bearer token을 제거합니다. 또한 파일 안전 read guard에
bws_cache.json을 추가하고, dangerous-pattern 목록에docker restart/stop/kill을 추가하며, 검증된 skill 콘텐츠에서 보이지 않는 유니코드를 sanitization합니다. 이번 릴리스에서는 2개의 P0 이슈와 62개의 P1 이슈가 닫혔고, 그중 16개는 security 태그가 붙어 있었습니다.20
v0.15.x에서 업그레이드하는 경우, 이 변경 사항들은 CLI 자체에 breaking change를 만들지 않습니다. 같은 agent 주변에 surface와 provider를 더하는 추가 변경입니다. 터미널을 쓰지 않는 사용자를 위해 Hermes를 실행하거나 브라우저에서 원격 gateway를 관리하고 싶다면, 데스크톱 앱과 admin 패널이 업그레이드할 이유입니다.
설치
대부분의 사용자에게는 one-line installer가 여전히 안내형 설치 경로입니다. 이 installer는 Python, uv, Node.js, ripgrep, ffmpeg, repo clone, virtual environment, 전역 hermes command를 처리합니다.7 v0.14.0부터는 실제 PyPI package도 제공되므로, 이미 Python environment를 직접 관리하고 있다면 pip install hermes-agent도 바로 설치할 수 있는 방법입니다.19
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
pip install hermes-agent
hermes
Linux, macOS, WSL2, Android/Termux에서 작동합니다(installer는 Termux를 자동 감지하고 테스트된 Android bundle로 전환합니다).7 v0.14.0에서는 PowerShell installer를 통한 네이티브 Windows 지원이 초기 beta로 추가되었지만, Windows 경로가 더 성숙해질 때까지 production 용도에는 WSL2가 더 안전한 권장 사항입니다.19
완료되면 다음을 실행하세요.
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
유일한 prerequisite는 git입니다. installer는 uv를 통해 Python 3.11을 자동으로 준비하고(sudo 필요 없음), Node.js v22(브라우저 자동화 및 WhatsApp bridge용), ripgrep, ffmpeg도 설치합니다.7
설치 확인
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor는 무엇이 누락되었고 어떻게 고칠 수 있는지 정확히 알려줍니다.7 hermes dump는 도움을 요청할 때 GitHub issue나 Discord thread에 붙여 넣는 진단 command입니다. secret이 redact된 전체 setup의 plain-text 요약입니다.8
수동 설치
custom Python version, 특정 extras, Nix/NixOS 통합처럼 전체 제어가 필요하다면, upstream installation guide에 수동 플로가 단계별로 문서화되어 있습니다.7 uv pip install -e ".[<extras>]"와 조합할 수 있는 주요 optional extras는 다음과 같습니다.
| Extra | 추가되는 항목 |
|---|---|
all |
아래 모든 항목 |
messaging |
Telegram 및 Discord gateway |
cron |
Cron expression parsing |
cli |
setup wizard용 터미널 메뉴 UI |
modal |
Modal cloud execution backend |
voice |
CLI microphone input + audio playback |
tts-premium |
ElevenLabs premium voices |
honcho |
AI-native memory(Honcho integration) |
mcp |
Model Context Protocol 지원 |
homeassistant |
Home Assistant integration |
acp |
ACP editor integration 지원 |
slack |
Slack messaging |
pty |
PTY terminal 지원(interactive CLI tools) |
dev |
pytest 및 test utilities |
termux |
테스트된 Android bundle(cron, cli, pty, mcp, honcho, acp 포함) |
Termux install command는 다릅니다. uv pip가 아니라 constraints file과 함께 pip를 사용합니다.
python -m pip install -e ".[termux]" -c constraints-termux.txt
Android에서 .[all]은 voice extra를 통해 faster-whisper를 가져오는데, 이 패키지가 Android용으로 게시되지 않은 ctranslate2 wheel에 의존하기 때문입니다.7
인증 및 Providers
Hermes는 약 19개의 일급 provider와 custom endpoint를 지원하며, 인증 경로는 3가지로 나뉩니다. 아래는 전체 인증 범위를 경로별로 정리한 내용입니다. 현재 가지고 있는 인증 방식에 맞는 경로를 찾을 수 있습니다.
3가지 인증 경로
Hermes의 모든 provider는 다음 3가지 인증 패턴 중 하나에 해당합니다.
경로 1 — .env의 API key. 키를 ~/.hermes/.env에 넣으면 Hermes가 시작 시 이를 읽습니다. OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax 및 MiniMax China, Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini, 대부분의 서드파티 provider에서 사용합니다.2
경로 2 — hermes model 또는 hermes auth를 통한 OAuth. 기기 코드 흐름을 시작하고, 브라우저를 열고, 자격 증명을 ~/.hermes/auth.json에 저장합니다. 또한 Claude Code 또는 Codex CLI 같은 도구의 기존 자격 증명을 가져올 수도 있습니다. Nous Portal, OpenAI Codex(ChatGPT 계정), GitHub Copilot, Anthropic(Claude Pro/Max)에서 사용합니다.2
경로 3 — config.yaml의 Custom endpoint. Ollama, vLLM, SGLang, llama.cpp, LM Studio, LiteLLM proxy, Together AI, Groq, Azure OpenAI 또는 직접 호스팅하는 서버처럼 OpenAI 호환 API라면 무엇이든 사용할 수 있습니다. hermes model → Custom endpoint로 한 번 설정하면 config.yaml에 저장됩니다.2
전체 Provider 매트릭스
각 provider의 정확한 설정 흐름을 포함한 일급 provider 전체 목록입니다.2
| Provider | 인증 경로 | 설정 |
|---|---|---|
| Nous Portal | OAuth | hermes model (OAuth 로그인, 구독 기반) |
| OpenAI Codex | OAuth | hermes model (ChatGPT 기기 코드, Codex 모델 사용) |
| GitHub Copilot | OAuth 또는 token | hermes model (OAuth 기기 코드), 또는 COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | 로컬 하위 프로세스 | hermes model (PATH에 copilot CLI 필요 + copilot login) |
| Anthropic | OAuth 또는 API key | hermes model (Claude Code 자격 증명 우선), 또는 ANTHROPIC_API_KEY, 또는 ANTHROPIC_TOKEN setup-token |
| OpenRouter | API key | ~/.hermes/.env의 OPENROUTER_API_KEY |
| AI Gateway (Vercel) | API key | ~/.hermes/.env의 AI_GATEWAY_API_KEY (provider: ai-gateway) |
| z.ai / GLM (ZhipuAI) | API key | ~/.hermes/.env의 GLM_API_KEY (provider: zai) |
| Kimi / Moonshot | API key | ~/.hermes/.env의 KIMI_API_KEY (provider: kimi-coding) |
| MiniMax (global) | API key | ~/.hermes/.env의 MINIMAX_API_KEY (provider: minimax) |
| MiniMax China | API key | ~/.hermes/.env의 MINIMAX_CN_API_KEY (provider: minimax-cn) |
| Alibaba Cloud (Qwen) | API key | ~/.hermes/.env의 DASHSCOPE_API_KEY (provider: alibaba, 별칭: dashscope, qwen) |
| Kilo Code | API key | ~/.hermes/.env의 KILOCODE_API_KEY (provider: kilocode) |
| OpenCode Zen | API key | ~/.hermes/.env의 OPENCODE_ZEN_API_KEY (provider: opencode-zen) |
| OpenCode Go | API key | ~/.hermes/.env의 OPENCODE_GO_API_KEY (provider: opencode-go) |
| DeepSeek | API key | ~/.hermes/.env의 DEEPSEEK_API_KEY (provider: deepseek) |
| Hugging Face | API key | ~/.hermes/.env의 HF_TOKEN (provider: huggingface, 별칭: hf) |
| Google / Gemini | API key | ~/.hermes/.env의 GOOGLE_API_KEY 또는 GEMINI_API_KEY (provider: gemini) |
| xAI (Grok) | 네이티브 provider / SuperGrok OAuth | 직접 API 접근과 모델 카탈로그를 갖춘 일급 provider입니다(v0.9.0+). v0.14.0에서는 SuperGrok OAuth가 추가되고, 권한이 있는 계정의 grok-4.3 컨텍스트 창이 1M으로 늘어납니다.21619 v0.17.0에서는 grok-composer-2.5-fast(xAI OAuth를 통한 Cursor 모델, 200k 컨텍스트)가 추가되고 xAI 기본값이 grok-build-0.1로 변경됩니다.21 |
| xAI Custom Voices | API key | 음성 복제를 지원하는 TTS provider입니다. v0.13.0에서 새로 추가되었습니다. config.yaml의 tts: 아래에 설정하고 .env에 xAI 키를 제공하세요.18 |
| Xiaomi MiMo | 네이티브 provider | 설정 마법사와 모델 카탈로그를 갖춘 일급 provider입니다. 보조 작업용 무료 MiMo v2 Pro는 Nous Portal에서 사용할 수 있습니다(v0.9.0+).1615 |
| Google AI Studio | API key | ~/.hermes/.env의 GOOGLE_API_KEY 또는 GEMINI_API_KEY. models.dev registry를 통해 컨텍스트 길이를 자동 감지하며 Gemini에 직접 접근합니다(v0.8.0+).15 |
| Qwen Cloud | OAuth | 포털 요청 지원이 있는 OAuth provider입니다(v0.8.0+). 이 provider는 v0.14.0에서 Alibaba Cloud에서 Qwen Cloud로 이름이 변경되었습니다. 기존 설정 키는 계속 작동합니다.1519 |
| Custom endpoint | config.yaml | hermes model → “Custom endpoint” (config.yaml에 저장됨) |
Anthropic: 3가지 인증 방식
Hermes가 Claude로 들어가는 3가지 경로를 지원하고, 올바른 경로 선택이 중요하기 때문에 Anthropic는 별도 섹션으로 다룹니다. 업스트림 문서에서는 다음과 같이 설명합니다.2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
hermes model을 통해 Anthropic OAuth를 선택하면 Hermes는 토큰을 ~/.hermes/.env로 복사하는 대신 Claude Code 자체 자격 증명 저장소를 우선 사용합니다. 이렇게 하면 갱신 가능한 Claude 자격 증명을 계속 갱신 가능한 상태로 유지할 수 있습니다.2 같은 머신에서 이미 Claude Code을 사용하고 있다면 이 경로가 가장 깔끔합니다.
config.yaml에 Anthropic를 영구 고정하려면 다음을 사용하세요.
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude와 --provider claude-code도 --provider anthropic의 축약형으로 작동합니다.2
GitHub Copilot: 2가지 모드
Copilot은 직접 Copilot API(권장)과 Copilot ACP(로컬 Copilot CLI를 하위 프로세스로 실행)의 2가지 모드를 지원합니다.2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
업스트림 문서에 따르면 인증은 다음 순서로 확인됩니다.2
1. COPILOT_GITHUB_TOKEN 환경 변수
2. GH_TOKEN 환경 변수
3. GITHUB_TOKEN 환경 변수
4. gh auth token CLI fallback
5. hermes model을 통한 OAuth 기기 코드 로그인
토큰 유형이 중요합니다. Copilot API는 기존 Personal Access Token(ghp_*)을 지원하지 않습니다. 지원되는 유형은 OAuth 토큰(gho_*), fine-grained PAT(Copilot Requests 권한이 있는 github_pat_*), GitHub App 토큰(ghu_*)입니다. gh auth token이 ghp_* 토큰을 반환한다면 대신 hermes model을 사용해 OAuth로 인증하세요.2
중국 AI Providers(일급 지원)
Hermes는 z.ai/GLM, Kimi/Moonshot, MiniMax(global + China endpoint), Alibaba Cloud를 전용 provider ID로 기본 지원합니다.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
기본 URL은 GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL, DASHSCOPE_BASE_URL 환경 변수로 재정의할 수 있습니다.2
Z.AI는 endpoint를 자동 감지합니다. z.ai/GLM provider를 사용할 때 Hermes는 여러 endpoint(global, China, coding 변형)를 탐색해 사용자의 API key를 허용하는 endpoint를 찾습니다. 작동하는 endpoint는 자동으로 캐시되므로 대부분의 사용자는 GLM_BASE_URL이 필요 없습니다.2
xAI (Grok)는 prompt caching을 자동으로 활성화합니다. 기본 URL에 x.ai가 포함되어 있으면 Hermes는 모든 요청에 x-grok-conv-id 헤더를 보내 대화 세션 안에서 같은 서버로 라우팅하고, 캐시된 시스템 프롬프트와 히스토리를 재사용합니다.2 자동으로 처리되며 설정은 필요 없습니다.
hermes auth 명령
hermes auth는 pool과 OAuth 자격 증명을 관리하는 명령입니다.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Credential pool은 같은 provider에 대해 여러 API key 또는 OAuth 토큰을 순환시키는 방식입니다. 코드를 바꾸지 않고 여러 키에 rate limit을 분산할 때 유용합니다.6 기존 hermes login / hermes logout 명령은 제거되었습니다. 대신 hermes auth를 사용하세요.6
Custom 및 Self-Hosted Endpoints
Hermes는 모든 OpenAI 호환 API endpoint와 작동합니다. 서버가 /v1/chat/completions를 구현한다면 Hermes가 해당 서버를 가리키게 할 수 있습니다.2
인터랙티브 설정(권장):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
수동 config.yaml:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
두 방식 모두 config.yaml에 저장되며, 이 파일이 main-model, provider, base URL의 단일 진실 공급원입니다.2 기존 env vars인 OPENAI_BASE_URL과 LLM_MODEL은 더 이상 main-model 설정에 사용되지 않습니다. hermes model을 사용하거나 config.yaml을 직접 편집하세요.2 (OPENAI_BASE_URL + OPENAI_API_KEY는 보조 provider: "main" 라우팅 경로의 fallback으로는 여전히 존중되므로, 그 용도로 사용 중이라면 무작정 삭제하지 마세요.)4
세션 중 custom endpoint 전환:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom(모델 이름 없이 단독 사용)은 endpoint의 /v1/models API를 조회하고, 로드된 모델이 정확히 하나라면 해당 모델을 자동 선택합니다. 단일 모델을 실행하는 로컬 서버에 유용합니다.2
로컬 LLM 서버(설정 템플릿)
업스트림 문서에는 Ollama, vLLM, SGLang, llama.cpp, LM Studio에 대한 전체 설정 가이드가 있습니다. 아래는 실제로 실행하게 될 핵심 명령입니다. 각 명령은 Hermes가 가리킬 수 있는 작동 endpoint를 만들도록 설계되어 있습니다.2
Ollama — 가장 쉬운 로컬 경로, 설정 없음:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
중요한 Ollama 주의점: Ollama의 기본 컨텍스트 길이는 매우 낮습니다(24GB VRAM 미만에서 4,096 토큰). OLLAMA_CONTEXT_LENGTH 또는 Modelfile을 통해 반드시 높여야 합니다. OpenAI 호환 API는 클라이언트에서 컨텍스트 길이를 받지 않으므로 Hermes가 대신 설정할 수 없습니다.2 agent 용도로는 최소 16k-32k로 설정하세요.
vLLM — 고성능 GPU 서빙:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
Tool calling에는 --enable-auto-tool-choice와 --tool-call-parser <name>이 필요합니다. 지원되는 파서: hermes(Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. 이 flags가 없으면 tool call이 일반 텍스트로 반환됩니다.2
SGLang — KV 캐시 재사용을 위한 RadixAttention 기반 고속 서빙:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
SGLang 주의점: 기본 max_tokens는 128입니다. 응답이 잘린다면 서버에서 --default-max-tokens를 설정하거나 config.yaml에서 model.max_tokens를 설정하세요.2
llama.cpp / llama-server — CPU 및 Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
tool calling에는 --jinja가 필요합니다. 이 옵션이 없으면 llama-server가 tools 파라미터를 완전히 무시하고, 모델은 응답 텍스트에 JSON를 쓰는 방식으로 도구를 호출하려고 합니다. Hermes는 이를 실제 tool call로 파싱할 수 없습니다.2
LM Studio — GUI가 있는 데스크톱 앱:
LM Studio 앱에서 서버를 시작하거나(Developer 탭 → Start Server), CLI를 통해 lms server start(포트 1234에서 시작) 및 lms load qwen2.5-coder --context-length 32768을 실행하세요.2 그런 다음 hermes model이 http://localhost:1234/v1을 가리키게 하세요.
중요한 LM Studio 주의점: LM Studio는 모델 메타데이터에서 컨텍스트 길이를 읽지만, 많은 GGUF 모델은 기본값을 2048 또는 4096으로 보고합니다. LM Studio 모델 설정에서 항상 컨텍스트 길이를 명시적으로 설정하세요. 모델 선택기 옆의 톱니바퀴 아이콘을 클릭하고 “Context Length”를 최소 16384(가능하면 32768)로 설정한 뒤 모델을 다시 로드하세요.2
이름이 지정된 Custom Providers
여러 custom endpoint(예: 로컬 개발 서버와 원격 GPU 서버)를 사용하는 경우 config.yaml에 이름이 지정된 custom provider로 정의하세요.2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
그런 다음 세션 중 triple syntax로 전환할 수 있습니다.
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
인터랙티브 hermes model 메뉴에서도 이름이 지정된 custom provider를 선택할 수 있습니다.2
Pluggable Provider Architecture (v0.13.0+)
v0.13.0은 ProviderProfile ABC와 plugins/model-providers/ 디렉터리를 함께 제공하므로, 서드파티 inference provider가 core 수정 없이 추가될 수 있습니다.18 provider가 OpenAI, Anthropic, 또는 Codex 호환 API 모드를 지원한다면 인증 경로, base URL, 모델 카탈로그, 캐싱 헤더를 선언하는 ProviderProfile 하위 클래스를 구현할 수 있습니다. Hermes는 내장 provider와 같은 runtime_provider.py 경로를 통해 이를 해석합니다. 이것이 v0.13.0 provider 확장의 기반이 되는 아키텍처 변경입니다. provider를 추가하기 위해 core 코드를 편집하는 대신 plugin을 배포합니다.
OpenAI 호환 로컬 Proxy (v0.14.0+)
hermes proxy는 Hermes가 이미 로그인한 OAuth provider(Claude Pro, ChatGPT Pro, SuperGrok 또는 다른 호환 설정 provider)를 기반으로 OpenAI 호환 로컬 endpoint를 노출합니다.19 즉, Codex CLI, Aider, Cline, Continue, custom scripts처럼 OpenAI 스타일 API를 기대하는 도구가 별도의 API key 없이 구독 기반 Hermes auth를 재사용할 수 있습니다. 이 proxy는 로컬 개발자 인프라로 다루세요. 의도적으로 바인딩하고, 넓게 노출하지 말고, provider별 약관을 염두에 두세요.
Context Length 감지
업스트림 문서에 따르면 다음 2가지 설정은 자주 혼동됩니다.2
context_length— 전체 컨텍스트 창입니다(입력 + 출력 토큰 예산의 합계, 예: Claude Opus 4.7의 1,000,000 또는 Sonnet 4.6의 200,000). Hermes는 이를 사용해 히스토리를 압축할 시점을 결정합니다.model.max_tokens— 출력 상한입니다(모델이 단일 응답에서 생성할 수 있는 최대 토큰). 히스토리 길이와는 관련이 없습니다.
자동 감지가 창 크기를 잘못 판단할 때 context_length를 설정하세요.
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes는 컨텍스트 창을 감지하기 위해 여러 소스를 순서대로 확인합니다. config override → custom provider별 모델 설정 → persistent cache → endpoint /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev(3800개 이상 모델의 커뮤니티 유지 registry) → fallback defaults(128K).2 이 시스템은 provider를 인식하므로, 같은 모델도 누가 서빙하느냐에 따라 컨텍스트 제한이 달라질 수 있습니다(예: claude-opus-4.6은 Anthropic direct에서는 1M이지만 GitHub Copilot에서는 128K입니다).2
Provider Rotation 및 Fallback
Credential pools. 같은 provider에 여러 API key가 있다면 hermes auth를 통해 rotation strategy를 설정하세요. 이렇게 여러 키에 rate limit을 분산합니다.6
Fallback model. 기본 모델이 실패할 때(rate limit, 서버 오류, 인증 실패) Hermes가 자동으로 전환할 백업 provider:model을 설정하세요.2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
fallback은 대화를 잃지 않고 세션 중 model과 provider를 바꿉니다. 세션당 최대 한 번만 작동합니다.2 fallback을 지원하는 provider: openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
Auxiliary Models
Hermes는 이미지 분석, 웹 페이지 요약, 브라우저 스크린샷 분석, 위험한 명령 승인 분류, 컨텍스트 압축, 세션 검색 요약, skill 매칭, MCP tool dispatch, memory flush 같은 부가 작업에 가벼운 “auxiliary” 모델을 사용합니다.4 기본적으로 이 모델들은 자동 감지를 통해 Gemini Flash를 사용합니다(OpenRouter → Nous → Codex).
각 auxiliary 작업에 사용할 모델과 provider를 설정할 수 있습니다. 모든 auxiliary slot은 같은 3가지 조절값을 사용합니다: provider, model, base_url.4
auxiliary:
vision:
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 30
download_timeout: 30
web_extract:
provider: "auto"
model: ""
timeout: 360
approval:
provider: "auto"
model: ""
timeout: 30
compression:
timeout: 120
session_search: { provider: "auto", model: "", timeout: 30 }
skills_hub: { provider: "auto", model: "", timeout: 30 }
mcp: { provider: "auto", model: "", timeout: 30 }
flush_memories:{ provider: "auto", model: "", timeout: 30 }
"main" provider 옵션은 “내 main agent가 사용하는 provider를 그대로 사용”한다는 뜻입니다. 이는 오직 auxiliary:, compression:, fallback_model: 설정 안에서만 유효합니다. 최상위 model.provider 설정에는 유효하지 않습니다. custom OpenAI 호환 endpoint를 main model로 사용한다면 model: 섹션에서 provider: custom을 설정하세요.4
이 점이 중요한 이유: Anthropic OAuth만 설정했고 OpenRouter key가 없다면, 기본 auxiliary fallback chain이 OpenRouter를 먼저 시도하기 때문에 vision, 웹 요약, compression이 저하되거나 실패할 수 있습니다. auxiliary 작업용 OPENROUTER_API_KEY를 추가하거나, 각 auxiliary slot이 main provider를 사용하도록 다시 설정하세요.
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
이것은 새 Hermes 사용자에게 가장 흔한 “기능이 조용히 작동하지 않는다”는 문제의 원인입니다.
설정 시스템
Hermes는 계층형 설정 시스템을 사용해요. 우선순위를 이해하는 것이 중요합니다. 상위 계층이 하위 계층을 덮어쓰며, 그중 한 계층은 config.yaml에서 볼 수 없는 전역 provider registry이기 때문입니다.
Config 파일 구조
업스트림 문서에 따르면 Hermes 설정을 구성하는 파일은 다음과 같습니다:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml vs .env — 둘 다 설정되어 있으면 비밀이 아닌 설정에서는 config.yaml이 우선합니다.4 규칙은 다음과 같습니다.
- 비밀값 (API 키, bot token, 비밀번호) → .env
- 그 외 모든 항목 (model, terminal backend, compression 설정, memory 제한, toolset) → config.yaml
비밀값은 shell 스타일 보간을 사용해 config.yaml에서 참조할 수 있습니다:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
설정 관리
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
예시:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check와 hermes config migrate는 매번 hermes update 후 실행해야 하는 명령입니다. 아직 파일에 없는 새 설정 옵션을 찾아줍니다.6
설정 우선순위
Hermes는 여러 소스에서 설정을 불러옵니다. 여러 소스가 같은 값을 설정하면 우선순위가 더 높은 소스가 적용됩니다:4
- CLI 인수 —
hermes chat --model anthropic/claude-sonnet-4(호출별 덮어쓰기) - 환경 변수 — 프로세스 시작 시 적용
config.yaml— 기본 설정 파일.env— 비밀값 전용- 내장 기본값 — 다른 곳에서 값을 설정하지 않았을 때 적용
CLI 플래그는 해당 단일 호출에서 항상 우선합니다. config.yaml은 장기적인 단일 진실 공급원입니다.
현지화 (v0.13.0+)
v0.13.0은 CLI와 gateway 메시지에 7개 locale을 추가했습니다. 중국어 간체, 일본어, 독일어, 스페인어, 프랑스어, 우크라이나어, 터키어입니다.18 v0.14.0은 모든 gateway 명령과 web dashboard를 현지화하고, 8개 locale을 더 추가해 총 16개로 늘렸습니다.19 문서는 현재 zh-Hans로만 현지화되어 있습니다. Locale은 LC_ALL / LANG 환경 변수 또는 config.yaml의 명시적인 locale: 키로 결정됩니다. 영어는 기본값으로 유지되며, 번역이 아직 다루지 않은 문자열의 기준 원문입니다.
Profiles — 격리된 여러 Hermes 인스턴스
Profile을 사용하면 각자 고유한 config, session, skill, memory, gateway PID를 가진 격리된 Hermes 인스턴스를 여러 개 만들 수 있습니다. 이것이 “업무용 Hermes”와 “개인용 Hermes”를 나란히 실행하면서 서로의 상태를 보지 못하게 하는 방법입니다.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
각 profile은 고유한 HERMES_HOME을 가집니다. 기본값은 ~/.hermes-<name>/이므로, 여러 profile이 서로 충돌하지 않고 gateway를 동시에 실행할 수 있습니다.63
CLI 명령어
이 섹션은 최상위 CLI 명령어를 실무자가 참고할 수 있도록 정리한 자료입니다. 코드에서 생성된 공식 참조는 upstream CLI 명령어 참조를 확인하세요.6
전역 옵션
hermes [global-options] <command> [subcommand/options]
| 옵션 | 설명 |
|---|---|
--version, -V |
버전을 표시하고 종료 |
--profile <name>, -p <name> |
사용할 Hermes profile 선택 |
--resume <session>, -r <session> |
ID 또는 제목으로 세션 재개 |
--continue [name], -c [name] |
가장 최근 세션을 재개하거나 제목과 일치하는 세션 재개 |
--worktree, -w |
격리된 git worktree에서 시작 |
--yolo |
위험한 명령 승인 프롬프트 우회 |
--pass-session-id |
에이전트의 시스템 프롬프트에 세션 ID 포함 |
최상위 명령어
| 명령어 | 목적 |
|---|---|
hermes chat |
대화형 또는 1회성 chat |
hermes model |
기본 provider와 모델을 대화형으로 선택 |
hermes gateway |
메시징 gateway 실행 또는 관리 |
hermes setup |
대화형 설정 마법사 |
hermes auth |
자격 증명 관리 - 추가, 목록 조회, 제거, 재설정, 전략 설정 |
hermes status |
에이전트, auth, 플랫폼 상태 표시 |
hermes cron |
cron 스케줄러 검사 및 tick 실행 |
hermes webhook |
동적 webhook 구독 관리 |
hermes doctor |
설정 및 의존성 문제 진단 |
hermes dump |
지원/디버깅용으로 복사해 붙여넣을 수 있는 설정 요약 |
hermes logs |
에이전트/gateway/오류 로그 보기, tail, 필터링 |
hermes config |
설정 표시, 편집, 마이그레이션, 쿼리 |
hermes pairing |
메시징 pairing 코드 승인 또는 취소 |
hermes skills |
skill 탐색, 설치, 게시, 감사 |
hermes honcho |
Honcho 교차 세션 메모리 관리 |
hermes memory |
외부 메모리 provider 설정 |
hermes acp |
Hermes를 ACP 서버로 실행(에디터 통합) |
hermes mcp |
MCP 서버 설정 관리, Hermes를 MCP 서버로 실행 |
hermes plugins |
플러그인 관리 |
hermes tools |
플랫폼별 활성화된 도구 설정 |
hermes sessions |
세션 탐색, 내보내기, 정리, 삭제 |
hermes insights |
토큰/비용/활동 분석 표시 |
hermes claw |
OpenClaw 마이그레이션 도우미 |
hermes profile |
profile 관리(여러 격리 인스턴스) |
hermes completion |
셸 completion 스크립트 출력(bash/zsh) |
hermes whatsapp |
WhatsApp 브리지 설정 및 pair |
hermes version |
버전 정보 출력 |
hermes update |
최신 코드를 가져오고 의존성 재설치 |
hermes uninstall |
시스템에서 Hermes 제거(--full은 설정/데이터도 삭제) |
hermes backup |
설정, 세션, skill, 메모리 전체 백업(v0.9.0+)16 |
hermes import |
백업 아카이브에서 복원 - 머신 간 마이그레이션 또는 롤백(v0.9.0+)16 |
hermes dashboard |
브라우저 기반 에이전트 관리를 위한 로컬 웹 대시보드 실행(v0.9.0+)16 |
hermes debug share |
문제 해결 시 공유할 전체 디버그 보고서를 pastebin에 업로드(v0.9.0+)16 |
hermes chat - 기본 진입점
인수 없이 hermes를 실행하면 대화형 chat으로 들어갑니다. hermes chat은 옵션을 포함한 명시적 형식입니다.6
hermes chat -q "Summarize the latest PRs" # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
주요 옵션:
| 옵션 | 설명 |
|---|---|
-q, --query "..." |
1회성 비대화형 프롬프트 |
-m, --model <model> |
이번 실행에서 사용할 모델 재정의 |
-t, --toolsets <csv> |
쉼표로 구분한 toolset 집합 활성화 |
--provider <provider> |
provider 강제 지정(전체 목록 참조) |
-s, --skills <name> |
이 세션에 하나 이상의 skill 미리 로드 |
-v, --verbose |
자세한 출력 |
-Q, --quiet |
프로그래밍용 모드(배너, 스피너, 미리보기 없음) |
--resume <session> |
chat에서 직접 세션 재개 |
--worktree |
격리된 git worktree 생성 |
--checkpoints |
파괴적 변경 전 파일시스템 checkpoint 활성화 |
--yolo |
승인 프롬프트 건너뛰기 |
--source <tag> |
세션 소스 태그(기본값: cli; 통합에는 tool 사용) |
--max-turns <N> |
턴당 최대 도구 호출 반복 횟수(기본값: 90) |
hermes setup - 전체 마법사
전체 설정 마법사를 실행하거나 특정 섹션으로 바로 이동합니다.6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs - 구조화된 로그 쿼리
hermes logs는 수준, 세션 ID, 시간 범위를 동시에 기준으로 필터링할 수 있어 로그 파일에 tail -f를 실행하는 것보다 더 강력합니다.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
로그 파일은 ~/.hermes/logs/에 있습니다.6
- agent.log - 모든 에이전트 활동(API 호출, 도구 디스패치, 세션 수명 주기, INFO+)
- errors.log - 경고와 오류만 포함(agent.log의 필터링된 하위 집합)
- gateway.log - 메시징 gateway 활동(플랫폼 연결, 디스패치, webhook)
로테이션은 Python의 RotatingFileHandler를 통해 자동으로 처리됩니다. agent.log.1, agent.log.2 등을 확인하세요.6
hermes doctor - 진단
문제가 생겼을 때 가장 먼저 실행할 명령어는 hermes doctor [--fix]입니다. 설정 유효성, 의존성 존재 여부, API 키 사용 가능 여부, 서비스 상태를 확인하며, --fix로 자동 복구를 시도할 수 있습니다.6
다른 사람과 진단 정보를 공유하려면 hermes dump를 사용하세요. API 키가 마스킹된 간결한 일반 텍스트 요약을 생성하므로, GitHub 이슈나 Discord 스레드에 바로 붙여넣을 수 있습니다.6
Slash Commands
Slash commands는 활성 채팅 세션(CLI 또는 messaging platform) 안에서 실행돼요. 이 명령들은 hermes_cli/commands.py의 공유 COMMAND_REGISTRY에서 디스패치되므로, 대부분의 명령은 여러 표면에서 동일하게 작동해요.9
세션 제어
| Command | 설명 |
|---|---|
/new (alias /reset) |
새 세션 시작 |
/clear |
화면을 지우고 새 세션 시작 |
/history |
대화 기록 표시 |
/save |
현재 대화 저장 |
/retry |
마지막 메시지 다시 시도 |
/undo |
마지막 사용자/assistant 교환 제거 |
/title <name> |
현재 세션의 제목 설정 |
/compress |
대화 context를 수동으로 압축 |
/rollback [number] |
filesystem checkpoint를 나열하거나 복원 |
/stop |
실행 중인 모든 background process 종료 |
/queue <prompt> |
다음 턴에 사용할 prompt를 대기열에 추가. 주의: /q는 /queue와 /quit 모두에서 사용됩니다. 마지막 등록이 우선하므로 실제로 /q는 /quit로 해석돼요. 항상 /queue를 명시적으로 입력하세요.9 |
/resume [name] |
이전에 이름을 지정한 세션 재개 |
/statusbar (alias /sb) |
context/model 상태 표시줄 전환 |
/background <prompt> (alias /bg) |
별도 background 세션에서 prompt 실행 |
/btw <question> |
임시 부가 질문(도구 없음, 저장되지 않음) |
/plan [request] |
실행 대신 계획을 작성하도록 번들된 plan skill 로드 |
/branch [name] (alias /fork) |
현재 세션 분기 |
/goal <target> |
agent가 여러 턴에 걸쳐 작업에서 벗어나지 않도록 target에 고정. Ralph-loop 패턴을 일급 primitive로 제공. 턴 예산 설정 가능. v0.13.0에서 새로 추가.18 |
/subgoal <criterion> |
루프를 다시 시작하지 않고 활성 /goal에 성공 기준 추가. v0.14.0에서 새로 추가.19 |
/handoff <target> |
실시간 세션의 메시지, tool call, context를 다른 model, persona 또는 profile로 이전. v0.14.0에서 새로 추가.19 |
설정 및 Model
| Command | 설명 |
|---|---|
/config |
현재 설정 표시 |
/model [model-name] |
현재 model 표시 또는 변경 |
/provider |
사용 가능한 provider와 현재 provider 표시 |
/personality [name] |
personality overlay 설정 |
/verbose |
tool 진행 표시 순환 |
/reasoning |
reasoning effort와 표시 관리 |
/skin |
표시 skin/theme 표시 또는 변경 |
/voice [on\|off\|tts\|status] |
CLI voice mode 전환 |
/yolo |
YOLO mode 전환(승인 prompt 건너뛰기) |
/fast |
Fast Mode 전환 — OpenAI 및 Anthropic model의 우선 처리(v0.9.0+)16 |
/debug |
모든 platform에 대한 빠른 진단(v0.9.0+)16 |
/model 명령은 세션 중간에 provider를 전환할 때 핵심 역할을 해요.9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
도구, Skill 및 정보
| Command | 설명 |
|---|---|
/tools [list\|disable\|enable] [name...] |
현재 세션의 도구 관리 |
/toolsets |
사용 가능한 toolset 나열 |
/browser [connect\|disconnect\|status] |
로컬 Chrome CDP 연결 관리 |
/skills |
skill 검색, 설치, 검사 또는 관리 |
/cron |
예약된 작업 관리 |
/reload-mcp |
config.yaml에서 MCP 서버 다시 로드 |
/plugins |
설치된 plugin 나열 |
/help |
모든 명령 표시 |
/usage |
token 사용량, 비용, 기간 표시 |
/insights |
사용량 analytics 표시(최근 30일) |
/platforms |
messaging platform 상태 표시 |
/profile |
활성 profile 이름과 home 표시 |
동적 Skill Slash Commands
설치된 모든 skill은 자동으로 slash command로 노출돼요.9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
config.yaml에서 짧은 이름을 더 긴 prompt의 alias로 연결하는 quick commands도 정의할 수 있어요.9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
그런 다음 CLI에서 /review, /deploy, 또는 /morning을 입력하세요.
Prefix Matching
명령은 prefix matching을 지원해요. /h를 입력하면 /help로, /mod를 입력하면 /model로 해석돼요. prefix가 모호하면 registry 순서상 첫 번째 등록이 우선합니다. 전체 명령 이름과 등록된 alias는 항상 prefix match보다 우선해요.9
Messaging 전용 명령
일부 명령은 messaging platform(Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant)에서만 작동해요.9
/status— 세션 정보 표시/sethome(alias/set-home) — 현재 채팅을 platform home으로 표시/approve [session|always]— 대기 중인 위험 명령 승인/deny— 대기 중인 위험 명령 거부/update— Hermes Agent를 최신 버전으로 업데이트/commands [page]— 모든 명령과 skill 둘러보기(페이지네이션)
그리고 일부는 CLI 전용입니다. /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Tools 및 Toolsets
Hermes는 웹 검색, 브라우저 자동화, 터미널 실행, 파일 편집, 메모리, 위임, RL 학습, 메시징 전달, Home Assistant 통합 등을 포괄하는 폭넓은 내장 tool 레지스트리와 함께 제공됩니다.10 Tools는 플랫폼별로 활성화하거나 비활성화할 수 있는 논리적 toolset으로 구성됩니다.
상위 범주
| 범주 | 예시 | 설명 |
|---|---|---|
| 웹 | web_search, web_extract |
웹을 검색하고 페이지 콘텐츠를 추출합니다 |
| 터미널 및 파일 | terminal, process, read_file, patch |
명령을 실행하고 파일을 조작합니다 |
| 브라우저 | browser_navigate, browser_snapshot, browser_vision |
텍스트와 비전을 사용하는 대화형 브라우저 자동화입니다 |
| 미디어 | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
멀티모달 분석 및 생성입니다. video_analyze는 Gemini 우선이며 호환되는 멀티모달 provider에 대한 확장 가능한 지원을 제공합니다(v0.13.0+). v0.14.0에서는 플러그형 provider 백엔드를 갖춘 통합 video_generate가 추가되며, 활성 모델이 비전 기능을 지원하는 경우 원시 픽셀을 vision_analyze로 보냅니다.1819 |
| Agent 오케스트레이션 | todo, clarify, execute_code, delegate_task |
계획, 명확화, 코드 실행, subagent 위임입니다 |
| 컴퓨터 사용 | computer_use |
cua-driver 백엔드를 통한 데스크톱 제어입니다. v0.14.0에서는 Anthropic가 아닌 비전 지원 provider에서도 작동합니다.19 |
| 메모리 및 회상 | memory, session_search |
영구 메모리 + 세션 검색입니다 |
| 자동화 및 전달 | cronjob, send_message |
예약 작업, 아웃바운드 메시징입니다 |
| 통합 | ha_*, MCP tools, rl_* |
Home Assistant, MCP, RL 학습입니다 |
일반적인 toolset 이름에는 web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant, rl이 포함됩니다.10
Tools 관리
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
Tools는 세션 중에도 /tools disable <name> 및 /tools enable <name>로 켜고 끌 수 있으며, 이 경우 새 tool 세트가 적용되도록 세션이 재설정됩니다.9
터미널 백엔드
터미널 tool은 6가지 환경에서 명령을 실행할 수 있습니다.10
| 백엔드 | 사용 사례 |
|---|---|
local |
사용자의 머신에서 실행합니다(기본값). 개발, 신뢰할 수 있는 작업에 사용합니다 |
docker |
격리된 컨테이너입니다. 보안, 재현성에 사용합니다 |
ssh |
원격 서버입니다. sandbox에 사용하고 agent가 자체 코드에 접근하지 못하게 합니다 |
singularity |
HPC 컨테이너입니다. 클러스터 컴퓨팅, rootless 환경에 사용합니다 |
modal |
Serverless 클라우드 실행입니다 |
daytona |
클라우드 sandbox 워크스페이스입니다. 영구 원격 개발 환경에 사용합니다 |
백엔드는 hermes config set terminal.backend <name> 또는 config.yaml에서 전환하세요.
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
SSH 백엔드(보안상 권장. agent가 자체 코드를 수정할 수 없습니다):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Docker 백엔드:
terminal:
backend: docker
docker_image: python:3.11-slim
컨테이너 리소스(docker, singularity, modal, daytona에 적용):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
container_persistent: true를 사용하면 설치된 패키지, 파일, 설정이 세션 간에도 유지됩니다.10
모든 컨테이너 백엔드는 보안 강화를 적용해 실행됩니다. 읽기 전용 루트 파일 시스템(Docker), DAC_OVERRIDE, CHOWN, FOWNER를 제외한 모든 Linux capabilities 제거, 권한 상승 금지, PID 제한(256개 프로세스), 완전한 namespace 격리, 볼륨을 통한 영구 워크스페이스가 적용됩니다.10
백그라운드 프로세스
터미널 tool은 명시적인 프로세스 관리와 함께 백그라운드 실행을 지원합니다.10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
PTY 모드(pty=true)는 Codex 및 Claude Code 같은 대화형 CLI tools를 활성화합니다.10
Sudo
명령에 sudo가 필요하면 Hermes가 비밀번호를 요청합니다(세션 동안 캐시됨). 또는 ~/.hermes/.env에 SUDO_PASSWORD를 설정하세요.10
Multi-Agent Kanban (v0.13.0+)
v0.13.0은 multi-agent 협업을 1급 primitive로 바꿉니다. agent 간, 재시작 간 작업, 상태, worker identity를 추적하는 영속적인 Kanban 보드입니다.18 이 보드는 Hermes worker 무리가 죽은 handoff에서 멈추지 않고 실제로 작업을 끝내게 만드는 핵심입니다.
| 메커니즘 | 하는 일 |
|---|---|
| Heartbeats | 각 worker는 작업을 소유한 동안 pulse를 보냅니다. heartbeat가 누락되면 해당 worker가 의심 대상으로 표시되고, 작업은 다시 회수할 수 있게 해제됩니다. |
| Reclaim | 다른 worker가 전체 작업 상태와 이전 부분 출력물을 포함해 방치된 작업을 이어받을 수 있습니다. |
| Zombie detection | 작업을 완료로 표시하지 않고 종료된 worker는 새 작업을 claim하지 못하도록 자동 차단되어, swarm에 죽은 identity가 쌓이지 않게 합니다. |
| Hallucination gate | gate를 통과하지 못한 출력은 완료로 표시되지 않고, 이유가 기록된 상태로 작업이 보드에 다시 돌아갑니다. |
작업별 max_retries |
취약하다는 것을 알고 있는 작업에 대해 기본 재시도 예산을 재정의합니다. |
| Multi-project boards | 하나의 Hermes home에서 여러 독립 보드를 호스팅할 수 있습니다. |
Kanban 보드는 대상 측에서는 /goal(locked-target Ralph loop)과 자연스럽게 짝을 이루고, spawn semantics에는 기존 delegate_task tool과 잘 맞습니다. 그 결과 모든 agent가 다음에 할 일, 누가 하고 있는지, 무엇이 막혔는지에 대한 단일 source of truth를 공유하는 swarm 패턴이 만들어집니다.
Skills 시스템
Skills는 에이전트가 필요할 때 로드할 수 있는 온디맨드 지식 문서입니다. 토큰 사용량을 최소화하기 위해 점진적 공개 패턴을 따르며, agentskills.io 공개 표준과 호환됩니다.11
모든 skills는 ~/.hermes/skills/에 있습니다. 이 경로가 기본 디렉터리이자 단일 진실 공급원입니다. 새로 설치하면 번들 skills가 repo에서 복사됩니다. Hub에서 설치한 skills와 에이전트가 생성한 skills도 여기에 저장됩니다.11
점진적 공개
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
에이전트는 실제로 필요할 때만 전체 skill 콘텐츠를 로드합니다.11
SKILL.md 형식
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
조건부 활성화
Skills는 사용 가능한 도구에 따라 스스로를 표시하거나 숨길 수 있습니다. 이는 fallback skills에 특히 유용합니다. 프리미엄 도구를 사용할 수 없을 때만 나타나야 하는 무료 또는 로컬 대안입니다.11
| 필드 | 동작 |
|---|---|
fallback_for_toolsets |
나열된 toolset을 사용할 수 있으면 skill을 숨김 |
fallback_for_tools |
동일하지만 개별 도구를 확인함 |
requires_toolsets |
나열된 toolset을 사용할 수 없으면 skill을 숨김 |
requires_tools |
동일하지만 개별 도구를 확인함 |
예: 내장 duckduckgo-search skill은 fallback_for_toolsets: [web]를 사용합니다. FIRECRAWL_API_KEY가 설정되어 있으면 web toolset을 사용할 수 있고 에이전트는 web_search를 사용합니다. 이때 DuckDuckGo skill은 숨겨진 상태로 남습니다. API 키가 없으면 DuckDuckGo skill이 fallback으로 자동 표시됩니다.11
에이전트 관리 Skills
에이전트는 skill_manage 도구를 통해 자체 skills를 생성, 업데이트, 삭제할 수 있습니다. 이는 에이전트의 절차적 기억입니다. 에이전트가 단순하지 않은 workflow를 파악하면, 나중에 재사용할 수 있도록 그 접근 방식을 skill로 저장합니다.11
에이전트가 skills를 생성하는 경우:11 - 복잡한 작업(도구 호출 5회 이상)을 성공적으로 완료한 뒤 - 오류나 막다른 길을 만났고 작동하는 경로를 찾았을 때 - 사용자가 접근 방식을 수정해 주었을 때 - 단순하지 않은 workflow를 발견했을 때
작업:11
| 작업 | 사용처 |
|---|---|
create |
처음부터 새 skill 생성 |
patch |
대상이 분명한 수정(권장, 토큰 효율이 가장 좋음) |
edit |
주요 구조 재작성 |
delete |
skill 전체 제거 |
write_file |
지원 파일 추가/업데이트 |
remove_file |
지원 파일 제거 |
Skill Hub
온라인 registry에서 skills를 탐색, 검색, 설치, 관리하세요.611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
통합 hub 소스:11
| 소스 | 예시 | 참고 |
|---|---|---|
official |
official/security/1password |
Hermes와 함께 제공되는 선택적 skills(내장 신뢰) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Vercel의 공개 skills 디렉터리 |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
/.well-known/skills/index.json를 게시하는 사이트에서 URL 기반으로 발견 |
github |
openai/skills/k8s |
직접 GitHub repo/path 설치 |
clawhub |
— | 서드파티 skills marketplace |
claude-marketplace |
— | Claude 호환 plugin/marketplace manifest |
lobehub |
— | LobeHub 에이전트 catalog 변환 |
기본 GitHub taps(설정 없이 탐색 가능): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11
보안 스캔
Hub에서 설치한 모든 skills는 보안 scanner를 거치며, 데이터 유출, prompt injection, 파괴적 명령, supply-chain 신호, 기타 위협을 확인합니다.11
신뢰 수준:11
| 수준 | 소스 | 정책 |
|---|---|---|
builtin |
Hermes와 함께 제공 | 항상 신뢰 |
official |
repo의 optional-skills/ |
내장 신뢰, 서드파티 경고 없음 |
trusted |
신뢰할 수 있는 registry(openai/skills, anthropics/skills) |
더 허용적인 정책 |
community |
그 외 모든 항목 | 위험하지 않은 findings는 --force로 재정의 가능, dangerous 판정은 계속 차단 |
--force는 community skills에 대한 위험하지 않은 정책 차단을 재정의할 수 있습니다. 하지만 dangerous 스캔 판정은 재정의하지 않습니다.11
외부 Skill 디렉터리
Hermes가 로컬 디렉터리와 함께 스캔할 추가 skill 디렉터리를 지정할 수 있습니다.11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
경로는 ~ 확장과 ${VAR} 환경 변수 치환을 지원합니다. 외부 디렉터리는 읽기 전용입니다. 에이전트가 skill을 생성하거나 편집할 때는 항상 ~/.hermes/skills/에 씁니다. 두 위치에 같은 skill 이름이 있으면 로컬 우선순위가 적용됩니다.11
Persistent Memory
Hermes에는 세션을 넘어 유지되는, 한정되고 선별된 메모리가 있어요. 에이전트의 메모리는 2개 파일로 구성되며, 둘 다 ~/.hermes/memories/에 저장돼요:12
| 파일 | 목적 | 문자 제한 |
|---|---|---|
MEMORY.md |
에이전트의 개인 메모 — 환경 정보, 규칙, 학습한 내용 | 2,200자(약 800 tokens) |
USER.md |
사용자 profile — 선호, 커뮤니케이션 스타일, 기대 사항 | 1,375자(약 500 tokens) |
둘 다 세션 시작 시점의 고정 snapshot으로 system prompt에 주입돼요. 에이전트는 memory tool을 통해 자신의 메모리를 관리해요. add, replace, remove를 사용할 수 있어요.12
고정 snapshot 패턴: system prompt 주입은 세션 시작 시 한 번 캡처되고, 세션 중에는 절대 바뀌지 않아요. 이는 의도된 동작이에요. 성능을 위해 LLM의 prefix cache를 보존하기 때문이에요. 세션 중 변경한 내용은 즉시 디스크에 저장되지만, 다음 세션이 시작되기 전까지 system prompt에는 나타나지 않아요.12
저장할 내용
저장할 내용(에이전트가 능동적으로 처리해요):12
- 사용자 선호: “JavaScript보다 TypeScript를 선호합니다” → user
- 환경 정보: “이 서버는 Debian 12와 PostgreSQL 16을 실행합니다” → memory
- 수정 사항: “Docker 명령에는 sudo를 사용하지 마세요. 사용자가 docker 그룹에 있습니다” → memory
- 규칙: “프로젝트는 탭, 120자 줄 너비, Google 스타일 docstring을 사용합니다” → memory
- 완료한 작업: “2026-01-15에 database를 MySQL에서 PostgreSQL로 마이그레이션했습니다” → memory
건너뛸 내용:12 - 사소하거나 명확한 정보 - 쉽게 다시 찾을 수 있는 사실 - 원시 데이터 dump(메모리에 넣기에는 너무 큼) - 세션에만 해당하는 일시적 정보 - 이미 context 파일에 있는 정보
세션 검색
MEMORY.md와 USER.md 외에도, 에이전트는 session_search tool을 사용해 과거 대화를 검색할 수 있어요. 모든 CLI와 메시징 세션은 SQLite(~/.hermes/state.db)에 저장되며, FTS5 전체 텍스트 검색을 지원해요. 쿼리는 Gemini Flash 요약과 함께 관련 과거 대화를 반환해요.12
| 기능 | Persistent Memory | Session Search |
|---|---|---|
| 용량 | 총 약 1,300 tokens | 무제한(모든 세션) |
| 속도 | 즉시(system prompt 안에 있음) | 검색 + LLM 요약 필요 |
| 사용 사례 | 항상 사용할 핵심 정보 | 특정 과거 대화 찾기 |
| 관리 | 에이전트가 수동으로 선별 | 자동 — 모든 세션 저장 |
| token 비용 | 세션당 고정(약 1,300 tokens) | 필요할 때만 |
외부 Memory Providers
MEMORY.md와 USER.md를 넘어 더 깊은 persistent memory가 필요할 때를 위해, Hermes는 8개의 외부 memory provider plugin을 함께 제공해요. Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory가 포함돼요.12
외부 provider는 내장 메모리를 대체하지 않고 함께 실행되며, knowledge graph, semantic search, 자동 사실 추출, 세션 간 사용자 모델링 같은 기능을 추가해요:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
한 번에 하나의 외부 provider만 활성화할 수 있어요. 내장 메모리는 항상 활성화돼요.6
세션 자동 재개(v0.13.0+)
v0.13.0에서는 에이전트 작업 중간에 중단되어도 복구할 수 있어요. gateway는 재시작 후 중단된 세션을 자동으로 재개하고, /update 재시작은 업그레이드 중에도 세션 상태를 보존하며, 개발 중 source-file reload는 새 세션을 강제하지 않고 활성 세션을 유지해요.18 실제 효과는 이렇습니다. 오래 실행되는 gateway 작업과 cron 기반 작업이 더 이상 프로세스 재시작 때 context window를 초기화하지 않아요.
Checkpoints v2(v0.13.0+)
v0.13.0에서는 상태 지속성이 실제 pruning, 디스크 guardrail, orphan shadow repo 없음을 갖춘 단일 store 설계로 다시 작성됐어요.18 이전 checkpoint 시스템은 오래 실행되는 profile 전반에서 디스크에 상태를 계속 누적했어요. v2 store는 로컬 checkpoint 저장 공간에 엄격한 상한을 두고, 그 증가를 유발하던 중복 bookkeeping을 제거해요. 사용자에게 보이는 config 변경은 필요하지 않으며, 다음 checkpoint write부터 v2 경로를 사용해요.
Personality와 SOUL.md
SOUL.md는 Hermes instance의 기본 identity예요. system prompt의 1번 slot을 차지하며, 하드코딩된 기본 identity를 대체해요.13
Hermes는 기본 SOUL.md를 ~/.hermes/SOUL.md에 자동으로 생성해요(custom profile의 경우 $HERMES_HOME/SOUL.md). 기존 사용자 파일은 절대 덮어쓰지 않아요. Hermes는 HERMES_HOME에서만 SOUL.md를 로드하며, 현재 작업 디렉터리는 확인하지 않아요. 그래서 프로젝트가 달라도 personality가 예측 가능해져요.13
SOUL.md에 넣을 내용
오래 유지되는 말투와 personality 지침에 사용하세요:13 - tone - 커뮤니케이션 스타일 - 직접성의 정도 - 기본 상호작용 스타일 - 스타일상 피해야 할 것 - Hermes가 불확실성, 의견 차이, 모호함을 다루는 방식
다음 용도에는 덜 적합해요:13 - 일회성 프로젝트 지침 - 파일 경로 - repo 규칙 - 임시 workflow 세부 사항
이런 내용은 SOUL.md가 아니라 AGENTS.md에 들어가야 해요.
SOUL.md와 AGENTS.md
Hermes identity 관리에서 가장 중요한 구분은 이것이에요:13
SOUL.md — identity, tone, style, 커뮤니케이션 기본값, personality 수준의 동작.
AGENTS.md — 프로젝트 아키텍처, 코딩 규칙, tool 선호, repo별 workflow, 명령, port, 경로, 배포 메모.
유용한 기준은 이거예요. 어디서나 따라야 한다면 SOUL.md에 넣으세요. 프로젝트에 속한 내용이라면 AGENTS.md에 넣으세요.13
내장 Personalities
Hermes에는 /personality로 전환할 수 있는 내장 personality들이 포함돼요:13
| 이름 | 설명 |
|---|---|
helpful |
친근한 범용 assistant |
concise |
짧고 핵심적인 응답 |
technical |
상세하고 정확한 기술 expert |
creative |
혁신적이고 틀을 벗어난 사고 |
teacher |
명확한 예시를 드는 인내심 있는 educator |
kawaii |
귀여운 표현, 반짝임, 열정 |
catgirl |
고양이 같은 표현을 쓰는 Neko-chan |
pirate |
기술에 밝은 해적, Captain Hermes |
shakespeare |
극적인 flair가 있는 음유시인풍 문체 |
surfer |
여유로운 bro 분위기 |
noir |
하드보일드 탐정식 narration |
uwu |
uwu 말투를 쓰는 최대치의 귀여움 |
philosopher |
모든 query에 깊은 사색 |
hype |
MAXIMUM ENERGY |
config.yaml의 Custom personalities:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
그런 다음 /personality codereviewer로 전환하세요.
SOUL.md와 /personality
SOUL.md는 기준 voice예요. /personality는 세션 수준 overlay예요.13 실용적인 기본 SOUL.md를 유지한 다음, 튜터링 대화에는 /personality teacher를, 브레인스토밍에는 /personality creative를 사용하세요.
Nous Tool Gateway(v0.10.0+)
Hermes Agent v0.10.0(2026년 4월 16일)부터 유료 Nous Portal 구독자는 기존 Portal credentials를 통해 선별된 tool 모음에 managed access를 얻어요. 관리할 추가 API key는 없어요.26 Hermes CLI 자체는 계속 MIT 라이선스이며 완전히 open source예요. 바뀐 점은 Portal auth가 이제 model inference를 넘어 더 많은 기능을 열어준다는 점이에요.
gateway에 포함된 것
| Tool | Provider | 사용 사례 |
|---|---|---|
| Web search | Firecrawl | 최신 정보가 필요한 agent를 위한 retrieval |
| Image generation | FAL / FLUX 2 Pro | FAL key를 설정하지 않고 inline으로 image 생성 |
| Text-to-speech | OpenAI TTS | messaging gateway의 음성 출력 |
| Browser automation | Browser Use | headless navigation과 scraping |
작동 방식
gateway는 새 use_gateway config field를 통해 tool별 opt-in으로 동작해요. hermes auth에 Portal credentials가 있고 어떤 tool에 gateway를 활성화하면, 해당 tool 호출은 Portal을 통해 route돼요. 그렇지 않으면 직접 설정한 API key가 있을 경우 그 key를 사용해요.
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Runtime 우선순위: gateway를 사용할 수 있고 tool에 use_gateway: true가 있으면, Hermes는 직접 API key가 설정돼 있더라도 gateway를 우선 사용해요. 이는 billing에 중요해요. gateway 호출은 직접 API key의 balance가 아니라 Portal 구독에서 차감돼요.
gateway 활성화
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
별도의 hermes subscribe 또는 hermes login --portal 명령은 없어요. 구독은 hermes auth에 이미 있는 Portal OAuth credentials에서 자동으로 감지돼요.
가격과 access
가격과 tier 이름은 Nous Portal 가격 페이지(https://portal.nousresearch.com/pricing)에 게시돼요. 이 가이드는 tier를 나열하지 않아요. tier는 Hermes CLI가 아니라 Portal product의 책임이고, Hermes release와 독립적으로 바뀌기 때문이에요. https://portal.nousresearch.com/에서 가입하고 가격 페이지에서 현재 tier를 확인하세요.
Deprecation notice
HERMES_ENABLE_NOUS_MANAGED_TOOLSenv var는 v0.10.0에서 제거됐어요. Managed tools는 이제 tool별use_gatewayconfig field로 활성화되며, Portal 구독 상태에 따라 사용할 수 있어요.26
Framing: 이번 release가 아닌 것
Hermes Agent CLI는 구독 뒤에 잠겨 있지 않아요. 프로젝트는 여전히 MIT 라이선스이며, 모든 핵심 기능(CLI, skills, memory, messaging gateway, cron, MCP, local dashboard, 모든 provider용 BYOK)은 누구에게도 비용을 지불하지 않고 end-to-end로 작동해요. v0.10.0은 이미 Nous Portal을 유료로 사용하는 사용자를 위한 편의 경로를 추가한 것이며, 무료 경로에서 아무것도 제거하지 않아요.
Messaging Gateway
Hermes는 하나의 gateway 프로세스에서 Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat, generic Webhook adapter까지 22개 messaging platform에 연결되는 장기 실행 gateway 프로세스로 실행될 수 있습니다.325171819 v0.9.0에서는 BlueBubbles를 통한 iMessage(자동 webhook 등록, 설정 wizard, crash resilience)와 enterprise 앱을 위한 WeCom callback mode가 포함된 iLink Bot API 기반 native WeChat 지원이 추가되었습니다.16 v0.11.0에서는 QQBot이 추가되었습니다.25 v0.12.0에서는 Microsoft Teams와 Tencent Yuanbao가 추가되었습니다.17 v0.13.0에서는 Google Chat이 20번째 platform으로 추가되었고, 동일한 pluggable adapter architecture를 기반으로 동작합니다. IRC와 Microsoft Teams도 generic env_enablement_fn / cron_deliver_env_var plugin hooks가 포함된 새로운 adapter pattern으로 이전되었습니다.18 v0.14.0에서는 LINE과 SimpleX Chat이 추가되며, Graph auth, webhook listener, pipeline runtime, outbound delivery까지 Microsoft Teams stack이 end-to-end로 완성되었습니다.19 v0.17.0(2026년 6월 19일)에서는 Photon Spectrum을 통한 relay-free iMessage가 추가되었습니다(hermes photon login을 사용하는 device-code OAuth — Mac/BlueBubbles relay가 필요 없음). 또한 official WhatsApp Business Cloud API adapter(bridge-process 요구사항 대체), SimpleX groups와 native attachments, bundled platform plugin인 Raft가 추가되었습니다.21
설정
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
대화형 설정은 각 platform 연결 과정을 안내합니다. API token, bot ID, channel mapping, allowlist를 설정하게 됩니다.6
메시지 흐름
upstream architecture docs에 따르면 다음과 같습니다.3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
모든 messaging platform은 CLI와 동일한 AIAgent conversation loop를 거칩니다. 그래서 slash command가 두 위치에서 똑같이 작동하고, Telegram에서 예약한 cron job이 Discord로 결과를 전달할 수 있습니다. platform 차이는 edge에만 있습니다.3
사용자 승인 및 pairing
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
pairing code는 모르는 사람이 gateway에 무작위로 말을 걸지 못하게 막아줍니다. 사용자가 자신의 messaging platform에서 pairing code를 보내면, 사용자는 hermes pairing approve로 승인합니다. 그 이후부터 해당 사용자는 승인된 상태가 됩니다.6
예약 작업(Cron)
Hermes에는 shell command가 아니라 agent task로 동작하는 일급 cron system이 있습니다. 각 scheduled job은 설정된 prompt, 선택적으로 첨부된 skill과 함께 새로운 AIAgent를 통해 실행되며, 결과를 어떤 platform으로든 전달합니다.36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
또는 messaging chat 안에서 대화로 만들 수도 있습니다.
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
agent가 tools를 통해 cron job을 설정합니다. Job은 JSON에 유지되며 restart 후에도 남아 있습니다.3
MCP 통합
Hermes는 Model Context Protocol을 client와 server 양쪽으로 지원합니다.6
client로 사용 — Hermes를 외부 MCP server에 연결해 tool surface를 확장합니다.
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
또는 config.yaml에서 수동으로 설정합니다.14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
server로 사용 — Hermes conversation을 다른 agent에 노출합니다.
hermes mcp serve
hermes mcp serve -v # Verbose
Context Compression
Hermes는 긴 conversation을 자동으로 압축해 model의 context window 안에 유지합니다. compression summarizer는 별도의 LLM call입니다. 원하는 provider나 endpoint를 지정할 수 있습니다.4
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
target_ratio: 0.20 # Fraction to preserve as recent tail
protect_last_n: 20 # Min recent messages to keep uncompressed
summary_model: "google/gemini-3-flash-preview"
summary_provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
summary_base_url: null # Custom OpenAI-compatible endpoint
Provider option:4
summary_provider |
summary_base_url |
결과 |
|---|---|---|
auto (default) |
설정 안 함 | 사용 가능한 최적 provider 자동 감지 |
nous / openrouter / etc. |
설정 안 함 | 해당 provider를 강제 사용하고 그 auth 사용 |
| any | set | custom endpoint를 직접 사용(provider는 무시됨) |
summary_model은 main model만큼 큰 context length를 지원해야 합니다. compression을 위해 conversation의 전체 middle section을 받기 때문입니다.4
Budget Pressure Warning
agent가 tool call이 많은 복잡한 작업을 수행하면, 스스로 알아차리지 못한 채 iteration budget(default: 90 turns)을 소진할 수 있습니다. Budget pressure는 model에 자동으로 경고합니다.4
| Threshold | Level | model이 보는 내용 |
|---|---|---|
| 70% | Caution | [BUDGET: 63/90. 27 iterations left. Start consolidating.] |
| 90% | Warning | [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.] |
Stream Timeout
LLM streaming connection에는 local provider(localhost, LAN IP)에 맞춰 자동 조정되는 2개의 timeout layer가 있습니다.4
| Timeout | Default | Local providers | Env var |
|---|---|---|---|
| Socket read timeout | 120s | Auto-raised to 1800s | HERMES_STREAM_READ_TIMEOUT |
| Stale stream detection | 180s | Auto-disabled | HERMES_STREAM_STALE_TIMEOUT |
| API call (non-streaming) | 1800s | Unchanged | HERMES_API_TIMEOUT |
local endpoint에서는 socket read timeout이 30분으로 늘어납니다. local LLM가 큰 context에서 첫 token을 생성하기 전 prefill에 몇 분이 걸릴 수 있기 때문입니다.4
Local Web Dashboard (v0.9.0+)
Hermes Agent를 로컬에서 관리하기 위한 browser 기반 dashboard입니다. config file이나 terminal을 건드리지 않고 설정을 구성하고, session을 모니터링하고, skill을 탐색하고, gateway를 관리할 수 있습니다.16 hermes dashboard로 실행하세요. GUI를 선호하는 신규 사용자에게 가장 쉬운 onboarding path입니다.
Background Process Monitoring (v0.9.0+)
watch_patterns를 사용하면 background process output에서 모니터링할 pattern을 설정하고, 일치할 때 실시간으로 알림을 받을 수 있습니다.16 error를 감시하거나, 특정 event(“listening on port”)를 기다리거나, build log를 지켜볼 수 있으며 polling은 필요 없습니다. v0.8.0의 notify_on_complete(background task 완료 알림)와 결합되어, Hermes에는 이제 완전한 background process observability layer가 갖춰졌습니다.15
Pluggable Context Engine (v0.9.0+)
Context management는 이제 hermes plugins를 통한 pluggable slot입니다. agent가 매 turn마다 무엇을 볼지 제어하는 custom context engine으로 교체할 수 있습니다. filtering, summarization, domain-specific context injection이 가능합니다.16 이를 통해 context strategy가 core agent loop에서 분리되어 project별 또는 domain별 context customization이 가능해집니다.
Backup & Restore (v0.9.0+)
hermes backup은 config, session, skill, memory의 전체 archive를 생성합니다. hermes import는 backup archive에서 복원합니다.16 machine 간 migration, 큰 변경 전 snapshot 생성, 또는 teammate와 검증된 configuration 공유에 사용할 수 있습니다.
Termux / Android Support (v0.9.0+)
Hermes는 Termux를 통해 Android에서 native로 실행됩니다. 조정된 install path, mobile screen을 위한 TUI optimization, voice backend support, /image command가 device에서 작동합니다.16
Security Hardening (v0.13.0+)
v0.13.0에서는 8개의 P0 보안 문제를 해결하고 사용자에게 더 유리하도록 기본값 하나를 변경했어요.18 이어서 v0.14.0에서는 sudo 무차별 대입 / sudo-stdin 강화, 위험한 명령 우회 수정, 모델에 다시 주입하기 전 도구 오류 정리, dashboard plugin API 인증, skills-hub SSRF 범위 확대, 설치 중 공급망 권고 검사 등을 포함해 P0 12개와 P1 50개를 추가로 해결했어요.19
| 수정 | 변경된 내용 |
|---|---|
| Secret redaction 기본 활성화 | 이전에는 선택 사항이었어요. 명시적으로 비활성화하지 않는 한 로그와 hermes debug share 업로드에서 secret이 마스킹됩니다. v0.12.0에서는 payload 손상 보고 이후 redaction이 기본적으로 비활성화되었지만, v0.13.0에서는 더 안전한 기준으로 다시 활성화됐어요. |
| Discord cross-guild DM 우회 (CVSS 8.1) | Discord 역할 allowlist가 이제 guild 범위로 제한되어, 한 guild의 사용자 역할이 전체 guild의 DM을 허용하던 경로가 닫혔어요. |
| WhatsApp 기본 제한 | WhatsApp adapter는 기본적으로 모르는 사용자를 거부하고 self-chat에는 절대 응답하지 않아요. |
| MCP OAuth TOCTOU 창 | MCP OAuth 흐름에서 자격 증명을 저장하는 동안 발생하던 race condition을 닫았어요. |
CLI auth.json TOCTOU |
CLI auth store의 자격 증명 writer에 있던 유사한 TOCTOU 창을 닫았어요. |
| Browser SSRF 하한선 | Hybrid routing은 169.254.169.254와 그에 준하는 주소에 도달하려는 요청에 대해 cloud-metadata SSRF 하한선을 강제해요. |
| Cron prompt-injection 검사 | cron job이 실행되기 전에 조립된 prompt(로드된 skill 콘텐츠 포함)를 prompt injection 여부로 검사해요. |
hermes debug share redaction |
Debug share 업로드는 쓰기 시점뿐 아니라 업로드 시점에도 로그 콘텐츠를 마스킹해요. |
Hermes 배포를 운영한다면 v0.13.0과 v0.14.0은 단순한 기능 릴리스가 아니라 보안 관련 업그레이드로 취급하세요. v0.13.0은 Discord cross-guild 우회와 2개의 TOCTOU 창을 닫고, v0.14.0은 sudo 처리, tool-error 재주입, plugin API, skills-hub SSRF, dependency advisory 전반에 추가 hardening을 적용해요.
실무자를 위한 Architecture
이 섹션은 내부에서 어떤 일이 일어나는지 이해해 디버그하거나, 확장하거나, 성능을 판단하려는 사람을 위한 내용이에요. upstream architecture 문서를 종합한 것입니다.3
Entry Point → AIAgent
Hermes의 모든 entry point는 결국 AIAgent.run_conversation()을 호출해요.
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
다이어그램은 upstream architecture 문서를 바탕으로 조정했어요.3
배너의 “28 tools”와 “47 tools / 20 toolsets”의 차이. “47 tools” 수치는 upstream repository의 전체 tool registry, 즉 Hermes가 소스 코드와 함께 제공하는 모든 toolset 전체의 tool 수예요. 실제 실행 중인 CLI는 시작 배너에서 더 작은 숫자를 보여줄 수 있습니다. 이 가이드를 검증한 설치 환경에서는 28 tools / 89 skills로 표시됐어요. 이는 버그가 아니에요. 많은 toolset은 선택 사항이며, messaging platform adapter, browser automation, 더 무거운 scraping tool 등은 config.yaml의 toolsets: 아래에서 명시적으로 활성화해야 해요. registry 전체 수는 “사용 가능한 것”이고, 배너 숫자는 “현재 profile에서 활성화된 것”입니다. 활성화된 toolset은 hermes tools --list로 확인하고, 개별 toolset은 ~/.hermes/config.yaml의 toolsets: 블록에서 활성화하거나 비활성화하세요. 실행 중인 session 안에서는 /tools list / /tools enable <name> / /tools disable <name>도 사용할 수 있어요. tool을 제거하면 agent가 tool manifest를 다시 만들 수 있도록 session reset이 트리거됩니다.
3가지 API 모드
Hermes는 provider 차이를 3가지 API 모드로 추상화하며, 런타임에 자동으로 선택해요.3
| API 모드 | 사용하는 곳 |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, 대부분의 custom endpoint, 모든 OpenAI-compatible server |
codex_responses |
OpenAI Codex (ChatGPT OAuth 경유) |
anthropic_messages |
Anthropic API (native), Anthropic OAuth, Anthropic-compatible proxy |
runtime_provider.py resolver는 18개 이상의 provider에 대해 (provider, model) tuple을 (api_mode, api_key, base_url)로 매핑하며, OAuth 흐름, credential pool, alias resolution을 처리해요.3
CLI Session을 통과하는 Data Flow
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
upstream architecture 페이지에서 가져온 내용이에요.3
Prompt 조립 순서
prompt stack에는 다음이 포함돼요.13
SOUL.md(agent identity. 사용할 수 없으면 built-in fallback)- tool-aware behavior guidance
- Memory/user context (
MEMORY.md,USER.md) - Skills guidance
- Context files (
AGENTS.md,.cursorrules) - Timestamp
- Platform-specific formatting hints
/personality같은 선택적 system-prompt overlay
SOUL.md가 기반이며, 그 위에 나머지 모든 것이 쌓입니다.13
Session Storage
FTS5 full-text search를 갖춘 SQLite 기반 session storage입니다. session은 lineage tracking(compression 간 parent/child), platform별 isolation, contention handling을 포함한 atomic write를 지원해요.3
Plugin System
3가지 discovery source가 있어요. ~/.hermes/plugins/(사용자), .hermes/plugins/(프로젝트), pip entry point입니다. plugin은 context API를 통해 tool, hook, CLI command를 등록해요. Memory provider는 plugins/memory/ 아래의 특수한 plugin 유형입니다.3
hermes plugins # Interactive enable/disable UI
hermes plugins install <repo> # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
Design Principles
upstream architecture 페이지의 내용입니다.3
| 원칙 | 실제 의미 |
|---|---|
| Prompt stability | system prompt는 대화 중간에 바뀌지 않아요. 명시적인 사용자 작업(/model)을 제외하면 cache를 깨는 mutation이 없습니다 |
| Observable execution | 모든 tool call은 callback을 통해 사용자에게 표시됩니다. 진행 상황은 CLI(spinner)와 gateway(chat message)에 업데이트돼요 |
| Interruptible | API call과 tool execution은 사용자 입력이나 signal로 실행 중간에 취소할 수 있어요 |
| Platform-agnostic core | 하나의 AIAgent class가 CLI, gateway, ACP, batch, API server를 담당합니다. platform 차이는 entry point에 존재해요 |
| Loose coupling | 선택적 subsystem(MCP, plugin, memory provider, RL environment)은 hard dependency가 아니라 registry pattern과 check_fn gating을 사용해요 |
| Profile isolation | 각 profile은 고유한 HERMES_HOME, config, memory, session, gateway PID를 가집니다. 여러 profile을 동시에 실행할 수 있어요 |
OpenClaw에서 Migration
Hermes Agent는 OpenClaw의 후속입니다. 기존 OpenClaw 설치에서 migration한다면 다음을 사용하세요.65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate는 기본적으로 ~/.openclaw에서 읽고, legacy ~/.clawdbot 및 ~/.moldbot 디렉터리도 자동 감지하며, ~/.hermes에 씁니다.6
직접 import되는 항목(30개 이상 category): SOUL.md, MEMORY.md, USER.md, AGENTS.md, 4개 source directory의 skill, default model, custom provider, MCP server, messaging platform token 및 allowlist(Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), agent default(reasoning effort, compression, human delay, timezone, sandbox), session reset policy, approval rule, TTS config, browser 설정, tool 설정, exec timeout, command allowlist, gateway config, 3개 source의 API key입니다.6
수동 검토를 위해 archive되는 항목: cron job, plugin, hook/webhook, memory backend(QMD), skills registry config, UI/identity, logging, multi-agent setup, channel binding, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md입니다.6
API key resolution은 config 값 → ~/.openclaw/.env → auth-profiles.json의 우선순위로 3가지 source를 확인해요.6
문제 해결
“API key not set”
hermes model을 실행해 provider를 대화형으로 설정하거나, hermes config set OPENROUTER_API_KEY your_key를 실행하세요. hermes doctor 명령은 어떤 key가 빠졌는지 정확히 알려줍니다.7
시작 시 “Context limit: 2048 tokens”가 표시됨 (로컬 모델)
Hermes는 서버의 /v1/models endpoint에서 context 길이를 자동 감지하지만, 많은 로컬 서버는 낮은 기본값을 보고합니다. config.yaml에서 명시적으로 설정하세요:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Tool call이 실행되지 않고 텍스트로 표시됨
서버에서 tool calling이 활성화되어 있지 않거나, 서버 구현을 통해 해당 모델이 tool calling을 지원하지 않는 경우입니다.2
| 서버 | 해결 방법 |
|---|---|
| llama.cpp | 시작 명령에 --jinja를 추가하세요 |
| vLLM | --enable-auto-tool-choice --tool-call-parser hermes를 추가하세요 |
| SGLang | --tool-call-parser qwen을 추가하세요(또는 적절한 parser 사용) |
| Ollama | Tool calling은 기본으로 활성화되어 있습니다. ollama show <model>로 모델이 지원하는지 확인하세요 |
| LM Studio | 0.3.6 이상으로 업데이트하고 native tool 지원 모델을 사용하세요 |
응답이 문장 중간에서 잘림
가능한 원인은 2가지입니다:2
- 서버의 낮은 출력 한도(
max_tokens) — SGLang은 기본적으로 응답당 128 token을 사용합니다. 서버에서--default-max-tokens를 설정하거나config.yaml에서model.max_tokens를 설정하세요. - Context 소진 — 모델이 context window를 모두 채웠습니다.
model.context_length를 늘리거나 Hermes에서 context compression을 활성화하세요.
WSL2에서 Windows 호스트 모델 서버로 연결할 때 “Connection refused” 발생
WSL2는 자체 subnet이 있는 가상 네트워크 adapter를 사용합니다. 따라서 WSL2 내부의 localhost는 Windows host가 아니라 Linux VM을 가리킵니다. 선택지는 2가지입니다:2
Mirrored networking(Windows 11 22H2 이상): %USERPROFILE%\.wslconfig를 편집하세요:
[wsl2]
networkingMode=mirrored
그런 다음 wsl --shutdown을 실행하고 다시 시작하세요. 이제 localhost가 양방향으로 작동합니다.
Host IP fallback(이전 Windows): WSL2 내부에서 Windows host IP를 가져와 localhost 대신 사용하세요:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
또한 모델 서버는 127.0.0.1이 아니라 0.0.0.0에 bind해야 합니다. Ollama는 OLLAMA_HOST=0.0.0.0을 설정하고, llama-server/SGLang은 --host 0.0.0.0을 추가하거나, LM Studio에서는 “Serve on Network”를 활성화하세요.2
모든 파일은 어디에 있나요?
여기서는 hermes status와 hermes dump가 유용합니다. hermes logs list는 모든 log 파일과 크기를 보여줍니다. hermes config path는 config 파일 위치를 출력합니다. hermes config env-path는 .env 위치를 출력합니다.6
FAQ
Hermes Agent와 Claude Code의 차이는 무엇인가요?
Claude Code는 Anthropic의 공식 CLI이며, Anthropic 모델에 고정되어 있습니다. Hermes Agent는 Nous Research의 open-source agent framework로, OpenAI 호환 provider라면 어디서든 작동합니다. Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google, 또는 직접 self-hosted endpoint를 사용할 수 있습니다.12 Hermes에는 Telegram/Discord/Slack/WhatsApp/Signal용 messaging gateway도 포함되어 있으며, Claude Code에는 없습니다.
Anthropic API key로 Hermes를 사용할 수 있나요?
네. 3가지 방법이 있습니다:2
~/.hermes/.env에ANTHROPIC_API_KEY를 설정하고hermes chat --provider anthropic --model claude-sonnet-4-6을 실행하세요hermes model을 실행하고 Anthropic를 선택하세요. 사용 가능한 경우 Hermes는 Claude Code의 credential store를 사용합니다- fallback으로 수동
ANTHROPIC_TOKEN(setup-token 또는 OAuth token)을 설정하세요
같은 machine에서 이미 Claude Code를 사용 중이라면 2번을 권장합니다. refresh 가능한 Claude credential을 계속 refresh 가능하게 유지하기 때문입니다.
대화를 잃지 않고 provider를 전환하려면 어떻게 하나요?
session 안에서 /model provider:model을 사용하세요. 대화 history, memory, skill이 모두 이어집니다:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Anthropic를 설정했는데 vision/web/compression이 작동하지 않습니다
auxiliary model fallback에 걸린 것입니다. Vision, web summarization, compression 및 기타 side task는 별도의 auxiliary LLM을 사용합니다. 기본적으로 auto-detection(OpenRouter → Nous → Codex)을 통해 Gemini Flash를 사용합니다. 이 중 아무것도 설정되어 있지 않고 Anthropic만 설정했다면, 이러한 기능은 조용히 성능이 저하됩니다.4
해결 방법: auxiliary task용 OPENROUTER_API_KEY를 추가하거나, auxiliary slot이 main provider를 사용하도록 다시 설정하세요. context compression은 자체 top-level compression: block에 있으며 summary_provider를 받습니다. auxiliary.compression.provider가 아닙니다. auxiliary.compression slot은 timeout만 노출합니다. 전체 수정 예시는 다음과 같습니다:
auxiliary:
vision: { provider: "main" }
web_extract: { provider: "main" }
compression:
summary_provider: "main"
SOUL.md와 AGENTS.md의 차이는 무엇인가요?
SOUL.md는 agent의 identity입니다. tone, style, communication default를 담습니다. ~/.hermes/SOUL.md에 있으며 어디서든 적용됩니다. AGENTS.md는 project-specific입니다. architecture, convention, command, path를 담고 project directory에 있습니다.13 어디서든 따라다녀야 한다면 SOUL.md에 넣으세요. project에 속한 내용이라면 AGENTS.md에 넣으세요.
여러 Hermes instance를 나란히 실행하려면 어떻게 하나요?
profile을 사용하세요. 각 profile은 자체 HERMES_HOME, config, memory, session, gateway PID를 가집니다:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
Hermes는 로컬 LLM를 지원하나요?
네, custom endpoint path를 통해 지원합니다. Hermes는 OpenAI 호환 서버라면 어디서든 작동합니다. Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan 또는 직접 만든 서버를 사용할 수 있습니다.2 서버별 설정은 Custom & Self-Hosted Endpoints를 참고하세요.
시작 banner에 표시되는 tool 수가 가이드에서 말하는 Hermes의 tool 수보다 적은 이유는 무엇인가요?
가이드는 upstream architecture registry의 47개 tool / 20개 toolset을 인용합니다. 이는 Hermes가 모든 toolset에 걸쳐 source code로 제공하는 tool의 전체 수입니다. 실행 중인 설치본의 banner에는 더 작은 숫자가 표시됩니다(이 가이드에 사용한 reference install은 28개 tool을 보고합니다). 이는 Hermes가 시작 시 기본 toolset set만 활성화하기 때문입니다. 많은 toolset은 opt-in입니다. messaging gateway adapter, browser automation, 더 무거운 scraping stack, 여러 specialized integration은 load되기 전에 ~/.hermes/config.yaml의 toolsets: 아래에 명시적으로 나열해야 합니다. Registry total = “활성화하면 사용할 수 있는 것”입니다. Banner total = “현재 profile이 실제로 load한 것”입니다. 어떤 toolset이 active이고 어떤 toolset이 available하지만 disabled인지 보려면 hermes tools --list를 사용하세요. runtime에는 /tools enable <name> 및 /tools disable <name>으로 개별 toolset을 전환할 수 있습니다(disable하면 session reset이 발생해 agent가 새 형태로 tool manifest를 다시 빌드합니다).
primary provider가 실패하면 Hermes는 model fallback을 어떻게 처리하나요?
config.yaml에서 fallback_model block을 설정하세요:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
primary가 실패하면(rate limit, server error, auth failure) Hermes는 대화 history를 잃지 않고 session 도중 fallback으로 전환합니다. session당 최대 1번만 발생합니다.
agent가 시간이 지나며 자체 skill을 개선할 수 있나요?
네. 이것이 Hermes Agent의 “self-improving” 부분입니다. agent는 skill_manage tool을 통해 skill을 만들고, 업데이트하고, 삭제할 수 있습니다. agent가 단순하지 않은 workflow를 파악하면, 나중에 재사용할 수 있도록 그 접근 방식을 skill로 저장합니다.11 agent는 복잡한 task(5회 이상 tool call) 이후, 오류를 만나 작동하는 경로를 찾았을 때, 사용자가 접근 방식을 수정해 주었을 때, 또는 단순하지 않은 workflow를 발견했을 때 skill을 만듭니다.
IDE integration이 있나요?
네. Hermes는 VS Code, Zed, JetBrains용 ACP(Agent Client Protocol) 서버로 실행할 수 있습니다:6
pip install -e '.[acp]'
hermes acp
변경 기록
| 날짜 | 변경 사항 | 출처 |
|---|---|---|
| 2026-07-01 | 가이드 v1.10: v0.18.0 “The Judgment Release” (2026년 7월 1일, 태그 v2026.7.1). “v0.18.0의 새로운 기능” 섹션을 추가했습니다. 전체 P0/P1 백로그 종료(약 692개 항목), 라벨이 지정된 모델별 앙상블 출력과 라이브 스트리밍을 지원하는 Mixture-of-Agents 일급 지원, 완료 계약 — /goal이 프로젝트 검사를 실행해 자체 작업을 검증, /learn(워크플로 설명 → 재사용 가능한 skill, CONTRIBUTING.md 준수), /journey 메모리/skill 타임라인 + 데스크톱 메모리 그래프, 백그라운드 subagent 팬아웃(동시 위임 작업), Desktop Projects(프로젝트/저장소/레인), 드레인 조정을 포함한 scale-to-zero gateway, Google Vertex AI(GCP 서비스 계정을 통한 Gemini, 자동 OAuth2 새로고침), /prompt \$EDITOR 작성기를 추가했습니다. 출처: hermes-agent releases. |
22 |
| 2026-06-21 | 가이드 v1.9: v0.17.0 “The Reach Release” (2026년 6월 19일, 태그 v2026.6.19). “v0.17.0의 새로운 기능” 섹션을 추가했습니다. 메시징: Photon Spectrum을 통한 릴레이 없는 iMessage(hermes photon login, device-code OAuth), 공식 WhatsApp Business Cloud API 어댑터(브리지 없음), SimpleX 그룹 + 첨부 파일, Raft 플랫폼 플러그인. 모델: z-ai/glm-5.2(1M), anthropic/claude-fable-5, laguna-m.1, nemotron-3-ultra, grok-composer-2.5-fast(xAI OAuth, 200k), xAI 기본값 → grok-build-0.1, Anthropic 적응형 모델은 reasoning 필드를 제거합니다. 데스크톱/대시보드: 라이브 감시 창이 있는 백그라운드 subagent(delegate_task(background=true)), 전체 profile 빌더, 재작업된 Skills Hub, Automation Blueprints, 보안 401 로그인, VS Code Marketplace 테마, 일본어 + 번체 중국어 UI. Skills/도구: image_generate 이미지-투-이미지 편집, memory 원자적 operations 배치, simplify-code skill, boolean write_approval(write_mode 대체). 아키텍처: MCP 유도 핸들러, 플러그형 CronScheduler + Chronos, Managed 범위(/etc/hermes), Gateway-Gateway 릴레이. 명령: /version, /billing, hermes curator run --consolidate(옵트인). 보안: shell-escape 거부 목록 우회 차단, fail-closed 승인/gateway 어댑터, cron env 정리, 디버그 덤프의 비밀값 마스킹, MCP stdio 유출 검사, urllib3 + PyJWT CVE 업데이트. |
21 |
| 2026-06-08 | 가이드 v1.8: v0.16.0 “The Surface Release” (2026년 6월 5일, 태그 v2026.6.5). 가이드 제목을 v0.16으로 변경하고 “v0.16.0의 새로운 기능” 섹션을 추가했습니다. 핵심: Hermes는 더 이상 터미널 전용이 아닙니다. 네이티브 Hermes Desktop 앱(Electron, macOS/Linux/Windows)은 원클릭 설치, 앱 내 자체 업데이트, 스트리밍 채팅, 드래그 앤 드롭 + 클립보드 이미지 붙여넣기, Cmd+K 팔레트, 세션 아카이브/검색, 상태 표시줄 모델 선택기, 보안 WebSocket를 통한 원격 gateway 연결(OAuth 또는 사용자/비밀번호, profile별 호스트, profile 간 @session 링크), typed i18n을 통한 전체 중국어 간체 번역을 제공합니다. 브라우저 관리자 패널(웹 대시보드 → 전체 관리자): MCP 카탈로그 활성화/비활성화, 자격 증명 관리, webhook/hook 생성, 메모리 설정, gateway 제어, 업데이트 전 검사 + Debug Share가 있는 System 페이지, 새로운 Channels 페이지, 플러그형 인증(사용자/비밀번호, 자체 호스팅 OIDC, hermes dashboard register). 새 명령: /undo [N](CLI/TUI/메시징), 설정 가능한 기본 인터페이스(cli/tui, --cli), TUI 통합 /model + Sessions 오버레이, hermes portal, hermes prompt-size, hermes sessions optimize. 새 모델: deepseek-v4-flash, MiniMax-M3(1M context), qwen3.7-plus, gemini-3.5-flash, 데스크톱 런처의 일급 xAI Grok OAuth, 퍼지 모델 선택기, 시간별 카탈로그 새로고침. Skills: 더 가벼워진 기본 세트(Spotify → 네이티브 플러그인, Linear → hermes mcp install linear, 죽은 skill 제거), environments: 관련성 게이트(kanban/docker/s6), NVIDIA/skills 기본 신뢰 tap, 점진적(범위 지정) MCP/플러그인 도구 공개. 보안: CVE-2026-48710(Starlette BadHost) ≥1.0.1로 고정, SSRF 검사를 이벤트 루프 밖으로 이동, 하위 프로세스 env에서 Bedrock bearer token 제거, bws_cache.json 읽기 보호, 위험 패턴에 docker restart/stop/kill 추가, 보이지 않는 유니코드 정리. P0 2개 + P1 62개(보안 태그 16개)를 종료했습니다. |
20 |
| 2026-05-31 | 가이드 v1.7.1: v0.15.1 (2026년 5월 29일 01:12 UTC) — Velocity 패치. Velocity 이후 같은 날 나온 핫픽스이며, 태그 v2026.5.29 라인을 고정했습니다. loopback 모드 배포에 영향을 주던 대시보드 401 재로드 루프를 수정했습니다. Docker는 더 이상 --insecure를 암시적으로 처리하지 않습니다. 다시 사용하려면 HERMES_DASHBOARD_INSECURE=1을 명시적으로 설정하세요. MCP 기본 명령(npx, npm, node)이 Docker 컨테이너 안에서 다시 올바르게 해석됩니다. Skills 페이지 소스 pill과 카테고리 사이드바가 렌더링됩니다. Kanban worker는 프로세스를 고아 상태로 남기지 않고 SIGTERM에 깔끔하게 응답합니다. Skills.sh 카탈로그는 sitemap 탐색을 통해 858개에서 19,932개 항목으로 확장되었습니다. 커밋 28개, 병합된 PR 21개, 기여자 9명. v0.15.2 (2026년 5월 29일 13:37 UTC) — Velocity 패키징 패치. wheel 및 sdist 배포가 plugin.yaml 매니페스트를 포함하도록 수정해, PyPI 설치가 소스 트리 sideload 없이 작동합니다. 패키징 전용 핫픽스이며 기여자는 4명입니다. |
23 |
| 2026-05-28 | 가이드 v1.7: v0.15.0 (2026년 5월 28일) — The Velocity release(태그 v2026.5.28)를 추가했습니다. 핵심: 대규모 리팩터링 패스 + 새로운 오케스트레이션 기본 요소. 코드베이스 리팩터링: run_agent.py가 76% 감소(16,083 → 3,821줄)했고 14개의 응집력 있는 모듈로 분산되었습니다. Multi-agent Kanban v2: 상위 수준 목표를 하위 작업으로 자동 분해, 병렬 worker 조정을 위한 swarm 토폴로지, 작업별 모델 오버라이드, 예약 작업, worktree 관리. 성능: 콜드 스타트에서 추가로 1초 단축, 대화별 function call 47% 감소, session_search가 4,500배 더 빠르게 재설계되고 LLM 의존성이 제거되었습니다(및 해당 API 비용 제거). 보안: Promptware 방어가 3개의 보안 chokepoint에서 Brainworm급 prompt injection을 막습니다. Bitwarden Secrets Manager 통합은 여러 provider별 API 키를 단일 bootstrap token으로 대체합니다. Skill 번들: 하나의 slash command로 여러 skill을 동시에 로드합니다. TUI 세션 오케스트레이터: 단일 터미널 창 안에서 다중 세션을 관리합니다. 새 provider: 이미지 생성을 위한 Krea 2(Medium/Large) 및 FAL 플러그인 지원, xAI 통합 라운드는 웹 검색 플러그인, OAuth upstream, 폐기된 모델 감지, 자연스러운 TTS 일시정지를 추가합니다. 통계: 커밋 1,302개, 병합된 PR 747개, 커뮤니티 기여자 321명. GitHub 릴리스 노트에 따르면, 같은 날 또는 다음 날 패치 릴리스에서 대시보드 401 재로드 루프, Docker --insecure 명시적 env var, Docker 안의 MCP 기본 명령 해석(npx, npm, node), Skills 페이지 복원, Kanban worker SIGTERM 처리, sitemap을 통한 전체 19,932개 항목 Skills 카탈로그를 처리했습니다. |
24 |
| 2026-05-21 | 가이드 v1.6: v0.14.0 (2026년 5월 16일) — The Foundation release를 추가했습니다. 핵심: 더 가벼운 설치/런타임 기반과 더 넓어진 provider, gateway, 미디어, 검증 표면. grok-4.3 1M context가 있는 SuperGrok OAuth, OAuth provider용 OpenAI 호환 hermes proxy, 일급 x_search, pip install hermes-agent, 지연 의존성 설치, 약 19초 더 빠른 실행, 180배 더 빠른 브라우저 CDP call, 22개 메시징 플랫폼을 위한 LINE + SimpleX Chat, Microsoft Teams end-to-end, /handoff, /subgoal, Telegram/Discord의 네이티브 clarify 버튼, Discord 히스토리 backfill, 원시 픽셀 vision_analyze, 턴별 파일 변경 검증 footer, 매 write마다 LSP semantic diagnostics, 통합 video_generate, 비Anthropic provider용 cua-driver 기반 computer_use, OSC8 클릭 가능한 URL, Zed ACP Registry 지원, OpenRouter Pareto Code router, NovitaAI, Codex app-server 런타임, huggingface/skills 신뢰 tap, 선택적 skill 9개, 플러그인 ctx.llm / tool_override, Brave/DDGS 웹 검색, Qwen Cloud 이름 변경, 네이티브 Windows 베타, P0 12개 / P1 50개 종료를 추가했습니다. |
19 |
| 2026-05-07 | 가이드 v1.5: v0.13.0 (2026년 5월 7일) — The Tenacity release를 추가했습니다. 핵심: swarm을 단순한 위임 패턴이 아니라 일급 기본 요소로 바꾸는 내구성 있는 multi-agent Kanban 보드(heartbeat, reclaim, zombie 감지, hallucination 게이트, 작업별 max_retries, multi-project 보드). /goal 명령은 여러 턴에 걸쳐 agent를 목표에 고정합니다(Ralph-loop 패턴을 slash command로 제공). 새로운 video_analyze 도구는 Gemini-first이며 확장 가능한 호환 모델 지원을 제공합니다. xAI Custom Voices TTS provider는 voice cloning을 지원합니다. CLI 및 gateway 메시지를 위한 7개 언어 i18n(zh-Hans, ja, de, es, fr, uk, tr), 문서는 zh-Hans만 지원합니다. 플러그형 어댑터 패턴을 통해 Google Chat이 20번째 메시징 플랫폼으로 추가되었고, IRC + Microsoft Teams도 같은 패턴으로 마이그레이션되었습니다. 코어 변경 없이 플러그형 서드파티 provider를 지원하는 ProviderProfile ABC + plugins/model-providers/. gateway 재시작, /update, 소스 파일 재로드 전반의 세션 자동 재개. 단일 저장소 설계, 실제 pruning, 디스크 guardrail을 포함한 Checkpoints v2 재작성. P0 보안 종료 8개: secret redaction 기본 활성화, Discord 교차 길드 DM 우회(CVSS 8.1), WhatsApp stranger-reject + self-chat-mute, MCP OAuth TOCTOU, CLI auth.json TOCTOU, 브라우저 SSRF floor, cron prompt-injection scanning, hermes debug share redaction. Python/JSON/YAML/TOML에 대한 쓰기 후 linting, cron no_agent script-only 모드, Slack/Telegram/Mattermost/Matrix/DingTalk 전반의 플랫폼 allowlist, MCP 개선(SSE transport, OAuth forwarding, 이미지 MEDIA 태그). v0.12.0 이후 통계: 커밋 864개, 병합된 PR 588개, 변경된 파일 829개, 커뮤니티 기여자 295명, 종료된 이슈 282개(P0 13개, P1 36개). |
18 |
| 2026-05-06 | 가이드 v1.4: v0.12.0 (2026년 4월 30일) — The Curator release를 추가했습니다. 핵심: gateway의 cron ticker에서 실행되는 자율 백그라운드 Curator(기본 7일 주기)가 루브릭으로 skill 라이브러리를 평가하고, 죽은 skill을 pruning하고, 관련 skill을 통합하며, 실행별 보고서를 작성합니다. Hermes는 활성 세션 사이에도 스스로를 유지합니다. 자체 개선 루프는 루브릭 기반 평가, active-update bias, 적절한 런타임 상속, 메모리와 skills로 제한된 범위 지정 toolset으로 업그레이드되었습니다. 새 inference provider 4개: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio가 일급으로 승격되었습니다. 원격 모델 카탈로그 매니페스트는 이제 릴리스 없이 자동 업데이트됩니다. 새 메시징 플랫폼 2개: Microsoft Teams(19번째, 플러그형 gateway 아키텍처 기반) 및 Tencent Yuanbao(18번째, 네이티브 텍스트 + 미디어). PKCE OAuth 기반 네이티브 Spotify와 번들 skill, 통화와 transcription을 위한 Google Meet 플러그인, Piper 로컬 TTS provider. ComfyUI v5 + TouchDesigner-MCP가 선택 사항에서 기본 번들로 이동했습니다. 새 skill: Humanizer, claude-design, design-md, airtable. CLI 추가 사항: hermes -z one-shot 모드, hermes update --check preflight, /reload-skills slash command, 플러그형 busy-indicator 스타일. 지연 agent 초기화와 지연 import를 통해 보이는 TUI 콜드 스타트가 약 57% 줄었습니다. 보안: payload 손상을 막기 위해 secret redaction은 기본 비활성화, 복구 불가능한 명령에 대한 강경 blocklist. 통계: 커밋 1,096개, 병합된 PR 550개, 커뮤니티 기여자 213명. |
17 |
| 2026-04-25 | 가이드 v1.3: v0.11.0 (2026년 4월 23일) — The Interface release를 추가했습니다. 인터랙티브 TUI를 Python JSON-RPC 백엔드(tui_gateway) 기반 React/Ink로 전면 재작성했습니다. 고정 composer, OSC-52 클립보드 지원 라이브 스트리밍, 안정적인 picker 키, 턴별 stopwatch와 git branch가 있는 상태 표시줄, /clear 확인, light-theme preset, subagent spawn 관측성 오버레이. 플러그형 transport 아키텍처 — 더 깔끔한 provider plumbing을 위해 형식 변환과 HTTP transport를 agent/transports/로 추출했습니다. Converse API 기반 네이티브 AWS Bedrock. 새 inference 경로 5개: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway. Codex OAuth를 통한 GPT-5.5 — 새로운 OpenAI flagship을 이제 별도의 API 키 없이 ChatGPT Codex OAuth를 통해 사용할 수 있습니다. QR 스캔 설정과 스트리밍을 지원하는 QQBot(17번째 메시징 플랫폼). 플러그인 표면 확장: slash command, 도구 dispatch, 실행 차단, 결과 변환. /steer <prompt> — 실행 중 agent를 중간에 유도하며, 턴을 중단하거나 prompt cache를 깨지 않고 다음 도구 call 이후 실행 중인 agent가 볼 수 있는 메모를 주입합니다. Shell hook은 Python 플러그인 없이 스크립트를 lifecycle hook으로 연결합니다. Webhook 직접 전달 모드는 fan-out을 위해 agent를 우회하고 payload를 플랫폼 채팅으로 바로 전달합니다. 오케스트레이터 역할, 설정 가능한 spawn 깊이, 파일 조정을 갖춘 더 스마트한 delegation. Dashboard에는 플러그인 시스템, 라이브 테마 전환, i18n, 모바일 반응성이 추가되었습니다. v0.9.0 이후 통계: 커밋 1,556개, 병합된 PR 761개, 변경된 파일 1,314개, 삽입 224,174줄, 커뮤니티 기여자 29명. |
25 |
| 2026-04-16 | 가이드 v1.2: v0.10.0 — Nous Tool Gateway를 추가했습니다. 유료 Nous Portal 구독자는 이제 추가 API 키 없이 관리형 도구(Firecrawl 웹 검색, FAL / FLUX 2 Pro 이미지 생성, OpenAI TTS, Browser Use 브라우저 자동화)에 접근할 수 있습니다. 새로운 use_gateway 설정 필드를 통해 도구별로 옵트인합니다. 둘 다 설정된 경우 런타임은 직접 API 키보다 gateway를 우선합니다. HERMES_ENABLE_NOUS_MANAGED_TOOLS env var는 제거되었습니다. Hermes Agent CLI는 MIT 라이선스를 유지하며 완전히 무료입니다. |
26 |
| 2026-04-13 | 가이드 v1.1: v0.8.0 및 v0.9.0 기능을 추가했습니다. 로컬 웹 대시보드, /fast 모드, iMessage + WeChat 플랫폼(총 16개), 백그라운드 프로세스 모니터링(watch_patterns), 플러그형 context engine, hermes backup/hermes import, Termux/Android, xAI + MiMo + Google AI Studio + Qwen provider, /debug 명령, 포괄적인 보안 강화. |
15 16 |
| 2026-04-10 | 가이드 v1.0: Hermes Agent v0.7.0을 다룬 초기 릴리스. Provider 인증, 설정, CLI, slash command, 도구, skills, 메모리, gateway, cron, MCP, 압축, 아키텍처, OpenClaw 마이그레이션, 문제 해결, FAQ. |
참고 문헌
-
Nous Research, GitHub의 “Hermes Agent” 프로젝트 README. 제품 설명(자가 개선 agent, multi-provider, messaging gateway, terminal backends, skill evolution, cron scheduler, delegation)과 “Quick Install” 한 줄 설치 명령의 주요 출처입니다. ↩↩↩
-
Nous Research, Hermes Agent 문서의 “AI Providers”. 전체 provider 목록, provider별 인증 방법(Nous Portal OAuth, Codex device code, GitHub Copilot token types, Anthropic 3가지 인증 방식, 중국 AI providers, Hugging Face routing, custom endpoints), 3가지 인증 경로(
.env의 API key,hermes model을 통한 OAuth,config.yaml의 custom endpoint),/modelslash command 문법(custom:name:model포함), Ollama/vLLM/SGLang/llama.cpp/LM Studio 설정 템플릿, WSL2 네트워킹 안내, context length 감지 체인, fallback model 설정, smart model routing, named custom providers의 주요 출처입니다. 이 글에 나오는 provider별 환경 변수 이름, token types, base URL overrides, model identifiers는 모두 이 페이지에서 가져왔습니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 개발자 가이드의 “Architecture”. 시스템 개요 다이어그램, 디렉터리 구조, CLI session 및 gateway message 경로를 통한 데이터 흐름, 3가지 API 모드(
chat_completions,codex_responses,anthropic_messages),runtime_provider.py를 통한 provider resolution, SQLite + FTS5를 통한 session persistence, messaging gateway platform 목록, plugin system discovery sources, profile isolation, 6가지 설계 원칙의 주요 출처입니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 사용자 가이드의 “Configuration”. 설정 디렉터리 구조,
config.yamlvs.env규칙(“비밀이 아닌 설정은config.yaml이 우선”), 설정 우선순위 체인(CLI args → env → config.yaml → .env → defaults), context compression 설정(threshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url이 포함된compression.*블록), budget pressure 임계값(70% caution, 90% warning), local provider auto-adjustment가 포함된 streaming timeouts, 전체 auxiliary model 설정 블록(vision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memoriesslots가 포함된auxiliary:)의 주요 출처입니다. auxiliary/compression/fallback slots에 대한"main"provider 제한도 이 페이지에서 가져왔습니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 가이드의 “Migrate from OpenClaw”. OpenClaw → Hermes 마이그레이션 흐름의 출처입니다. ↩↩
-
Nous Research, Hermes Agent 참조 문서의 “CLI Commands Reference”. 이 글에 문서화된 모든 최상위 CLI command의 주요 출처이며,
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes update,hermes uninstall을 포함합니다. 이 글의 모든 subcommand flags, option descriptions, credential pool behavior, log filtering syntax, OpenClaw migration flags, profile management commands, service installation commands는 이 페이지에서 가져왔습니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 시작 가이드의 “Installation”. 한 줄 installer command, installer의 동작(prerequisites, platform support, Termux auto-detection, Windows/WSL2 requirements), optional extras table, manual installation steps, verification commands의 주요 출처입니다. ↩↩↩↩↩↩↩
-
Nous Research, “CLI Commands Reference” — command의 출력 형식(header, environment, identity, model, terminal, API keys, features, services, workload, config overrides)과 diagnostics 공유 용도를 설명하는
hermes dump섹션을 특히 참고하세요. ↩ -
Nous Research, Hermes Agent 참조 문서의 “Slash Commands Reference”. 이 글에 나열된 모든 slash command,
COMMAND_REGISTRYarchitecture, CLI vs messaging 분리, dynamic skill slash commands,config.yaml의 quick commands, prefix matching behavior, messaging-only commands(/status,/sethome,/approve,/deny,/update,/commands)의 주요 출처입니다. ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 사용자 가이드의 “Tools & Toolsets”. tool category 개요, toolset usage commands, 6가지 terminal backends(local, docker, ssh, singularity, modal, daytona), container configuration(cpu, memory, disk, persistent), containers를 위한 security hardening, background process management API, sudo support의 주요 출처입니다. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, Hermes Agent 사용자 가이드의 “Skills System”. progressive disclosure,
SKILL.md형식, platform-specific skills, conditional activation(fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools),skill_manage를 통한 agent-managed skills, skill hub commands 및 source list(official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), security scanning과 trust levels, external skill directories의 주요 출처입니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 사용자 가이드의 “Persistent Memory”.
MEMORY.md/USER.md글자 수 제한, frozen snapshot pattern, memory tool actions(add,replace,remove), 저장할 항목과 건너뛸 항목, memory vs session search 비교, 8가지 external memory providers(Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory) 목록의 주요 출처입니다. ↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 사용자 가이드의 “Personality & SOUL.md”.
SOUL.md동작(HERMES_HOME에 위치, 절대 덮어쓰지 않음, system prompt의 slot #1, 포함 전 security-scanned), SOUL.md vs AGENTS.md 구분, 내장 personality 목록(helpful부터hype까지 14개 personalities),config.yaml의 custom personalities,/personalityoverlay pattern, 전체 prompt stack assembly order의 주요 출처입니다. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, Hermes Agent 가이드와 참조 문서의 “Use MCP with Hermes” 및 MCP Config Reference.
command,args,envfields가 포함된config.yaml의mcp_servers:설정 형식 출처입니다. ↩ -
Hermes Agent v0.8.0 Release Notes. 2026년 4월 8일. Background process auto-notifications, Nous Portal의 무료 MiMo v2 Pro, 여러 플랫폼에서 실시간
/modelswitching, Google AI Studio native provider, Qwen OAuth, inactivity-based timeouts, Slack/Telegram의 approval buttons, MCP OAuth 2.1 PKCE, centralized logging, plugin system expansion. ↩↩↩↩↩ -
Hermes Agent v0.9.0 Release Notes. 2026년 4월 13일. Local web dashboard, Fast Mode(
/fast), BlueBubbles를 통한 iMessage, WeChat + WeCom, Termux/Android, background process monitoring(watch_patterns), xAI + Xiaomi MiMo native providers, pluggable context engine, unified proxy support, security hardening(path traversal, shell injection, SSRF, RCE fixes),hermes backup/hermes import,/debug+hermes debug share, 16개 지원 플랫폼. 487 commits, 269 merged PRs, 24 contributors. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 Release Notes. 2026년 4월 30일. “The Curator release.” gateway의 cron ticker에서 7일 기본 주기로 실행되며 skill library를 채점, 정리, 통합하는 autonomous background Curator. Self-improvement loop 업그레이드: rubric-based grading, active-update bias, proper runtime inheritance, memory와 skills로 제한된 scoped toolsets. 4가지 새 inference providers: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio가 first-class로 승격되었습니다. Remote model catalog manifests가 release 없이 자동 업데이트됩니다. 2가지 새 messaging platforms: Microsoft Teams(19번째, pluggable gateway architecture 기반) 및 Tencent Yuanbao(18번째, native text + media). bundled skill이 포함된 PKCE OAuth 기반 Native Spotify, 통화와 transcription을 위한 Google Meet plugin, Piper local TTS provider. ComfyUI v5 + TouchDesigner-MCP가 기본 bundled됩니다. 새 skills: Humanizer, claude-design, design-md, airtable. CLI:
hermes -zone-shot mode,hermes update --checkpreflight,/reload-skillsslash command, pluggable busy-indicator styles. Lazy initialization으로 TUI cold start가 약 57% 단축되었습니다. Security: secret redaction은 기본 비활성화, 복구 불가능한 commands에 대한 hardline blocklist. v0.11.0 이후 통계: 1,096 commits, 550 merged PRs, 213 community contributors. 참고: v2026.4.30 release tag. ↩↩↩ -
Hermes Agent v0.13.0 Release Notes. 2026년 5월 7일. “The Tenacity release.” heartbeat, reclaim, zombie detection, hallucination gate, per-task
max_retries, multi-project boards가 포함된 Multi-agent Kanban board. 설정 가능한 turn budget을 갖춘 cross-turn target locking(Ralph loop primitive)을 위한/goalslash command.video_analyzetool, Gemini-first 및 호환 가능한 multimodal extensibility. Voice cloning을 지원하는 xAI Custom Voices TTS provider. 7개 언어 i18n: zh-Hans, ja, de, es, fr, uk, tr(CLI + gateway messages, 문서는 zh-Hans만). Genericenv_enablement_fn/cron_deliver_env_varplugin hooks가 포함된 pluggable adapter pattern을 통해 Google Chat이 20번째 messaging platform으로 추가되었고, IRC와 Microsoft Teams도 같은 pattern으로 마이그레이션되었습니다. Pluggable third-party providers를 위한ProviderProfileABC +plugins/model-providers/. Gateway restart,/update, source-file reloads 전반의 session auto-resume. Checkpoints v2 single-store rewrite: 실제 pruning, disk guardrails, orphan shadow repos 없음. 8개 P0 security closures: secret redaction default-on, Discord cross-guild DM bypass(CVSS 8.1, role allowlists guild-scoped), WhatsApp default-rejects-strangers + never-respond-in-self-chat, MCP OAuth credential-save TOCTOU, credential writers의 CLIauth.jsonTOCTOU, hybrid routing의 browser cloud-metadata SSRF floor, prompt injection 방지를 위한 cron assembled-prompt scanning(skill content 포함), upload 시점의hermes debug sharelog-content redaction. 추가 주요 항목: Python/JSON/YAML/TOML에 대한 post-write linting, cronno_agentscript-only watchdog mode, Slack/Telegram/Mattermost/Matrix/DingTalk 전반의 platform allowlists, MCP enhancements(SSE transport, OAuth forwarding, MEDIA tags로 제공되는 image results). v0.12.0 이후 통계: 864 commits, 588 merged PRs, 829 files changed, 295 community contributors, 282 issues closed(13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 Release Notes. 2026년 5월 16일. “The Foundation release.” v0.13.0 이후: 808 commits, 633 merged PRs, 1,393 files changed, 165,061 insertions, 545 issues closed(12 P0, 50 P1), 215 community contributors. grok-4.3 1M context가 포함된 SuperGrok OAuth,
hermes proxy,x_search, PyPI packaging, lazy dependencies, cross-session 1h Claude prompt cache, 약 19초 더 빠른 launch, 180배 더 빠른 browser CDP calls, 22개 messaging platforms를 위한 LINE 및 SimpleX Chat,/handoff, native clarify buttons, Discord history backfill, raw-pixelvision_analyze, per-turn file-mutation verifier footer, LSP semantic diagnostics, unifiedvideo_generate, cua-drivercomputer_use, OSC8 links, Zed ACP Registry support, OpenRouter Pareto Code router, NovitaAI, Codex app-server runtime,huggingface/skills, pluginctx.llm,tool_override, Brave/DDGS search, dangerous-command hardening,/subgoal, Qwen Cloud rename, native Windows beta, 총 16개 locales, 광범위한 documentation/test updates가 추가되었습니다. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.16.0 release notes, “The Surface Release,” tag
v2026.6.5, 2026-06-06T00:55:58Z에 게시됨(release-tag date 2026년 6월 5일), 2026년 6월 8일 기준 최신. 새 native Hermes Desktop(Electron, macOS/Linux/Windows, secure WebSocket와 OAuth 또는 user/pass를 통한 remote-gateway connect, per-profile remote hosts, cross-profile@sessionlinks, typed i18n과display.language를 통한 Simplified Chinese UI). Web dashboard가 전체 admin panel로 확장되었습니다(MCP catalog toggles, credential management, webhook/hook creation, memory config, gateway controls, update 전 check + Debug Share가 포함된 System page, Channels page, self-hosted OIDC 및hermes dashboard register를 포함한 pluggable auth). 새 commands:/undo [N], configurable default interface(cli/tui,--cli), TUI/model+ Sessions overlay,hermes portal,hermes prompt-size,hermes sessions optimize. 새 models:deepseek-v4-flash,MiniMax-M3(1M context),qwen3.7-plus,gemini-3.5-flash; xAI Grok OAuth; fuzzy picker; hourly catalog refresh. Skills: 더 가벼운 default set,environments:relevance gate,NVIDIA/skillsdefault trusted tap, progressive tool disclosure, MCP false-OAuth-success fix. Security: CVE-2026-48710(Starlette BadHost) pinned ≥1.0.1, event loop 밖 SSRF checks, subprocess env에서 Bedrock bearer token 제거,bws_cache.jsonread-guarded,docker restart/stop/killdangerous-pattern additions, invisible-unicode sanitization; 2 P0 + 62 P1 closed(16 security-tagged). Release-note marketing framing(PR/commit counts, “none of this existed a week ago”)은 제외했고, tag에 연결된 구체적인 feature/version facts만 기록했습니다. Current-session verification 2026년 6월 8일. ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.17.0 release notes, “The Reach Release,” tag
v2026.6.19, 2026년 6월 19일, 2026년 6월 21일 기준 최신. Messaging: Photon Spectrum을 통한 iMessage(device-code OAuth,hermes photon login, Mac relay 없음), official WhatsApp Business Cloud API adapter(bridge process 대체), SimpleX groups, native attachments, text batching, auto-accept, Raft bundled platform plugin. Models/providers:z-ai/glm-5.2(1M context),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(xAI OAuth, 200k context); xAI default →grok-build-0.1; Anthropic adaptive models는 modern thinking contract를 사용합니다(reasoningfield 없음). CLI/slash:/version,/billing,hermes photon login,hermes curator run --consolidate(opt-in),hermes modelGUI, profile cloning. Desktop: background subagent watch-windows(delegate_task(background=true)), Composer model selector, rebindable shortcuts, native OS notifications, per-thread drafts, VS Code Marketplace themes, Japanese + Traditional Chinese UI. Dashboard: full profile builder, global profile switcher, security scan이 포함된 Skills Hub rehaul, Automation Blueprints, secure login(OAuth 뒤 401). Skills/tools: provider 전반의image_generateimage-to-image editing,memoryoperationsatomic batch,simplify-codeparallel-review skill,write_mode를 대체하는 booleanwrite_approval. Architecture: background subagents(handle이 즉시 반환되고 결과가 turn으로 다시 들어옴), mid-tool-call confirmation을 위한 MCP elicitation handler, turn 사이에 노출되는 late-connecting MCP tools, pluggable CronScheduler + Chronos managed-cron, Managed scope(/etc/hermesadmin-pinned), Gateway-Gateway relay. Security: shell-escape denylist bypass closed, missing approval module 및 own-policy gateway adapters에서 fail-closed, cron job-script env sanitized, debug dumps에서 secrets redacted, public status에서 host metadata withheld, MCP stdio exfil-pattern screening, urllib3 + PyJWT CVE bumps. Release marketing framing(commit/PR counts)은 제외했습니다. Current-session verification 2026년 6월 21일. ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.0 release notes (tag
v2026.7.1), 2026년 7월 1일 — “The Judgment Release.” Priority backlog sweep(모든 P0/P1 closed, 12일 동안 약 692 items); Mixture-of-Agents가 모든 interfaces에서 first-class model로 선택 가능하며 각 reference model의 전체 출력이 자체 labeled block으로 렌더링되고 live answer streaming 제공;/goal을 위한 completion contracts(agent가 project checks를 실행해 자기 작업을 검증);/learncommand(설명만으로 무엇이든 reusable skill로 전환, 자동 CONTRIBUTING.md compliance 포함); editing과 desktop memory graph가 포함된/journeyvisual memory/skill timeline; background subagent fan-out(여러 concurrent delegated tasks); Desktop Projects(project/repo/lane model); drain coordination이 포함된 scale-to-zero gateway; Google Vertex AI support(GCP service accounts를 통한 Gemini, automatic OAuth2 token refresh);/prompt$EDITOR command. GitHub releases page를 기준으로 2026년 7월 1일(PST) Current-session verification을 수행했으며, v0.18.0이 최신 release입니다. ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.15.1 release notes 및 Hermes Agent v0.15.2 release notes. v0.15.1(2026년 5월 29일 01:12 UTC)은 같은 날 나온 Velocity hotfix입니다: loopback mode에서 dashboard 401 reload-loop fix, Docker가 이제 명시적인
HERMES_DASHBOARD_INSECURE=1을 요구함, MCP bare commands(npx,npm,node)가 Docker containers에서 resolve됨, Skills page source pills + category sidebar restored, Kanban workers가 SIGTERM에 응답함, Skills.sh catalog가 sitemap을 통해 858개에서 19,932개 entries로 증가함. 28 commits, 21 merged PRs, 9 contributors. v0.15.2(2026년 5월 29일 13:37 UTC)는 wheel 및 sdist distributions에plugin.yamlmanifests를 bundled하여 PyPI installs가 source sideloading 없이 작동하게 하는 packaging-only hotfix입니다. 4 contributors. ↩ -
Hermes Agent v0.15.0 release notes 및 Hermes Agent releases page. “The Velocity release,” tag
v2026.5.28. Stats: 1,302 commits, 747 merged PRs, 321 community contributors.run_agent.py를 76% refactor(14개 modules 전반에서 16,083 → 3,821 lines). Multi-agent Kanban platform(auto-decomposition, swarm topology, per-task model overrides, scheduled tasks, worktree management) 추가.session_search가 LLM dependency 제거와 함께 4,500배 더 빠르게 재설계되었습니다. 3가지 security chokepoints에서 Brainworm-class prompt injection에 대응하는 Promptware defense. Bitwarden Secrets Manager integration이 여러 provider별 API keys를 single bootstrap token으로 대체합니다. Skill bundles를 통해 하나의 slash command로 여러 skills를 load할 수 있습니다. 하나의 terminal window에서 multi-session management를 위한 TUI session orchestrator. Image generation을 위한 Krea 2(Medium/Large) 및 FAL plugin support. xAI integration round는 web-search plugin, OAuth upstream, retired-model detection, voice output의 natural TTS pauses를 추가합니다. GitHub에 언급된 patch release는 dashboard 401 reload-loop, Docker--insecure에 명시적HERMES_DASHBOARD_INSECURE=1env var 요구, Docker에서 MCP bare command resolution(npx,npm,node), Skills page rendering, Kanban worker SIGTERM handling, sitemap을 통한 전체 19,932-entry Skills catalog, 그리고.mddelivery, gateway probe safety, web URL redaction, kanban-worker vision capability, hindsight observation defaults의 소규모 묶음을 다룹니다. ↩ -
Hermes Agent v0.11.0 Release Notes. 2026년 4월 23일. “The Interface release” — Python JSON-RPC backend(
tui_gateway)가 포함된 interactive CLI의 전체 React/Ink rewrite, pluggable transport architecture(agent/transports/), Converse API를 통한 native AWS Bedrock, 5가지 새 inference paths(NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway), Codex OAuth를 통한 GPT-5.5, QR-scan setup이 포함된 17번째 messaging platform QQBot, 확장된 plugin surface(slash commands, tool dispatch, execution blocking, result transformation), prompt cache를 깨지 않고 다음 tool call 후 context를 inject하는 mid-run agent nudges용/steer <prompt>, Python plugins 없이 lifecycle events를 위한 shell hooks, payloads를 platform chat으로 직접 전달하는 webhook direct-delivery mode, orchestrator roles + configurable spawn depth + file coordination이 포함된 smarter delegation, dashboard plugin system, live theme switching, i18n, mobile responsiveness. v0.9.0 이후 통계: 1,556 commits · 761 merged PRs · 1,314 files changed · 224,174 insertions · 29 community contributors. 참고: Hermes Agent v0.11.0 GitHub release tag. ↩↩↩ -
Hermes Agent v0.10.0 Release Notes. 2026년 4월 16일. “The Tool Gateway Release.” 유료 Nous Portal 구독자를 위한 Nous Tool Gateway integration — 추가 API keys 없이 Firecrawl web search, FAL / FLUX 2 Pro image generation, OpenAI TTS, Browser Use browser automation에 대한 managed access 제공. 새
use_gatewayconfig field를 통한 tool별 opt-in. 둘 다 설정된 경우 runtime은 direct API keys보다 gateway를 선호합니다.hermes tools및hermes status와 완전 통합됩니다. DeprecatedHERMES_ENABLE_NOUS_MANAGED_TOOLSenv var를 대체합니다. @jquesnelle(emozilla)이 구현했습니다. Hermes Agent CLI는 MIT-licensed이며 완전히 open source로 남아 있습니다. gateway는 기존 Portal subscription product와의 integration이지, CLI에 대한 paywall이 아닙니다. Subscription pricing 및 signup은 Nous Portal도 참고하세요. ↩↩↩