hermes@agent:~/.hermes$ cat hermes.md

Hermes Agent: Praktyczny przewodnik referencyjny (2026)

# Wersja 0.13 Tenacity wprowadza wieloagentowy Kanban z heartbeat i wykrywaniem zombie, blokadę pętli Ralph w /goal, video_analyze, xAI Custom Voices TTS, i18n w 7 językach, Google Chat jako 20. platformę, wtyczkowych dostawców ProviderProfile, automatyczne wznawianie sesji, Checkpoints v2 oraz 8 krytycznych poprawek bezpieczeństwa P0.

words: 11761 read_time: 45m updated: 2026-05-07 21:01
$ less hermes.md

TL;DR: Hermes Agent to otwartoźródłowy, samodoskonalący się agent AI od Nous Research. Działa jako CLI oraz jako wieloplatformowa brama komunikacyjna, przechowuje trwałą tożsamość i stałą pamięć na dysku, agreguje umiejętności, które poprawiają się wraz z użyciem, i współpracuje z każdym dostawcą LLM kompatybilnym z OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, Hugging Face, Google lub własnym, samodzielnie hostowanym punktem końcowym.12 Najtrudniejszą częścią dla większości nowych użytkowników jest uwierzytelnianie u dostawcy: Hermes obsługuje ~19 dostawców pierwszej klasy oraz niestandardowe punkty końcowe, a także trzy odrębne ścieżki uwierzytelniania (klucz API w .env, OAuth poprzez hermes model lub niestandardowy punkt końcowy w config.yaml). Model uwierzytelniania to pierwsza rzecz, której warto się nauczyć — cała reszta jest pochodną tego, który dostawca zostanie wybrany.

Hermes Agent działa jako pełnoprawne środowisko uruchomieniowe agenta, a nie jako nakładka czatu. Czyta system plików, wykonuje polecenia w piaskownicowych backendach, przeszukuje sieć, tworzy podagentów, uruchamia zaplanowane zadania cron, komunikuje się z Telegram/Discord/Slack/WhatsApp/Signal/e-mailem z poziomu jednego procesu bramy oraz tworzy własne umiejętności na podstawie doświadczenia.1 CLI to interfejs terminalowy zbudowany na bazie pętli konwersacyjnej w run_agent.py; brama to długo działający proces, który kieruje wiadomości z platform komunikacyjnych przez tę samą pętlę konwersacyjną.3

Różnica między swobodnym a eksperckim użyciem Hermesa sprowadza się do pięciu systemów. Opanowanie ich sprawia, że Hermes staje się mnożnikiem siły:

  1. Wybór dostawcy: w jaki sposób przepływy uwierzytelniania mapują się na wywołania API
  2. Hierarchia konfiguracji: config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. System narzędzi i zestawów narzędzi (toolset): co agent może robić, z ograniczeniami per platforma
  4. System skills: pamięć proceduralna, którą agent tworzy i rozwija
  5. Gateway + cron + profile: uruchamianie Hermesa tam, gdzie się żyje, a nie tylko tam, gdzie się jest

Najważniejsze wnioski

  • Uwierzytelnianie u dostawcy ma trzy ścieżki, nie jedną. Klucz API w .env, OAuth poprzez hermes model/hermes auth lub niestandardowy punkt końcowy w config.yaml. Należy wybrać ścieżkę pasującą do dostawcy, a nie tę, która wydaje się znajoma.
  • Przełączanie dostawców to jedno polecenie. hermes model interaktywnie przeprowadza przez każdego obsługiwanego dostawcę, włącznie z logowaniami OAuth, a /model provider:model przełącza w środku sesji bez utraty historii.2
  • Dwa pliki stanowią powierzchnię konfiguracji edytowalną przez użytkownika. ~/.hermes/config.yaml przechowuje ustawienia, a ~/.hermes/.env przechowuje sekrety. auth.json, SOUL.md, MEMORY.md oraz skills/ są zarządzane bezpośrednio przez Hermesa — można edytować SOUL.md ręcznie, ale resztą zajmuje się sam agent.4
  • Hermes jest następcą OpenClaw. W przypadku migracji hermes claw migrate automatycznie importuje ponad 30 kategorii stanu.5
  • Jakość działania zależy od pomocniczego modelu. Wizja, podsumowanie stron internetowych, kompresja oraz wyrzut pamięci korzystają z osobnego pomocniczego LLM. Domyślnie jest to Gemini Flash poprzez automatyczne wykrywanie (OpenRouter → Nous → Codex) — jeśli żaden z nich nie jest skonfigurowany, te funkcje degradują się po cichu, dopóki gniazda pomocnicze nie zostaną skierowane na głównego dostawcę.4

Każda poniższa sekcja opiera się na oficjalnej dokumentacji w hermes-agent.nousresearch.com/docs oraz drzewie źródłowym w github.com/NousResearch/hermes-agent. Każde stwierdzenie faktograficzne posiada przypis wskazujący konkretną stronę źródłową, z której pochodzi.

Wybierz swoją ścieżkę

Czego potrzebujesz Przejdź tutaj
Instalacja Hermesa Installation — instalator jednoliniowy lub kroki ręczne
Zalogowanie do dostawcy Authentication & Providers — sekcja, po którą tu jesteś
Przełączanie modeli w trakcie sesji The hermes auth Command oraz Custom & Self-Hosted Endpoints dla składni /model
Uruchomienie lokalnego LLM Custom & Self-Hosted Endpoints — Ollama, vLLM, SGLang, llama.cpp, LM Studio
Łączenie platform komunikacyjnych Messaging Gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat (łącznie 20)
Pisanie lub instalowanie skill Skills System — progresywne ujawnianie + hub skills
Pełne odniesienie do każdego polecenia CLI Czytaj dalej — i połącz się bezpośrednio z CLI Commands

Jak działa Hermes: model mentalny

Hermes opiera się na pojedynczej pętli konwersacyjnej, którą może wywołać dowolny punkt wejścia. Punktami wejścia są CLI (cli.py), gateway komunikacyjny (gateway/run.py), adapter ACP do integracji z edytorem, moduł przetwarzania wsadowego oraz serwer API.3 Wszystkie one ostatecznie wywołują AIAgent.run_conversation() w run_agent.py, który:

  1. Buduje prompt systemowy z SOUL.md, MEMORY.md, USER.md, umiejętności, plików kontekstowych i wskazówek dotyczących narzędzi za pośrednictwem prompt_builder.py3
  2. Rozwiązuje dostawcę runtime’u przez runtime_provider.py — to na tym etapie wybierane jest uwierzytelnianie, bazowy URL i tryb API3
  3. Wywołuje dostawcę w jednym z trzech trybów API: chat_completions, codex_responses lub anthropic_messages3
  4. Przekazuje zwrócone wywołania narzędzi przez model_tools.py i centralny rejestr narzędzi (tools/registry.py)3
  5. Wykonuje pętlę do momentu wygenerowania końcowej odpowiedzi, po czym zapisuje sesję do SQLite z FTS53

Zrozumienie tej pętli ma znaczenie, ponieważ każda funkcja — osobowości, pamięć, umiejętności, kompresja, mechanizm awaryjny — jest podłączona do jednego z tych etapów. Gdy analizuje się klucz konfiguracyjny i zastanawia, co robi, odpowiedź zwykle brzmi: „to pokrętło na etapie 1, 2, 3 lub 4 powyższej pętli”.

Rdzeń niezależny od platformy. Jedna klasa AIAgent obsługuje CLI, gateway, ACP, przetwarzanie wsadowe i serwer API. Różnice między platformami znajdują się w punkcie wejścia, nie w samym agencie.3 Dlatego te same komendy slash działają zarówno w terminalu, jak i w Telegram — są wysyłane ze współdzielonego COMMAND_REGISTRY w hermes_cli/commands.py.6

Struktura katalogów to system. Hermes przechowuje wszystko w ~/.hermes/ (lub $HERMES_HOME dla niestandardowych profili):4

~/.hermes/
├── config.yaml        # Ustawienia (model, terminal, TTS, kompresja itp.)
├── .env               # Klucze API i sekrety
├── auth.json          # Dane uwierzytelniające dostawców OAuth (Nous Portal, Codex, Anthropic)
├── SOUL.md            # Główna tożsamość agenta (slot #1 w prompcie systemowym)
├── memories/          # Trwała pamięć (MEMORY.md, USER.md)
├── skills/            # Wbudowane + tworzone przez agenta + zainstalowane z huba
├── cron/              # Zaplanowane zadania
├── sessions/          # Stan sesji gateway
└── logs/              # agent.log, gateway.log, errors.log (sekrety automatycznie redagowane)

Każdy z powyższych plików pełni określoną rolę; żaden z nich się nie pokrywa. Szukając odpowiedzi na pytanie „gdzie Hermes przechowuje X”, wystarczy zajrzeć do jednego z nich.


Instalacja

Instalator jednoliniowy to ścieżka dla 95% użytkowników. Obsługuje Python, uv, Node.js, ripgrep, ffmpeg, klonowanie repozytorium, środowisko wirtualne i globalną komendę hermes.7

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Działa na Linuksie, macOS, WSL2 i Android/Termux (instalator automatycznie wykrywa Termux i przełącza się na przetestowany pakiet dla Androida).7 Natywny Windows nie jest wspierany — należy zainstalować WSL2 i uruchomić powyższą komendę stamtąd.7

Po zakończeniu instalacji:

source ~/.bashrc    # lub ~/.zshrc
hermes              # Rozpocznij rozmowę

Jedynym wymaganiem wstępnym jest git. Instalator automatycznie udostępnia Python 3.11 przez uv (bez potrzeby sudo), Node.js v22 (do automatyzacji przeglądarki i mostu WhatsApp), ripgrep oraz ffmpeg.7

Weryfikacja instalacji

hermes version      # Sprawdź wersję
hermes doctor       # Zdiagnozuj problemy z konfiguracją/zależnościami
hermes status       # Wyświetl bieżącą konfigurację + stan uwierzytelnienia
hermes dump         # Podsumowanie konfiguracji do skopiowania i wklejenia przy debugowaniu

hermes doctor wskazuje dokładnie, czego brakuje i jak to naprawić.7 hermes dump to komenda diagnostyczna, którą można wkleić do zgłoszenia na GitHub lub wątku na Discord, gdy potrzebna jest pomoc — to tekstowe podsumowanie całej konfiguracji z zredagowanymi sekretami.8

Instalacja ręczna

Dla osób potrzebujących pełnej kontroli — niestandardowa wersja Python, określone dodatki, integracja z Nix/NixOS — procedura ręczna jest opisana krok po kroku w oficjalnym przewodniku instalacji.7 Kluczowe opcjonalne dodatki, które można łączyć z uv pip install -e ".[<extras>]":

Dodatek Co dodaje
all Wszystko poniżej
messaging Gateway Telegram i Discord
cron Parsowanie wyrażeń cron
cli Terminalowy interfejs menu dla kreatora konfiguracji
modal Backend wykonawczy Modal w chmurze
voice Wejście mikrofonowe CLI + odtwarzanie dźwięku
tts-premium Głosy premium ElevenLabs
honcho Pamięć natywna AI (integracja Honcho)
mcp Obsługa Model Context Protocol
homeassistant Integracja z Home Assistant
acp Obsługa integracji z edytorem ACP
slack Komunikacja Slack
pty Obsługa terminala PTY (interaktywne narzędzia CLI)
dev pytest i narzędzia testowe
termux Przetestowany pakiet dla Androida (zawiera cron, cli, pty, mcp, honcho, acp)

Komenda instalacji na Termux jest inna — używa pip z plikiem ograniczeń, a nie uv pip:

python -m pip install -e ".[termux]" -c constraints-termux.txt

Wynika to z faktu, że .[all] na Androidzie pobiera faster-whisper przez dodatek voice, który zależy od pakietów ctranslate2 niedostępnych dla Androida.7


Uwierzytelnianie i dostawcy

Hermes obsługuje około 19 dostawców pierwszej kategorii oraz niestandardowe punkty końcowe, a także trzy odrębne ścieżki uwierzytelniania. Oto cała powierzchnia uwierzytelniania, uporządkowana według ścieżki, aby można było znaleźć tę, która odpowiada posiadanym danym.

Trzy ścieżki uwierzytelniania

Każdy dostawca w Hermesie pasuje do jednego z trzech wzorców uwierzytelniania:

Ścieżka 1 — klucz API w .env. Należy umieścić klucz w ~/.hermes/.env, a Hermes odczyta go przy uruchomieniu. Wykorzystywana przez OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (oraz MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini oraz większość dostawców zewnętrznych.2

Ścieżka 2 — OAuth poprzez hermes model lub hermes auth. Uruchamia przepływ device code, otwiera przeglądarkę, zapisuje dane uwierzytelniające w ~/.hermes/auth.json (i może zaimportować istniejące poświadczenia z narzędzi takich jak Claude Code czy Codex CLI). Wykorzystywana przez Nous Portal, OpenAI Codex (konto ChatGPT), GitHub Copilot oraz Anthropic (Claude Pro/Max).2

Ścieżka 3 — niestandardowy punkt końcowy w config.yaml. Dla dowolnego API kompatybilnego z OpenAI — Ollama, vLLM, SGLang, llama.cpp, LM Studio, proxy LiteLLM, Together AI, Groq, Azure OpenAI lub własnego serwera self-hosted. Konfigurowana raz przez hermes model → Custom endpoint, a następnie utrwalana w config.yaml.2

Pełna macierz dostawców

Oto kompletna lista dostawców pierwszej kategorii wraz z dokładnym przepływem konfiguracji dla każdego z nich.2

Dostawca Ścieżka uwierzytelniania Konfiguracja
Nous Portal OAuth hermes model (logowanie OAuth, oparte na subskrypcji)
OpenAI Codex OAuth hermes model (device code ChatGPT, używa modeli Codex)
GitHub Copilot OAuth lub token hermes model (device code OAuth) lub COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token
GitHub Copilot ACP Lokalny podproces hermes model (wymaga copilot CLI w PATH + copilot login)
Anthropic OAuth lub klucz API hermes model (preferuje poświadczenia Claude Code) lub ANTHROPIC_API_KEY lub setup-token ANTHROPIC_TOKEN
OpenRouter klucz API OPENROUTER_API_KEY w ~/.hermes/.env
AI Gateway (Vercel) klucz API AI_GATEWAY_API_KEY w ~/.hermes/.env (provider: ai-gateway)
z.ai / GLM (ZhipuAI) klucz API GLM_API_KEY w ~/.hermes/.env (provider: zai)
Kimi / Moonshot klucz API KIMI_API_KEY w ~/.hermes/.env (provider: kimi-coding)
MiniMax (global) klucz API MINIMAX_API_KEY w ~/.hermes/.env (provider: minimax)
MiniMax China klucz API MINIMAX_CN_API_KEY w ~/.hermes/.env (provider: minimax-cn)
Alibaba Cloud (Qwen) klucz API DASHSCOPE_API_KEY w ~/.hermes/.env (provider: alibaba, aliasy: dashscope, qwen)
Kilo Code klucz API KILOCODE_API_KEY w ~/.hermes/.env (provider: kilocode)
OpenCode Zen klucz API OPENCODE_ZEN_API_KEY w ~/.hermes/.env (provider: opencode-zen)
OpenCode Go klucz API OPENCODE_GO_API_KEY w ~/.hermes/.env (provider: opencode-go)
DeepSeek klucz API DEEPSEEK_API_KEY w ~/.hermes/.env (provider: deepseek)
Hugging Face klucz API HF_TOKEN w ~/.hermes/.env (provider: huggingface, alias: hf)
Google / Gemini klucz API GOOGLE_API_KEY lub GEMINI_API_KEY w ~/.hermes/.env (provider: gemini)
xAI (Grok) Natywny dostawca Dostawca pierwszej kategorii z bezpośrednim dostępem API i katalogiem modeli (v0.9.0+). Automatycznie włącza prompt caching poprzez nagłówek x-grok-conv-id.216
xAI Custom Voices klucz API Dostawca TTS z klonowaniem głosu. Nowość w v0.13.0; konfiguracja w sekcji tts: pliku config.yaml oraz klucz xAI w .env.18
Xiaomi MiMo Natywny dostawca Dostawca pierwszej kategorii z kreatorem konfiguracji i katalogiem modeli. Bezpłatne MiMo v2 Pro w Nous Portal do zadań pomocniczych (v0.9.0+).1615
Google AI Studio klucz API GOOGLE_API_KEY lub GEMINI_API_KEY w ~/.hermes/.env. Bezpośredni dostęp do Gemini z automatycznie wykrywaną długością kontekstu poprzez rejestr models.dev (v0.8.0+).15
Qwen OAuth Dostawca OAuth z obsługą żądań portalu (v0.8.0+).15
Custom endpoint config.yaml hermes model → “Custom endpoint” (zapisany w config.yaml)

Anthropic: trzy metody uwierzytelniania

Anthropic ma własną sekcję, ponieważ Hermes obsługuje trzy odrębne ścieżki dostępu do Claude, a wybór właściwej ma znaczenie. Z dokumentacji upstream: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

Gdy wybierze się Anthropic OAuth poprzez hermes model, Hermes preferuje magazyn poświadczeń Claude Code zamiast kopiowania tokenu do ~/.hermes/.env. W ten sposób odświeżalne poświadczenia Claude pozostają odświeżalne.2 Jeśli już używa się Claude Code na tej samej maszynie, jest to najczystsza ścieżka.

Aby przypiąć Anthropic na stałe w config.yaml:

model:
  provider: "anthropic"
  default: "claude-sonnet-4-6"

--provider claude oraz --provider claude-code również działają jako skrót dla --provider anthropic.2

GitHub Copilot: dwa tryby

Copilot jest obsługiwany w dwóch trybach: bezpośrednie API Copilot (zalecane) oraz Copilot ACP (który uruchamia lokalny CLI Copilot jako podproces).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

Uwierzytelnianie jest sprawdzane w następującej kolejności, zgodnie z dokumentacją upstream:2 1. zmienna środowiskowa COPILOT_GITHUB_TOKEN 2. zmienna środowiskowa GH_TOKEN 3. zmienna środowiskowa GITHUB_TOKEN 4. fallback gh auth token CLI 5. logowanie OAuth device code poprzez hermes model

Typ tokenu ma znaczenie. API Copilot nie obsługuje klasycznych Personal Access Tokens (ghp_*). Obsługiwane typy to tokeny OAuth (gho_*), fine-grained PATs (github_pat_* z uprawnieniem Copilot Requests) oraz tokeny GitHub App (ghu_*). Jeśli gh auth token zwraca token ghp_*, należy użyć hermes model do uwierzytelnienia poprzez OAuth.2

Chińscy dostawcy AI (wsparcie pierwszej kategorii)

Hermes ma wbudowaną obsługę z.ai/GLM, Kimi/Moonshot, MiniMax (punkty końcowe global + China) oraz Alibaba Cloud z dedykowanymi identyfikatorami dostawców.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

Bazowe adresy URL można nadpisać zmiennymi środowiskowymi GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL lub DASHSCOPE_BASE_URL.2

Z.AI automatycznie wykrywa punkt końcowy. Korzystając z dostawcy z.ai/GLM, Hermes sonduje wiele punktów końcowych (global, China, warianty coding), aby znaleźć ten, który akceptuje klucz API. Działający punkt końcowy jest automatycznie buforowany — w większości przypadków GLM_BASE_URL nie jest potrzebny.2

xAI (Grok) automatycznie włącza prompt caching. Gdy bazowy adres URL zawiera x.ai, Hermes wysyła nagłówek x-grok-conv-id z każdym żądaniem, aby kierować do tego samego serwera w ramach sesji konwersacji, ponownie wykorzystując buforowane prompty systemowe i historię.2 Automatycznie; bez potrzeby konfiguracji.

Polecenie hermes auth

hermes auth to polecenie zarządzania poświadczeniami dla pul i poświadczeń 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

Pule poświadczeń to sposób rotacji wielu kluczy API lub tokenów OAuth dla tego samego dostawcy — przydatne do rozłożenia limitów częstotliwości na wiele kluczy bez modyfikacji kodu.6 Starsze polecenia hermes login / hermes logout zostały usunięte; zamiast tego należy używać hermes auth.6

Niestandardowe i self-hosted punkty końcowe

Hermes działa z dowolnym punktem końcowym API kompatybilnym z OpenAI. Jeśli serwer implementuje /v1/chat/completions, można skierować Hermesa na ten serwer.2

Konfiguracja interaktywna (zalecana):

hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name

Ręczna edycja config.yaml:

model:
  default: your-model-name
  provider: custom
  base_url: http://localhost:8000/v1
  api_key: your-key-or-leave-empty-for-local

Oba podejścia utrwalają konfigurację w config.yaml, który jest jedynym źródłem prawdy dla głównego modelu, dostawcy i bazowego adresu URL.2 Starsze zmienne środowiskowe OPENAI_BASE_URL oraz LLM_MODEL nie są już odczytywane dla konfiguracji głównego modelu — należy używać hermes model lub bezpośrednio edytować config.yaml.2 (OPENAI_BASE_URL + OPENAI_API_KEY są nadal honorowane jako fallback dla pomocniczej ścieżki routingu provider: "main", więc nie należy ich bezmyślnie usuwać, jeśli są tam używane.)4

Przełączanie niestandardowych punktów końcowych w trakcie sesji:

/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 (bez nazwy modelu) odpytuje API /v1/models punktu końcowego i automatycznie wybiera model, jeśli załadowany jest dokładnie jeden — przydatne dla lokalnych serwerów uruchamiających pojedynczy model.2

Lokalne serwery LLM (szablony konfiguracji)

Dokumentacja upstream zawiera pełne przewodniki konfiguracji dla Ollama, vLLM, SGLang, llama.cpp oraz LM Studio. Oto kluczowe polecenia, które rzeczywiście będą uruchamiane. Każde z nich zostało zaprojektowane tak, aby utworzyć działający punkt końcowy, na który Hermes może być skierowany.2

Ollama — najłatwiejsza ścieżka lokalna, zero konfiguracji:

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

Krytyczna pułapka Ollama: Ollama domyślnie ustawia bardzo niskie długości kontekstu (4 096 tokenów przy mniej niż 24 GB VRAM). Trzeba ją zwiększyć poprzez OLLAMA_CONTEXT_LENGTH lub plik Modelfile — API kompatybilne z OpenAI nie akceptuje długości kontekstu od klienta, więc Hermes nie może jej ustawić za użytkownika.2 Do użytku jako agent należy ustawić co najmniej 16k–32k.

vLLM — wysokowydajne serwowanie 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

Wywoływanie narzędzi wymaga --enable-auto-tool-choice oraz --tool-call-parser <name>. Obsługiwane parsery: hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Bez tych flag wywołania narzędzi będą zwracane jako zwykły tekst.2

SGLang — szybkie serwowanie z RadixAttention dla ponownego użycia bufora KV:

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

Pułapka SGLang: Domyślny max_tokens to 128. Należy ustawić --default-max-tokens na serwerze lub skonfigurować model.max_tokens w config.yaml, jeśli odpowiedzi są obcinane.2

llama.cpp / llama-server — CPU oraz 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

--jinja jest wymagane do wywoływania narzędzi. Bez tej flagi llama-server całkowicie ignoruje parametr tools, a model próbuje wywoływać narzędzia, wpisując JSON w tekście odpowiedzi — czego Hermes nie potrafi przetworzyć jako rzeczywistych wywołań narzędzi.2

LM Studio — aplikacja desktopowa z GUI:

Uruchom serwer z aplikacji LM Studio (zakładka Developer → Start Server) lub poprzez CLI: lms server start (uruchamia na porcie 1234) oraz lms load qwen2.5-coder --context-length 32768.2 Następnie skieruj hermes model na http://localhost:1234/v1.

Krytyczna pułapka LM Studio: LM Studio odczytuje długość kontekstu z metadanych modelu, ale wiele modeli GGUF zgłasza domyślne wartości 2048 lub 4096. Zawsze należy jawnie ustawić długość kontekstu w ustawieniach modelu LM Studio — kliknij ikonę koła zębatego obok selektora modelu, ustaw “Context Length” na co najmniej 16384 (najlepiej 32768) i przeładuj model.2

Nazwani niestandardowi dostawcy

Jeśli pracuje się z wieloma niestandardowymi punktami końcowymi (na przykład lokalnym serwerem dev i zdalnym serwerem GPU), można je zdefiniować jako nazwanych niestandardowych dostawców w config.yaml: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

Następnie można między nimi przełączać się w trakcie sesji, używając potrójnej składni:

/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4

Można również wybrać nazwanych niestandardowych dostawców z interaktywnego menu hermes model.2

Architektura pluggable provider (v0.13.0+)

v0.13.0 wprowadza ProviderProfile ABC oraz katalog plugins/model-providers/, dzięki czemu zewnętrzni dostawcy inferencji mogą być dodawani bez modyfikacji rdzenia.18 Jeśli dostawca obsługuje tryb API kompatybilny z OpenAI, Anthropic lub Codex, można zaimplementować podklasę ProviderProfile, która deklaruje ścieżkę uwierzytelniania, bazowy adres URL, katalog modeli oraz nagłówki bufora; Hermes rozwiązuje ją tą samą ścieżką runtime_provider.py, której używają wbudowani dostawcy. To architektoniczna zmiana stojąca za rozszerzeniem dostawców w v0.13.0: zamiast edytować kod rdzenia w celu dodania dostawcy, dostarcza się wtyczkę.

Wykrywanie długości kontekstu

Dwa ustawienia są stale mylone, zgodnie z dokumentacją upstream:2

  • context_length — całkowite okno kontekstu (połączony budżet tokenów wejście + wyjście, np. 1 000 000 dla Claude Opus 4.7 lub 200 000 dla Sonnet 4.6). Hermes używa tej wartości do decydowania, kiedy kompresować historię.
  • model.max_tokens — limit wyjścia (maksymalna liczba tokenów, jaką model może wygenerować w pojedynczej odpowiedzi). Niezwiązany z długością historii.

Należy ustawić context_length, gdy automatyczne wykrywanie zwraca niewłaściwy rozmiar okna:

model:
  default: "qwen3.5:9b"
  base_url: "http://localhost:8080/v1"
  context_length: 131072      # tokens

Hermes używa łańcucha rozwiązywania z wielu źródeł do wykrywania okien kontekstu: nadpisanie konfiguracji → niestandardowy dostawca per-model → trwała pamięć podręczna → endpoint /models → Anthropic /v1/models → API OpenRouter → Nous Portal → models.dev (rejestr utrzymywany przez społeczność dla ponad 3800 modeli) → wartości domyślne (128K).2 System uwzględnia dostawcę, więc ten sam model może mieć różne limity kontekstu w zależności od tego, kto go serwuje (np. claude-opus-4.6 ma 1M na Anthropic direct, ale 128K na GitHub Copilot).2

Rotacja dostawców i fallback

Pule poświadczeń. Gdy posiada się wiele kluczy API dla tego samego dostawcy, należy skonfigurować strategię rotacji poprzez hermes auth. W ten sposób rozkłada się limity częstotliwości na wiele kluczy.6

Model fallback. Skonfiguruj zapasowy provider:model, na który Hermes automatycznie przełącza się, gdy główny model zawiedzie (limity częstotliwości, błędy serwera, niepowodzenia uwierzytelniania):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 zamienia model i dostawcę w trakcie sesji bez utraty konwersacji. Uruchamia się co najwyżej raz na sesję.2 Obsługiwani dostawcy fallback: 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

Modele pomocnicze

Hermes używa lekkich modeli “pomocniczych” do zadań pobocznych: analizy obrazu, podsumowywania stron internetowych, analizy zrzutów ekranu przeglądarki, klasyfikacji zatwierdzania niebezpiecznych poleceń, kompresji kontekstu, podsumowywania wyszukiwania sesji, dopasowywania umiejętności, wysyłania narzędzi MCP oraz opróżniania pamięci.4 Domyślnie używają one Gemini Flash poprzez automatyczne wykrywanie (OpenRouter → Nous → Codex).

Można skonfigurować, jakiego modelu i dostawcy używa każde zadanie pomocnicze. Każdy slot pomocniczy używa tych samych trzech parametrów: 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 }

Opcja dostawcy "main" oznacza “użyj dowolnego dostawcy, którego używa mój główny agent” — ważna wyłącznie wewnątrz konfiguracji auxiliary:, compression: oraz fallback_model:. Nie jest prawidłowa dla nadrzędnego ustawienia model.provider. Jeśli używa się niestandardowego punktu końcowego kompatybilnego z OpenAI jako głównego modelu, należy ustawić provider: custom w sekcji model:.4

Dlaczego to ma znaczenie: jeśli skonfigurowano tylko Anthropic OAuth (bez klucza OpenRouter), wizja, podsumowywanie webu i kompresja będą degradować się lub zawodzić, ponieważ domyślny pomocniczy łańcuch fallback najpierw próbuje OpenRouter. Należy dodać OPENROUTER_API_KEY dla zadań pomocniczych lub przekonfigurować każdy slot pomocniczy, aby używał głównego dostawcy:

auxiliary:
  vision:
    provider: "main"
  web_extract:
    provider: "main"

To najczęstsza pułapka typu “moje funkcje po cichu nie działają” dla nowych użytkowników Hermesa.


System konfiguracji

Hermes ma warstwowy system konfiguracji. Zrozumienie kolejności pierwszeństwa jest kluczowe, ponieważ wyższe warstwy nadpisują niższe, a jedną z warstw jest globalny rejestr dostawców, którego nie widać w config.yaml.

Układ plików konfiguracyjnych

Zgodnie z dokumentacją upstream, oto pliki tworzące konfigurację 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 — gdy obie wartości są ustawione, config.yaml wygrywa dla ustawień niebędących sekretami.4 Zasada jest następująca: - Sekrety (klucze API, tokeny botów, hasła) → .env - Wszystko inne (model, backend terminala, ustawienia kompresji, limity pamięci, toolsets) → config.yaml

Do sekretów można odwoływać się z poziomu config.yaml, używając interpolacji w stylu powłoki:4

auxiliary:
  vision:
    api_key: ${GOOGLE_API_KEY}
    base_url: ${CUSTOM_VISION_URL}
  delegation:
    api_key: ${DELEGATION_KEY}

Zarządzanie konfiguracją

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

Przykłady: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 i hermes config migrate to polecenia, które warto uruchomić po każdym hermes update — wychwytują one nowo dodane opcje konfiguracyjne, których plik użytkownika jeszcze nie zawiera.6

Pierwszeństwo konfiguracji

Hermes ładuje konfigurację z kilku źródeł. Gdy wiele źródeł ustawia tę samą wartość, wygrywa źródło o wyższym priorytecie:4

  1. Argumenty CLIhermes chat --model anthropic/claude-sonnet-4 (nadpisanie dla pojedynczego wywołania)
  2. Zmienne środowiskowe — stosowane przy starcie procesu
  3. config.yaml — główny plik ustawień
  4. .env — wyłącznie sekrety
  5. Wbudowane wartości domyślne — stosowane, gdy żadne inne źródło nie ustawia wartości

Flagi CLI zawsze wygrywają dla tego pojedynczego wywołania. config.yaml stanowi długoterminowe źródło prawdy.

Lokalizacja (v0.13.0+)

v0.13.0 dodaje 7 lokalizacji dla komunikatów CLI i gateway: chiński (uproszczony), japoński, niemiecki, hiszpański, francuski, ukraiński oraz turecki.18 Dokumentacja jest obecnie zlokalizowana wyłącznie w zh-Hans. Lokalizacja jest rozpoznawana na podstawie zmiennych środowiskowych LC_ALL / LANG lub jawnego klucza locale: w config.yaml. Angielski pozostaje wartością domyślną oraz źródłem prawdy dla każdego ciągu, którego tłumaczenie jeszcze nie obejmuje.

Profile — wiele izolowanych instancji Hermes

Profile umożliwiają korzystanie z wielu izolowanych instancji Hermes, z których każda ma własną konfigurację, sesje, skills, pamięć oraz PID gateway. W ten sposób można uruchamiać „służbowy Hermes” i „prywatny Hermes” obok siebie tak, aby żadna instancja nie widziała stanu drugiej.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

Każdy profile otrzymuje własny HERMES_HOME (domyślnie ~/.hermes-<name>/), dzięki czemu wiele profili może jednocześnie uruchamiać gateway, nie wchodząc sobie w drogę.63


Polecenia CLI

Ta sekcja stanowi praktyczne kompendium poleceń najwyższego poziomu CLI. Autorytatywne źródło oparte na kodzie źródłowym znajduje się w oficjalnej dokumentacji CLI Commands Reference.6

Opcje globalne

hermes [global-options] <command> [subcommand/options]
Opcja Opis
--version, -V Wyświetla wersję i kończy działanie
--profile <name>, -p <name> Wybór profilu Hermes
--resume <session>, -r <session> Wznowienie sesji na podstawie ID lub tytułu
--continue [name], -c [name] Wznowienie ostatniej sesji (lub dopasowanie po tytule)
--worktree, -w Uruchomienie w izolowanym worktree git
--yolo Pominięcie monitów zatwierdzania niebezpiecznych poleceń
--pass-session-id Dołączenie ID sesji do promptu systemowego agenta

Polecenia najwyższego poziomu

Polecenie Zastosowanie
hermes chat Interaktywny czat lub zapytanie jednorazowe
hermes model Interaktywny wybór domyślnego dostawcy i modelu
hermes gateway Uruchamianie i zarządzanie bramą komunikacyjną
hermes setup Interaktywny kreator konfiguracji
hermes auth Zarządzanie poświadczeniami — dodawanie, listowanie, usuwanie, resetowanie, ustawianie strategii
hermes status Wyświetlanie statusu agenta, uwierzytelniania i platform
hermes cron Inspekcja i uruchamianie harmonogramu cron
hermes webhook Zarządzanie dynamicznymi subskrypcjami webhook
hermes doctor Diagnostyka konfiguracji i zależności
hermes dump Podsumowanie konfiguracji do skopiowania — przydatne przy wsparciu i debugowaniu
hermes logs Przeglądanie, śledzenie i filtrowanie logów agenta/bramy/błędów
hermes config Wyświetlanie, edycja, migracja i odpytywanie konfiguracji
hermes pairing Zatwierdzanie lub odwoływanie kodów parowania komunikatorów
hermes skills Przeglądanie, instalacja, publikacja i audyt umiejętności
hermes honcho Zarządzanie pamięcią międzysesyjną Honcho
hermes memory Konfiguracja zewnętrznego dostawcy pamięci
hermes acp Uruchamianie Hermes jako serwera ACP (integracja z edytorem)
hermes mcp Zarządzanie konfiguracją serwera MCP; uruchamianie Hermes jako serwera MCP
hermes plugins Zarządzanie wtyczkami
hermes tools Konfiguracja dostępnych narzędzi dla poszczególnych platform
hermes sessions Przeglądanie, eksport, czyszczenie i usuwanie sesji
hermes insights Wyświetlanie analityki tokenów, kosztów i aktywności
hermes claw Narzędzia migracji OpenClaw
hermes profile Zarządzanie profilami (wiele izolowanych instancji)
hermes completion Generowanie skryptów autouzupełniania powłoki (bash/zsh)
hermes whatsapp Konfiguracja i parowanie mostu WhatsApp
hermes version Wyświetlanie informacji o wersji
hermes update Pobranie najnowszego kodu i ponowna instalacja zależności
hermes uninstall Usunięcie Hermes z systemu (--full usuwa również konfigurację i dane)
hermes backup Pełna kopia zapasowa konfiguracji, sesji, umiejętności i pamięci (v0.9.0+)16
hermes import Przywracanie z archiwum kopii zapasowej — migracja między maszynami lub cofnięcie zmian (v0.9.0+)16
hermes dashboard Uruchomienie lokalnego panelu webowego do zarządzania agentem w przeglądarce (v0.9.0+)16
hermes debug share Przesłanie pełnego raportu diagnostycznego do pastebin w celu udostępnienia przy rozwiązywaniu problemów (v0.9.0+)16

hermes chat — główny punkt wejścia

Wywołanie hermes bez argumentów uruchamia interaktywny czat. hermes chat to forma jawna z dodatkowymi opcjami: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"

Kluczowe opcje:

Opcja Opis
-q, --query "..." Jednorazowy, nieinteraktywny prompt
-m, --model <model> Nadpisanie modelu dla tego uruchomienia
-t, --toolsets <csv> Włączenie zestawu narzędzi rozdzielonych przecinkami
--provider <provider> Wymuszenie dostawcy (zob. pełna lista)
-s, --skills <name> Wstępne załadowanie jednej lub więcej umiejętności dla tej sesji
-v, --verbose Szczegółowe wyjście
-Q, --quiet Tryb programistyczny (bez banera, spinnera, podglądów)
--resume <session> Wznowienie sesji bezpośrednio z poziomu chat
--worktree Utworzenie izolowanego worktree git
--checkpoints Włączenie punktów kontrolnych systemu plików przed destrukcyjnymi zmianami
--yolo Pominięcie monitów zatwierdzania
--source <tag> Tag źródła sesji (domyślnie: cli; tool dla integracji)
--max-turns <N> Maksymalna liczba iteracji wywołań narzędzi na turę (domyślnie: 90)

hermes setup — pełny kreator konfiguracji

Uruchamia pełny kreator konfiguracji lub przechodzi bezpośrednio do wybranej sekcji: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 — strukturowane odpytywanie logów

hermes logs oferuje znacznie więcej niż zwykłe tail -f na plikach logów, ponieważ umożliwia jednoczesne filtrowanie według poziomu, ID sesji i zakresu czasowego.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

Pliki logów znajdują się w ~/.hermes/logs/:6 - agent.log — pełna aktywność agenta (wywołania API, dyspozycja narzędzi, cykl życia sesji, poziom INFO+) - errors.log — wyłącznie ostrzeżenia i błędy (przefiltrowany podzbiór agent.log) - gateway.log — aktywność bramy komunikacyjnej (połączenia z platformami, dyspozycja, webhooki)

Rotacja odbywa się automatycznie za pomocą RotatingFileHandler z Python — pliki rotowane to agent.log.1, agent.log.2 itd.6

hermes doctor — diagnostyka

hermes doctor [--fix] to pierwsze polecenie, które warto uruchomić w przypadku problemów. Sprawdza poprawność konfiguracji, obecność zależności, dostępność kluczy API, status usług i może podjąć automatyczne naprawy za pomocą flagi --fix.6

Aby udostępnić diagnostykę innej osobie, należy użyć hermes dump — generuje zwięzłe podsumowanie w formacie tekstowym z zamaskowanymi kluczami API, gotowe do wklejenia w zgłoszenie na GitHub lub wątek na Discord.6


Polecenia ukośnikowe

Polecenia ukośnikowe działają wewnątrz aktywnej sesji czatu (CLI lub platforma komunikacyjna). Są one rozsyłane ze współdzielonego rejestru COMMAND_REGISTRY w pliku hermes_cli/commands.py, dlatego większość poleceń działa identycznie na różnych powierzchniach.9

Sterowanie sesją

Polecenie Opis
/new (alias /reset) Rozpoczyna nową sesję
/clear Czyści ekran i rozpoczyna nową sesję
/history Wyświetla historię konwersacji
/save Zapisuje bieżącą konwersację
/retry Ponawia ostatnią wiadomość
/undo Usuwa ostatnią wymianę między użytkownikiem a asystentem
/title <name> Ustawia tytuł bieżącej sesji
/compress Ręcznie kompresuje kontekst konwersacji
/rollback [number] Wyświetla listę lub przywraca punkty kontrolne systemu plików
/stop Zatrzymuje wszystkie działające procesy w tle
/queue <prompt> Kolejkuje prompt do następnej tury. Pułapka: /q jest zarezerwowane zarówno przez /queue, jak i /quit; wygrywa ostatnia rejestracja i w praktyce /q rozwiązuje się do /quit — należy zawsze pisać /queue w pełnej formie.9
/resume [name] Wznawia uprzednio nazwaną sesję
/statusbar (alias /sb) Przełącza pasek statusu kontekstu/modelu
/background <prompt> (alias /bg) Uruchamia prompt w oddzielnej sesji w tle
/btw <question> Krótkotrwałe pytanie poboczne (bez narzędzi, nieutrwalane)
/plan [request] Ładuje wbudowaną skill plan, aby napisać plan zamiast jego wykonania
/branch [name] (alias /fork) Rozgałęzia bieżącą sesję
/goal <target> Zamyka agenta na wybranym celu, dzięki czemu pozostaje on na zadaniu w kolejnych turach. Wzorzec Ralph-loop jako prymityw pierwszej klasy. Konfigurowalny budżet tur. Nowość w v0.13.0.18

Konfiguracja i model

Polecenie Opis
/config Wyświetla bieżącą konfigurację
/model [model-name] Wyświetla lub zmienia bieżący model
/provider Wyświetla dostępnych dostawców oraz bieżącego dostawcę
/personality [name] Ustawia nakładkę osobowości
/verbose Przełącza sposób wyświetlania postępu narzędzi
/reasoning Zarządza wysiłkiem rozumowania i jego prezentacją
/skin Wyświetla lub zmienia skórkę/motyw wyświetlania
/voice [on\|off\|tts\|status] Przełącza tryb głosowy w CLI
/yolo Przełącza tryb YOLO (pomija prośby o zatwierdzenie)
/fast Przełącza Fast Mode — priorytetowe przetwarzanie dla modeli OpenAI i Anthropic (v0.9.0+)16
/debug Szybka diagnostyka na wszystkich platformach (v0.9.0+)16

Polecenie /model to koń roboczy do przełączania dostawców w trakcie sesji: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

Narzędzia, skills i informacje

Polecenie Opis
/tools [list\|disable\|enable] [name...] Zarządza narzędziami dla bieżącej sesji
/toolsets Wyświetla dostępne toolsety
/browser [connect\|disconnect\|status] Zarządza lokalnym połączeniem Chrome CDP
/skills Wyszukuje, instaluje, sprawdza lub zarządza skills
/cron Zarządza zaplanowanymi zadaniami
/reload-mcp Przeładowuje serwery MCP z pliku config.yaml
/plugins Wyświetla zainstalowane wtyczki
/help Wyświetla wszystkie polecenia
/usage Wyświetla zużycie tokenów, koszt i czas trwania
/insights Wyświetla analitykę użycia (ostatnie 30 dni)
/platforms Wyświetla status platform komunikacyjnych
/profile Wyświetla nazwę aktywnego profilu i jego home

Dynamiczne polecenia ukośnikowe skills

Każda zainstalowana skill jest automatycznie udostępniana jako polecenie ukośnikowe: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

Można również zdefiniować szybkie polecenia (quick commands) w pliku config.yaml, które przypisują krótką nazwę do dłuższego promptu: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"

Następnie wystarczy wpisać /review, /deploy lub /morning w CLI.

Dopasowanie po prefiksie

Polecenia obsługują dopasowanie po prefiksie: wpisanie /h zostanie rozwiązane do /help, a /mod do /model. Gdy prefiks jest niejednoznaczny, wygrywa pierwsza rejestracja w kolejności rejestru. Pełne nazwy poleceń oraz zarejestrowane aliasy zawsze mają pierwszeństwo przed dopasowaniami po prefiksie.9

Polecenia specyficzne dla platform komunikacyjnych

Niektóre polecenia działają wyłącznie na platformach komunikacyjnych (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant):9

  • /status — wyświetla informacje o sesji
  • /sethome (alias /set-home) — oznacza bieżący czat jako home platformy
  • /approve [session|always] — zatwierdza oczekujące niebezpieczne polecenie
  • /deny — odrzuca oczekujące niebezpieczne polecenie
  • /update — aktualizuje Hermes Agent do najnowszej wersji
  • /commands [page] — przegląda wszystkie polecenia i skills (z podziałem na strony)

Niektóre z kolei są dostępne wyłącznie w CLI: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9

Narzędzia i zestawy narzędzi

Hermes jest dostarczany z obszernym wbudowanym rejestrem narzędzi obejmującym wyszukiwanie w sieci, automatyzację przeglądarki, wykonywanie poleceń terminala, edycję plików, pamięć, delegowanie, trening RL, dostarczanie wiadomości, integrację z Home Assistant i wiele innych.10 Narzędzia są zorganizowane w logiczne zestawy narzędzi, które można włączać lub wyłączać dla każdej platformy.

Kategorie wysokiego poziomu

Kategoria Przykłady Opis
Web web_search, web_extract Wyszukiwanie w sieci i ekstrakcja zawartości stron
Terminal i pliki terminal, process, read_file, patch Wykonywanie poleceń i operacje na plikach
Browser browser_navigate, browser_snapshot, browser_vision Interaktywna automatyzacja przeglądarki z obsługą tekstu i wizji
Media vision_analyze, video_analyze, image_generate, text_to_speech Analiza i generowanie multimodalne. video_analyze jest oparty głównie na Gemini z rozszerzalnym wsparciem dla kompatybilnych dostawców multimodalnych (v0.13.0+).18
Orkiestracja agentów todo, clarify, execute_code, delegate_task Planowanie, doprecyzowywanie, wykonywanie kodu, delegowanie do subagentów
Pamięć i odtwarzanie memory, session_search Pamięć trwała + przeszukiwanie sesji
Automatyzacja i dostarczanie cronjob, send_message Zadania zaplanowane, wiadomości wychodzące
Integracje ha_*, narzędzia MCP, rl_* Home Assistant, MCP, trening RL

Typowe nazwy zestawów narzędzi obejmują web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant oraz rl.10

Zarządzanie narzędziami

hermes chat --toolsets "web,terminal"       # Use specific toolsets
hermes tools                                # Interactive per-platform tool config
hermes tools --summary                      # Print enabled-tools summary

Narzędzia można również przełączać w trakcie sesji za pomocą /tools disable <name> oraz /tools enable <name>, co resetuje sesję, aby nowy zestaw narzędzi został zastosowany.9

Backendy terminala

Narzędzie terminala umożliwia wykonywanie poleceń w sześciu różnych środowiskach:10

Backend Zastosowanie
local Uruchamianie na własnej maszynie (domyślne) — programowanie, zaufane zadania
docker Izolowane kontenery — bezpieczeństwo, powtarzalność
ssh Zdalny serwer — sandbox, oddziela agenta od jego własnego kodu
singularity Kontenery HPC — obliczenia klastrowe, bez uprawnień roota
modal Serverlessowe wykonanie w chmurze
daytona Środowisko sandbox w chmurze — trwałe zdalne środowisko deweloperskie

Backend można zmienić poleceniem hermes config set terminal.backend <name> lub w pliku config.yaml:

terminal:
  backend: docker      # or: local, ssh, singularity, modal, daytona
  cwd: "."             # Working directory
  timeout: 180         # Command timeout in seconds

Backend SSH (zalecany ze względów bezpieczeństwa — agent nie może modyfikować własnego kodu):10

terminal:
  backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa

Backend Docker:

terminal:
  backend: docker
  docker_image: python:3.11-slim

Zasoby kontenera (dotyczy 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

Przy ustawieniu container_persistent: true zainstalowane pakiety, pliki i konfiguracja przetrwają między sesjami.10

Wszystkie backendy kontenerowe działają z hardeningiem bezpieczeństwa: system plików root tylko do odczytu (Docker), wszystkie uprawnienia (capabilities) Linuksa odrzucone z wyjątkiem DAC_OVERRIDE, CHOWN oraz FOWNER, brak eskalacji uprawnień, limity PID (256 procesów), pełna izolacja przestrzeni nazw, trwały obszar roboczy poprzez wolumeny.10

Procesy w tle

Narzędzie terminala wspiera wykonywanie w tle z jawnym zarządzaniem procesami: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

Tryb PTY (pty=true) umożliwia korzystanie z interaktywnych narzędzi CLI, takich jak Codex i Claude Code.10

Sudo

Jeśli polecenie wymaga sudo, Hermes poprosi o hasło (zostanie ono zapamiętane na czas sesji). Można też ustawić SUDO_PASSWORD w pliku ~/.hermes/.env.10


Multi-Agent Kanban (v0.13.0+)

v0.13.0 czyni współpracę wieloagentową prymitywem pierwszej klasy: trwała tablica Kanban, która śledzi zadania, ich status oraz tożsamość wykonawców pomiędzy agentami i przez restartami.18 To właśnie tablica sprawia, że rój pracowników Hermes faktycznie kończy pracę, zamiast utykać na martwych przekazaniach.

Mechanizm Co robi
Heartbeats Każdy worker wysyła puls, gdy posiada zadanie. Brak heartbeatu oznacza workera jako podejrzanego i zwalnia zadanie do ponownego przejęcia.
Reclaim Inny worker może podjąć porzucone zadanie, wraz z pełnym stanem zadania oraz wcześniejszymi częściowymi wynikami.
Wykrywanie zombie Workery, które kończą działanie bez oznaczenia zadania jako zakończonego, są automatycznie blokowane przed pobieraniem nowej pracy, co zapobiega gromadzeniu się martwych tożsamości w roju.
Brama anty-halucynacyjna Wynik, który nie przejdzie bramy, wraca na tablicę z odnotowanym powodem zamiast zostać oznaczonym jako ukończony.
Per-zadaniowy max_retries Pozwala nadpisać domyślny budżet ponownych prób dla zadania, o którym wiadomo, że jest delikatne.
Tablice wieloprojektowe Jeden katalog domowy Hermes może obsługiwać kilka niezależnych tablic.

Tablica Kanban naturalnie współgra z /goal (pętla Ralph z zablokowanym celem) po stronie celu oraz z istniejącym narzędziem delegate_task po stronie spawnowania. Rezultatem jest wzorzec roju, w którym każdy agent dzieli jedno źródło prawdy o tym, co robić dalej, kto to robi i co jest zablokowane.


System skills

Skills to dokumenty wiedzy ładowane na żądanie, które agent może wczytać, gdy są potrzebne. Stosują wzorzec progresywnego ujawniania, aby zminimalizować zużycie tokenów i są zgodne ze standardem otwartym agentskills.io.11

Wszystkie skille znajdują się w ~/.hermes/skills/ — to katalog główny i źródło prawdy. Przy świeżej instalacji dołączone skille są kopiowane z repozytorium. Skille zainstalowane z huba oraz utworzone przez agenta również trafiają tutaj.11

Progresywne ujawnianie

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)

Agent ładuje pełną zawartość skilla tylko wtedy, gdy faktycznie jej potrzebuje.11

Format 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

## Weryfikacja
Jak potwierdzić, że zadziałało.

Aktywacja warunkowa

Skills mogą się ujawniać lub ukrywać w zależności od tego, jakie narzędzia są dostępne. Jest to najbardziej przydatne w przypadku skills awaryjnych — darmowych lub lokalnych alternatyw, które powinny pojawiać się tylko wtedy, gdy narzędzie premium jest niedostępne:11

Pole Zachowanie
fallback_for_toolsets Skill ukryty, gdy wymienione toolsety są dostępne
fallback_for_tools To samo, ale sprawdza poszczególne narzędzia
requires_toolsets Skill ukryty, gdy wymienione toolsety są niedostępne
requires_tools To samo, ale sprawdza poszczególne narzędzia

Przykład: wbudowany skill duckduckgo-search używa fallback_for_toolsets: [web]. Po ustawieniu FIRECRAWL_API_KEY toolset web jest dostępny i agent korzysta z web_search — skill DuckDuckGo pozostaje ukryty. Bez klucza API skill DuckDuckGo automatycznie pojawia się jako rozwiązanie awaryjne.11

Skills zarządzane przez agenta

Agent może tworzyć, aktualizować i usuwać własne skills za pomocą narzędzia skill_manage. To jest pamięć proceduralna agenta — gdy wypracuje on nietrywialny przepływ pracy, zapisuje to podejście jako skill do przyszłego wykorzystania.11

Kiedy agent tworzy skills:11 - Po pomyślnym ukończeniu złożonego zadania (5+ wywołań narzędzi) - Gdy napotkał błędy lub ślepe zaułki i znalazł działającą ścieżkę - Gdy użytkownik skorygował jego podejście - Gdy odkrył nietrywialny przepływ pracy

Akcje:11

Akcja Zastosowanie
create Nowy skill od podstaw
patch Ukierunkowane poprawki (preferowane — najbardziej oszczędne pod względem tokenów)
edit Większe przebudowy strukturalne
delete Całkowite usunięcie skilla
write_file Dodawanie/aktualizacja plików pomocniczych
remove_file Usunięcie pliku pomocniczego

Skill Hub

Przeglądanie, wyszukiwanie, instalowanie i zarządzanie skills z rejestrów online: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

Zintegrowane źródła hub:11

Źródło Przykład Uwagi
official official/security/1password Opcjonalne skills dostarczane z Hermes (zaufanie wbudowane)
skills-sh skills-sh/vercel-labs/agent-skills/vercel-react-best-practices Publiczny katalog skills firmy Vercel
well-known well-known:https://mintlify.com/docs/.well-known/skills/mintlify Wykrywanie oparte na URL ze stron publikujących /.well-known/skills/index.json
github openai/skills/k8s Bezpośrednie instalacje repo/ścieżek GitHub
clawhub Marketplace skills firm trzecich
claude-marketplace Manifesty wtyczek/marketplace zgodne z Claude
lobehub Konwersja katalogu agentów LobeHub

Domyślne tapy GitHub (do przeglądania bez konfiguracji): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11

Skanowanie bezpieczeństwa

Wszystkie skills instalowane z huba przechodzą przez skaner bezpieczeństwa, który sprawdza eksfiltrację danych, prompt injection, destrukcyjne polecenia, sygnały supply-chain i inne zagrożenia.11

Poziomy zaufania:11

Poziom Źródło Polityka
builtin Dostarczane z Hermes Zawsze zaufane
official optional-skills/ w repozytorium Zaufanie wbudowane, brak ostrzeżenia o stronie trzeciej
trusted Zaufane rejestry (openai/skills, anthropics/skills) Bardziej liberalna polityka
community Wszystko inne Niestanowiące zagrożenia ustalenia mogą zostać nadpisane przez --force; werdykty dangerous pozostają zablokowane

--force może nadpisać blokady polityki dla skills społecznościowych, jeśli nie są one niebezpieczne. Nie nadpisuje werdyktu skanowania dangerous.11

Zewnętrzne katalogi skills

Można wskazać Hermesowi dodatkowe katalogi skills skanowane obok lokalnego:11

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

Ścieżki obsługują rozwijanie ~ oraz podstawianie zmiennych środowiskowych ${VAR}. Zewnętrzne katalogi są tylko do odczytu — gdy agent tworzy lub edytuje skill, zawsze zapisuje go do ~/.hermes/skills/. Lokalne pierwszeństwo wygrywa, jeśli nazwa skilla istnieje w obu miejscach.11


Pamięć trwała

Hermes posiada ograniczoną, kuratorowaną pamięć, która utrzymuje się pomiędzy sesjami. Pamięć agenta składa się z dwóch plików, oba przechowywane w ~/.hermes/memories/:12

Plik Cel Limit znaków
MEMORY.md Osobiste notatki agenta — fakty środowiskowe, konwencje, rzeczy nauczone 2 200 znaków (~800 tokenów)
USER.md Profil użytkownika — preferencje, styl komunikacji, oczekiwania 1 375 znaków (~500 tokenów)

Oba są wstrzykiwane do system prompt jako zamrożona migawka na początku sesji. Agent zarządza własną pamięcią poprzez narzędzie memoryadd, replace lub remove.12

Wzorzec zamrożonej migawki: wstrzyknięcie do system prompt jest przechwytywane raz na początku sesji i nigdy nie zmienia się w trakcie. Jest to celowe — zachowuje to prefix cache LLM dla wydajności. Zmiany dokonane w trakcie sesji są zapisywane na dysk natychmiast, ale pojawiają się w system prompt dopiero w kolejnej sesji.12

Co zapisywać

Zapisywać te informacje (agent robi to proaktywnie):12 - Preferencje użytkownika: „Wolę TypeScript od JavaScript” → user - Fakty środowiskowe: „Ten serwer pracuje pod Debian 12 z PostgreSQL 16” → memory - Korekty: „Nie używaj sudo dla poleceń Docker, użytkownik jest w grupie docker” → memory - Konwencje: „Projekt używa tabulatorów, 120-znakowej szerokości linii, docstringów w stylu Google” → memory - Ukończona praca: „Zmigrowano bazę danych z MySQL do PostgreSQL w dniu 2026-01-15” → memory

Pomijać te informacje:12 - Trywialne/oczywiste informacje - Łatwe do ponownego odkrycia fakty - Surowe zrzuty danych (zbyt duże dla pamięci) - Efemeryczne dane specyficzne dla sesji - Informacje już znajdujące się w plikach kontekstowych

Wyszukiwanie sesji

Poza MEMORY.md i USER.md agent może przeszukiwać swoje wcześniejsze rozmowy za pomocą narzędzia session_search. Wszystkie sesje CLI i komunikatorów są przechowywane w SQLite (~/.hermes/state.db) z pełnotekstowym wyszukiwaniem FTS5. Zapytania zwracają istotne wcześniejsze rozmowy z podsumowaniem przez Gemini Flash.12

Funkcja Pamięć trwała Wyszukiwanie sesji
Pojemność ~1 300 tokenów łącznie Nieograniczona (wszystkie sesje)
Szybkość Natychmiastowa (w system prompt) Wymaga wyszukiwania + podsumowania LLM
Zastosowanie Kluczowe fakty zawsze dostępne Znajdowanie konkretnych wcześniejszych rozmów
Zarządzanie Ręcznie kuratorowane przez agenta Automatyczne — wszystkie sesje przechowywane
Koszt tokenów Stały na sesję (~1 300 tokenów) Na żądanie

Zewnętrzni dostawcy pamięci

Aby zapewnić głębszą pamięć trwałą wykraczającą poza MEMORY.md i USER.md, Hermes jest wyposażony w osiem zewnętrznych wtyczek dostawców pamięci: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover oraz Supermemory.12

Zewnętrzni dostawcy działają równolegle z pamięcią wbudowaną (nigdy jej nie zastępując) i dodają możliwości takie jak grafy wiedzy, wyszukiwanie semantyczne, automatyczne wyodrębnianie faktów oraz modelowanie użytkownika między sesjami: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)

W danym momencie aktywny może być tylko jeden zewnętrzny dostawca. Pamięć wbudowana jest zawsze aktywna.6

Automatyczne wznawianie sesji (v0.13.0+)

v0.13.0 sprawia, że przerwanie pracy agenta w trakcie staje się przeżywalne. Gateway automatycznie wznawia przerwane sesje po restarcie; restarty /update zachowują stan sesji przez aktualizację; przeładowania plików źródłowych podczas pracy deweloperskiej utrzymują aktywną sesję przy życiu, zamiast wymuszać nową.18 Praktyczny efekt: długo działające zadania gateway oraz cron-driven joby nie resetują już swojego okna kontekstu, gdy proces zostaje zrestartowany.

Checkpoints v2 (v0.13.0+)

Trwałość stanu została przepisana w v0.13.0 jako projekt single-store z prawdziwym przycinaniem, zabezpieczeniami dyskowymi i bez sierot shadow repos.18 Poprzedni system checkpointów akumulował stan na dysku w długo działających profilach; magazyn v2 nakłada twardy limit na lokalne przechowywanie checkpointów i usuwa zduplikowaną księgowość, która napędzała ten wzrost. Nie jest wymagana żadna zmiana konfiguracji widoczna dla użytkownika; następny zapis checkpointu używa ścieżki v2.


Osobowość i SOUL.md

SOUL.md to podstawowa tożsamość instancji Hermes. Zajmuje miejsce #1 w prompcie systemowym, zastępując zakodowaną na stałe tożsamość domyślną.13

Hermes automatycznie tworzy domyślny plik SOUL.md w lokalizacji ~/.hermes/SOUL.md (lub $HERMES_HOME/SOUL.md dla profili niestandardowych). Istniejące pliki użytkownika nigdy nie są nadpisywane. Hermes wczytuje SOUL.md wyłącznie z HERMES_HOME — nie szuka go w bieżącym katalogu roboczym. Dzięki temu osobowość pozostaje przewidywalna w różnych projektach.13

Co należy umieścić w SOUL.md

Należy go używać do trwałych wskazówek dotyczących głosu i osobowości:13 - ton - styl komunikacji - poziom bezpośredniości - domyślny styl interakcji - czego unikać pod względem stylistycznym - jak Hermes powinien obsługiwać niepewność, niezgodę, niejednoznaczność

Mniej nadaje się do:13 - jednorazowych instrukcji projektowych - ścieżek plików - konwencji repozytorium - tymczasowych szczegółów przepływu pracy

Te informacje należą do AGENTS.md, a nie do SOUL.md.

SOUL.md a AGENTS.md

To najważniejsze rozróżnienie w zarządzaniu tożsamością Hermes:13

SOUL.md — tożsamość, ton, styl, domyślne ustawienia komunikacji, zachowanie na poziomie osobowości.

AGENTS.md — architektura projektu, konwencje kodowania, preferencje narzędzi, przepływy pracy specyficzne dla repozytorium, polecenia, porty, ścieżki, uwagi dotyczące wdrożenia.

Przydatna zasada: jeśli coś ma podążać za Panem/Panią wszędzie, należy do SOUL.md. Jeśli należy do projektu, należy do AGENTS.md.13

Wbudowane osobowości

Hermes jest dostarczany z wbudowanymi osobowościami, na które można się przełączyć za pomocą /personality:13

Nazwa Opis
helpful Przyjazny asystent ogólnego przeznaczenia
concise Krótkie, zwięzłe odpowiedzi
technical Szczegółowy, precyzyjny ekspert techniczny
creative Innowacyjne, niestandardowe myślenie
teacher Cierpliwy edukator z jasnymi przykładami
kawaii Słodkie wyrażenia, gwiazdki, entuzjazm
catgirl Neko-chan z kocimi wyrażeniami
pirate Kapitan Hermes, zaawansowany technicznie korsarz
shakespeare Bardyczna proza z dramatycznym zacięciem
surfer Wyluzowane wibracje
noir Narracja twardego detektywa
uwu Maksymalna słodycz z uwu-mową
philosopher Głęboka kontemplacja przy każdym zapytaniu
hype MAKSYMALNA ENERGIA

Niestandardowe osobowości w config.yaml:13

agent:
  personalities:
    codereviewer: >
      You are a meticulous code reviewer. Identify bugs, security issues,
      performance concerns, and unclear design choices. Be precise and constructive.

Następnie można się przełączyć poleceniem /personality codereviewer.

SOUL.md a /personality

SOUL.md to bazowy głos. /personality to nakładka na poziomie sesji.13 Warto zachować pragmatyczny domyślny SOUL.md, a następnie używać /personality teacher do rozmowy szkoleniowej lub /personality creative do burzy mózgów.


Nous Tool Gateway (v0.10.0+)

Od wersji Hermes Agent v0.10.0 (2026-04-16) płatni subskrybenci Nous Portal uzyskują zarządzany dostęp do wyselekcjonowanego zestawu narzędzi za pośrednictwem swoich istniejących poświadczeń Portal — bez dodatkowych kluczy API do zarządzania.20 Sam CLI Hermes pozostaje na licencji MIT i jest w pełni open source. Zmieniło się to, że uwierzytelnianie Portal odblokowuje teraz coś więcej niż tylko inferencję modelu.

Co znajduje się w gateway

Narzędzie Dostawca Przypadek użycia
Wyszukiwanie internetowe Firecrawl Pobieranie informacji dla agentów potrzebujących świeżych danych
Generowanie obrazów FAL / FLUX 2 Pro Generowanie obrazów inline bez konfigurowania klucza FAL
Synteza mowy (TTS) OpenAI TTS Wypowiadane wyjście na bramkach komunikacyjnych
Automatyzacja przeglądarki Browser Use Bezgłowa nawigacja i scraping

Jak to działa

Gateway jest opcjonalny dla każdego narzędzia za pomocą nowego pola konfiguracyjnego use_gateway. Jeśli posiada Pan/Pani poświadczenia Portal w hermes auth oraz gateway jest włączony dla danego narzędzia, wywołania tego narzędzia są kierowane przez Portal. W przeciwnym razie używany jest bezpośredni klucz API (jeśli jest obecny).

# 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

Pierwszeństwo w czasie wykonywania: gdy gateway jest dostępny i narzędzie ma use_gateway: true, Hermes preferuje gateway nawet wtedy, gdy skonfigurowany jest również bezpośredni klucz API. Ma to znaczenie dla rozliczeń — wywołania przez gateway są pobierane z subskrypcji Portal, a nie ze stanu konta bezpośredniego klucza API.

Włączanie gateway

hermes model                      # select Nous Portal (OAuth flow)
hermes tools                      # per-platform tool picker integrates gateway tools
hermes status                     # confirms gateway/subscription detection

Nie istnieje osobne polecenie hermes subscribe ani hermes login --portal. Subskrypcja jest wykrywana automatycznie na podstawie poświadczeń Portal OAuth, które już znajdują się w hermes auth.

Cennik i dostęp

Cennik i nazwy poziomów są publikowane na stronie cennika Nous Portal (https://portal.nousresearch.com/pricing). Niniejszy przewodnik nie wylicza poziomów, ponieważ leżą one w gestii produktu Portal, a nie CLI Hermes, i zmieniają się niezależnie od wydań Hermes. Można się zarejestrować pod adresem https://portal.nousresearch.com/ i sprawdzić aktualne poziomy na stronie cennika.

Informacja o wycofaniu

  • Zmienna środowiskowa HERMES_ENABLE_NOUS_MANAGED_TOOLS została usunięta w v0.10.0. Zarządzane narzędzia są teraz włączane za pomocą pola konfiguracyjnego use_gateway przypisanego do danego narzędzia i podlegają stanowi subskrypcji Portal.20

Kontekst: czym to wydanie nie jest

CLI Hermes Agent nie jest ograniczony subskrypcją. Projekt nadal jest na licencji MIT, wszystkie podstawowe funkcje (CLI, skille, pamięć, messaging gateway, cron, MCP, lokalny dashboard, BYOK dla każdego dostawcy) działają od początku do końca bez konieczności płacenia komukolwiek. v0.10.0 dodaje wygodną ścieżkę dla użytkowników, którzy już płacą za Nous Portal — nie usuwa niczego z bezpłatnej ścieżki.


Messaging Gateway

Hermes może działać jako długo działający proces gateway, który łączy się z 20 platformami komunikacyjnymi z poziomu jednego procesu 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 oraz ogólny adapter Webhook.3191718 v0.9.0 dodała iMessage poprzez BlueBubbles (automatyczna rejestracja webhooków, kreator konfiguracji, odporność na awarie) oraz natywną obsługę WeChat przez iLink Bot API z trybem callback WeCom dla aplikacji firmowych.16 v0.11.0 dodała QQBot.19 v0.12.0 dodała Microsoft Teams i Tencent Yuanbao.17 v0.13.0 dodała Google Chat jako 20. platformę, korzystającą z tej samej architektury wtyczkowych adapterów; IRC i Microsoft Teams również zostały zmigrowane na nowy wzorzec adapterów z ogólnymi punktami zaczepienia wtyczek env_enablement_fn / cron_deliver_env_var.18

Konfiguracja

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)

Interaktywna konfiguracja prowadzi przez podłączenie każdej platformy: tokeny API, identyfikatory botów, mapowania kanałów, listy dozwolonych.6

Jak przepływają wiadomości

Z dokumentacji architektury upstream: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

Każda platforma komunikacyjna przechodzi przez tę samą pętlę konwersacji AIAgent co CLI. Dlatego polecenia ukośnikowe działają identycznie w obu miejscach i dlatego zadanie cron zaplanowane w Telegramie może dostarczyć wynik na Discorda — różnica między platformami istnieje jedynie na brzegu.3

Autoryzacja użytkownika i parowanie

hermes pairing list                    # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending

Kody parowania chronią przed tym, by przypadkowi obcy mogli rozmawiać z gatewayem. Użytkownik wysyła kod parowania ze swojej platformy komunikacyjnej; zatwierdza go Pan/Pani poleceniem hermes pairing approve; od tego momentu jest autoryzowany.6


Zadania zaplanowane (Cron)

Hermes ma pierwszoklasowy system cron, w którym zadania są zadaniami agenta, a nie poleceniami powłoki. Każde zaplanowane zadanie przechodzi przez świeżą instancję AIAgent ze skonfigurowanym promptem, opcjonalnymi dołączonymi skillami i dostarcza wyniki na dowolną 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

Lub utworzyć je konwersacyjnie wewnątrz czatu komunikacyjnego:

Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.

Agent skonfiguruje zadanie cron za pomocą swoich narzędzi. Zadania są zachowywane w JSON i przetrwają restarty.3


Integracja z MCP

Hermes obsługuje Model Context Protocol zarówno jako klient, jak i serwer:6

Jako klient — można połączyć Hermes z zewnętrznymi serwerami MCP, aby rozszerzyć dostępny zestaw narzędzi:

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

Lub ręcznie w pliku config.yaml:14

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

Jako serwer — można udostępnić rozmowy Hermes innym agentom:

hermes mcp serve
hermes mcp serve -v    # Verbose

Kompresja kontekstu

Hermes automatycznie kompresuje długie rozmowy, aby mieściły się w oknie kontekstowym wybranego modelu. Sumaryzator kompresji jest osobnym wywołaniem LLM — można skierować go na dowolnego dostawcę lub punkt końcowy.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

Opcje dostawcy:4

summary_provider summary_base_url Rezultat
auto (domyślnie) nie ustawione Automatyczne wykrycie najlepszego dostępnego dostawcy
nous / openrouter / itp. nie ustawione Wymuszenie wybranego dostawcy z jego uwierzytelnianiem
dowolny ustawione Bezpośrednie użycie niestandardowego punktu końcowego (dostawca ignorowany)

summary_model musi obsługiwać długość kontekstu co najmniej taką samą, jak model główny, ponieważ otrzymuje pełną środkową część rozmowy do skompresowania.4

Ostrzeżenia o presji budżetu

Gdy agent pracuje nad złożonym zadaniem z wieloma wywołaniami narzędzi, może wyczerpać swój budżet iteracji (domyślnie: 90 tur) bez świadomości tego faktu. Mechanizm presji budżetu automatycznie ostrzega model:4

Próg Poziom Co widzi model
70% Ostrożność [BUDGET: 63/90. 27 iterations left. Start consolidating.]
90% Ostrzeżenie [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.]

Limity czasu strumienia

Połączenie strumieniujące LLM ma dwie warstwy limitów czasu, które automatycznie dostosowują się do lokalnych dostawców (localhost, adresy LAN):4

Limit czasu Domyślnie Dostawcy lokalni Zmienna środowiskowa
Limit odczytu socketu 120 s Automatycznie podnoszony do 1800 s HERMES_STREAM_READ_TIMEOUT
Wykrywanie nieaktywnego strumienia 180 s Automatycznie wyłączane HERMES_STREAM_STALE_TIMEOUT
Wywołanie API (bez strumieniowania) 1800 s Bez zmian HERMES_API_TIMEOUT

Limit odczytu socketu zostaje podniesiony do 30 minut dla lokalnych punktów końcowych, ponieważ lokalne LLM mogą potrzebować kilku minut na wstępne przetworzenie dużych kontekstów przed wygenerowaniem pierwszego tokenu.4


Lokalny panel WWW (v0.9.0+)

Panel oparty na przeglądarce do lokalnego zarządzania Hermes Agent. Pozwala konfigurować ustawienia, monitorować sesje, przeglądać skille i zarządzać gateway bez konieczności edytowania plików konfiguracyjnych ani korzystania z terminala.16 Uruchamia się go poleceniem hermes dashboard. Jest to najprostsza ścieżka wdrożenia dla nowych użytkowników preferujących GUI.

Monitorowanie procesów w tle (v0.9.0+)

watch_patterns umożliwia ustawianie wzorców monitorowanych w wyjściu procesu działającego w tle oraz otrzymywanie powiadomień w czasie rzeczywistym, gdy nastąpi dopasowanie.16 Można monitorować błędy, czekać na konkretne zdarzenia („listening on port”) lub obserwować logi kompilacji — wszystko bez odpytywania. W połączeniu z notify_on_complete z v0.8.0 (powiadamiającym o zakończeniu zadania w tle) Hermes zyskuje pełną warstwę obserwowalności procesów w tle.15

Wymienny silnik kontekstu (v0.9.0+)

Zarządzanie kontekstem stało się obecnie wymiennym slotem dostępnym poprzez hermes plugins. Można podstawić niestandardowe silniki kontekstu, które kontrolują, co agent widzi w każdej turze — filtrowanie, sumaryzacja czy iniekcja kontekstu specyficznego dla domeny.16 Rozwiązanie to oddziela strategię kontekstu od głównej pętli agenta, umożliwiając dostosowanie kontekstu do konkretnego projektu lub domeny.

Kopia zapasowa i przywracanie (v0.9.0+)

hermes backup tworzy pełne archiwum konfiguracji, sesji, skilli i pamięci. hermes import przywraca dane z archiwum kopii zapasowej.16 Funkcja ta służy do migracji między maszynami, tworzenia migawek przed istotnymi zmianami lub udostępniania sprawdzonej konfiguracji członkom zespołu.

Wsparcie dla Termux / Android (v0.9.0+)

Hermes działa natywnie na Androidzie poprzez Termux. Dostosowane ścieżki instalacyjne, optymalizacje TUI dla ekranów mobilnych, obsługa głosowych backendów oraz polecenie /image działają bezpośrednio na urządzeniu.16

Wzmocnienie bezpieczeństwa (v0.13.0+)

W wersji v0.13.0 zamknięto 8 problemów bezpieczeństwa P0 oraz zmieniono jedno ustawienie domyślne na korzyść użytkownika.18

Poprawka Co się zmieniło
Domyślnie włączona redakcja sekretów Wcześniej dostępna jako opcja włączana ręcznie. Logi oraz przesyłane dane hermes debug share redagują sekrety, jeśli funkcja nie zostanie jawnie wyłączona. W v0.12.0 redakcja była domyślnie wyłączona po zgłoszeniach uszkodzonych ładunków; v0.13.0 ponownie włącza ją jako bezpieczniejszą wartość bazową.
Obejście wiadomości DM między guildami w Discord (CVSS 8.1) Listy dozwolonych ról Discord mają obecnie zasięg ograniczony do pojedynczej guildy, co eliminuje sytuację, w której rola użytkownika w jednej guildzie autoryzowała wiadomości DM we wszystkich pozostałych.
Domyślne ograniczenia WhatsApp Adapter WhatsApp domyślnie odrzuca nieznajomych i nigdy nie odpowiada w czacie z samym sobą.
Okno TOCTOU w MCP OAuth Zamknięto sytuację wyścigu podczas zapisu poświadczeń w przepływach MCP OAuth.
TOCTOU w pliku auth.json CLI Zamknięto analogiczne okno TOCTOU w mechanizmie zapisującym poświadczenia w magazynie autoryzacji CLI.
Dolny próg SSRF dla przeglądarki Routing hybrydowy wymusza dolny próg SSRF dla metadanych chmury, blokując żądania kierowane do 169.254.169.254 i adresów równoważnych.
Skanowanie cron pod kątem prompt injection Skomponowane prompty (wraz z załadowaną zawartością skilli) są skanowane pod kątem prompt injection przed uruchomieniem zadania cron.
Redakcja w hermes debug share Przesyłki debug share redagują zawartość logów w momencie wysyłki, a nie wyłącznie w momencie zapisu.

Osoby utrzymujące wdrożenie Hermes powinny traktować v0.13.0 jako aktualizację o znaczeniu bezpieczeństwa, a nie jedynie wydanie z nowymi funkcjami. Obejście między guildami w Discord oraz dwa okna TOCTOU pozostają możliwe do wykorzystania w poprzednich wersjach.


Architektura dla praktyków

Ta sekcja jest przeznaczona dla osób, które chcą zrozumieć, co dzieje się pod maską, aby móc to debugować, rozszerzać lub wnioskować o wydajności. Stanowi syntezę dokumentacji architektury upstream.3

Punkty wejścia → AIAgent

Każdy punkt wejścia w Hermes ostatecznie wywołuje 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                                 
  └──────────────┘ └──────────────┘  └──────────────┘             
└──────────────────────────────────────────────────────────────────┘

Diagram zaadaptowany z dokumentacji architektury upstream.3

„47 tools / 20 toolsets” vs „28 tools” w Państwa banerze. Liczba „47 tools” to całkowity rejestr narzędzi w repozytorium upstream — każde narzędzie, dla którego Hermes dostarcza kod źródłowy, we wszystkich toolsetach. Faktycznie uruchomiony CLI pokaże mniejszą liczbę w banerze startowym (instalacja, na której weryfikowałem ten przewodnik, raportuje 28 tools / 89 skills). To nie błąd. Wiele toolsetów jest opcjonalnych i musi zostać jawnie włączonych w config.yaml w sekcji toolsets: — adaptery platform komunikacyjnych, automatyzacja przeglądarki, cięższe narzędzia do scrapingu itd. Suma w rejestrze to „co jest dostępne”; liczba w banerze to „co jest włączone w bieżącym profilu”. Można sprawdzić, które toolsety są aktywne, za pomocą polecenia hermes tools --list oraz włączyć lub wyłączyć poszczególne toolsety w bloku toolsets: w pliku ~/.hermes/config.yaml (lub poleceniami /tools list / /tools enable <name> / /tools disable <name> wewnątrz uruchomionej sesji — usunięcie narzędzia powoduje reset sesji, aby agent przebudował swój manifest narzędzi).

Trzy tryby API

Hermes abstrahuje różnice między dostawcami do trzech trybów API, wybieranych automatycznie w czasie wykonania:3

Tryb API Używany przez
chat_completions OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, większość niestandardowych endpointów, dowolny serwer kompatybilny z OpenAI
codex_responses OpenAI Codex (przez ChatGPT OAuth)
anthropic_messages Anthropic API (natywne), Anthropic OAuth, proxy kompatybilne z Anthropic

Resolver runtime_provider.py mapuje krotki (provider, model) na (api_mode, api_key, base_url) dla ponad 18 dostawców, obsługując przepływy OAuth, pule poświadczeń i rozwiązywanie aliasów.3

Przepływ danych przez sesję CLI

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

Z upstreamowej strony architektury.3

Kolejność składania promptu

Stos promptu obejmuje:13

  1. SOUL.md (tożsamość agenta — lub wbudowany fallback, jeśli niedostępny)
  2. Wytyczne dotyczące zachowania świadomego narzędzi
  3. Kontekst pamięci/użytkownika (MEMORY.md, USER.md)
  4. Wytyczne dotyczące skilli
  5. Pliki kontekstu (AGENTS.md, .cursorrules)
  6. Znacznik czasu
  7. Wskazówki formatowania specyficzne dla platformy
  8. Opcjonalne nakładki system-prompt, takie jak /personality

SOUL.md stanowi fundament — wszystko inne nadbudowuje się na nim.13

Przechowywanie sesji

Przechowywanie sesji oparte na SQLite z pełnotekstowym wyszukiwaniem FTS5. Sesje posiadają śledzenie linii rodowodowej (rodzic/dziecko między kompresjami), izolację per platforma oraz atomowe zapisy z obsługą rywalizacji.3

System wtyczek

Trzy źródła wykrywania: ~/.hermes/plugins/ (użytkownik), .hermes/plugins/ (projekt) oraz punkty wejścia pip. Wtyczki rejestrują narzędzia, hooki i polecenia CLI poprzez kontekstowe API. Dostawcy pamięci stanowią wyspecjalizowany typ wtyczki w plugins/memory/.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

Zasady projektowe

Z upstreamowej strony architektury:3

Zasada Co to oznacza w praktyce
Stabilność promptu System prompt nie zmienia się w trakcie konwersacji. Brak mutacji łamiących cache poza jawnymi działaniami użytkownika (/model)
Obserwowalne wykonanie Każde wywołanie narzędzia jest widoczne dla użytkownika poprzez callbacki. Aktualizacje postępu w CLI (spinner) oraz gateway (wiadomości czatu)
Możliwość przerwania Wywołania API i wykonywanie narzędzi można anulować w trakcie pracy poprzez wprowadzenie danych przez użytkownika lub sygnały
Rdzeń niezależny od platformy Jedna klasa AIAgent obsługuje CLI, gateway, ACP, batch oraz serwer API. Różnice między platformami żyją w punkcie wejścia
Luźne sprzężenie Opcjonalne podsystemy (MCP, wtyczki, dostawcy pamięci, środowiska RL) używają wzorców rejestru i bramkowania check_fn, nie twardych zależności
Izolacja profili Każdy profil otrzymuje własne HERMES_HOME, config, pamięć, sesje oraz PID gateway. Wiele profili działa równolegle

Migracja z OpenClaw

Hermes Agent jest następcą OpenClaw. W przypadku migracji z istniejącej instalacji OpenClaw: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 domyślnie czyta z ~/.openclaw (automatycznie wykrywa również starsze katalogi ~/.clawdbot oraz ~/.moldbot) i zapisuje do ~/.hermes.6

Bezpośrednio importowane (ponad 30 kategorii): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skille z 4 katalogów źródłowych, domyślny model, niestandardowi dostawcy, serwery MCP, tokeny i allowlisty platform komunikacyjnych (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), domyślne ustawienia agenta (poziom rozumowania, kompresja, opóźnienie ludzkie, strefa czasowa, sandbox), polityki resetu sesji, reguły zatwierdzania, konfiguracja TTS, ustawienia przeglądarki, ustawienia narzędzi, exec timeout, allowlista poleceń, konfiguracja gateway oraz klucze API z 3 źródeł.6

Zarchiwizowane do ręcznego przeglądu: zadania cron, wtyczki, hooki/webhooki, backend pamięci (QMD), konfiguracja rejestru skilli, UI/tożsamość, logowanie, konfiguracja multi-agenta, powiązania kanałów, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6

Rozwiązywanie kluczy API sprawdza trzy źródła w kolejności priorytetu: wartości konfiguracyjne → ~/.openclaw/.envauth-profiles.json.6


Rozwiązywanie problemów

“API key not set”

Proszę uruchomić hermes model, aby skonfigurować dostawcę interaktywnie, lub hermes config set OPENROUTER_API_KEY your_key. Polecenie hermes doctor wskaże dokładnie, których kluczy brakuje.7

“Context limit: 2048 tokens” przy uruchomieniu (modele lokalne)

Hermes automatycznie wykrywa długość kontekstu z punktu końcowego /v1/models serwera, jednak wiele lokalnych serwerów raportuje niskie wartości domyślne. Można ustawić ją jawnie w config.yaml:2

model:
  default: your-model
  provider: custom
  base_url: http://localhost:11434/v1
  context_length: 32768

Wywołania narzędzi pojawiają się jako tekst zamiast się wykonywać

Serwer nie ma włączonej obsługi wywołań narzędzi lub model nie obsługuje jej w implementacji serwera.2

Serwer Rozwiązanie
llama.cpp Należy dodać --jinja do polecenia uruchomieniowego
vLLM Należy dodać --enable-auto-tool-choice --tool-call-parser hermes
SGLang Należy dodać --tool-call-parser qwen (lub odpowiedni parser)
Ollama Wywołania narzędzi są domyślnie włączone — proszę sprawdzić, czy model je obsługuje za pomocą ollama show <model>
LM Studio Należy zaktualizować do wersji 0.3.6+ i użyć modelu z natywnym wsparciem narzędzi

Odpowiedzi są ucinane w połowie zdania

Dwie możliwe przyczyny:2

  1. Niski limit wyjściowy (max_tokens) na serwerze — SGLang domyślnie ustawia 128 tokenów na odpowiedź. Należy ustawić --default-max-tokens na serwerze lub skonfigurować model.max_tokens w config.yaml.
  2. Wyczerpanie kontekstu — Model zapełnił okno kontekstowe. Proszę zwiększyć model.context_length lub włączyć kompresję kontekstu w Hermesie.

“Connection refused” z WSL2 do serwera modelu hostowanego w Windows

WSL2 używa wirtualnego adaptera sieciowego z własną podsiecią — localhost wewnątrz WSL2 odnosi się do maszyny wirtualnej Linux, a nie do hosta Windows. Dwie opcje:2

Sieć lustrzana (Windows 11 22H2+): należy edytować %USERPROFILE%\.wslconfig:

[wsl2]
networkingMode=mirrored

Następnie wsl --shutdown i ponowne uruchomienie. localhost działa teraz dwukierunkowo.

Adres IP hosta jako rozwiązanie zapasowe (starsze wersje Windows): należy uzyskać adres IP hosta Windows z wnętrza WSL2 i użyć go zamiast localhost:

ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host

Konieczne jest również, aby serwer modelu nasłuchiwał na 0.0.0.0, a nie na 127.0.0.1 — należy ustawić OLLAMA_HOST=0.0.0.0 dla Ollamy, dodać --host 0.0.0.0 dla llama-server/SGLang lub włączyć “Serve on Network” w LM Studio.2

Gdzie wszystko się znajduje?

hermes status i hermes dump to przyjaciele w tej sytuacji. hermes logs list pokazuje wszystkie pliki logów wraz z rozmiarami. hermes config path wyświetla lokalizację pliku konfiguracyjnego. hermes config env-path wyświetla lokalizację pliku .env.6


FAQ

Jaka jest różnica między Hermes Agent a Claude Code?

Claude Code jest oficjalnym CLI firmy Anthropic, ograniczonym do modeli Anthropic. Hermes Agent to otwartoźródłowy framework agentowy od Nous Research, który współpracuje z dowolnym dostawcą zgodnym z OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google lub własny, samodzielnie hostowany punkt końcowy.12 Hermes oferuje również bramę komunikacyjną dla Telegram/Discord/Slack/WhatsApp/Signal, której Claude Code nie posiada.

Czy mogę używać Hermesa z kluczem API od Anthropic?

Tak. Trzy sposoby:2

  1. Ustawić ANTHROPIC_API_KEY w ~/.hermes/.env i uruchomić hermes chat --provider anthropic --model claude-sonnet-4-6
  2. Uruchomić hermes model i wybrać Anthropic — Hermes wykorzysta magazyn poświadczeń Claude Code, jeśli będzie dostępny
  3. Ustawić ręczny ANTHROPIC_TOKEN (setup-token lub token OAuth) jako rozwiązanie zapasowe

Opcja 2 jest preferowana, jeśli Claude Code jest już używany na tej samej maszynie — zachowuje odświeżalne poświadczenia Claude jako odświeżalne.

Jak przełączyć dostawców bez utraty konwersacji?

Należy użyć /model provider:model wewnątrz sesji. Historia konwersacji, pamięć i umiejętności zostają zachowane:9

/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5

Skonfigurowałem Anthropic, ale wizja/web/kompresja nie działają

Następuje wtedy odwołanie do pomocniczego modelu zapasowego. Wizja, podsumowywanie stron, kompresja i inne zadania pomocnicze wykorzystują oddzielny pomocniczy LLM — domyślnie Gemini Flash poprzez automatyczne wykrywanie (OpenRouter → Nous → Codex). Jeśli żaden z nich nie jest skonfigurowany, a skonfigurowany jest tylko Anthropic, te funkcje cicho ulegają degradacji.4

Rozwiązanie: można dodać OPENROUTER_API_KEY dla zadań pomocniczych albo przekonfigurować sloty pomocnicze, aby używały głównego dostawcy. Warto zauważyć, że kompresja kontekstu znajduje się we własnym bloku najwyższego poziomu compression: i przyjmuje summary_provider, a nie auxiliary.compression.provider — slot auxiliary.compression udostępnia jedynie timeout. Pełne rozwiązanie:

auxiliary:
  vision:      { provider: "main" }
  web_extract: { provider: "main" }

compression:
  summary_provider: "main"

Jaka jest różnica między SOUL.md a AGENTS.md?

SOUL.md to tożsamość agenta — ton, styl, domyślne ustawienia komunikacji. Znajduje się w ~/.hermes/SOUL.md i podąża za użytkownikiem wszędzie. AGENTS.md jest specyficzny dla projektu — architektura, konwencje, polecenia, ścieżki — i znajduje się w katalogu projektu.13 Jeśli coś ma podążać za użytkownikiem wszędzie, należy użyć SOUL.md. Jeśli należy do projektu, należy użyć AGENTS.md.

Jak uruchomić wiele instancji Hermesa równolegle?

Profile. Każdy profil otrzymuje własny HERMES_HOME, konfigurację, pamięć, sesje i PID bramy: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

Czy Hermes obsługuje lokalne LLM?

Tak, poprzez ścieżkę niestandardowego punktu końcowego. Hermes współpracuje z dowolnym serwerem zgodnym z OpenAI: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan lub własnym.2 Patrz Custom & Self-Hosted Endpoints, aby uzyskać konfigurację dla poszczególnych serwerów.

Dlaczego baner startowy pokazuje mniej narzędzi, niż przewodnik podaje, że Hermes posiada?

Przewodnik wymienia 47 narzędzi / 20 toolsetów z rejestru architektury źródłowej — to pełna liczba narzędzi, dla których Hermes dostarcza kod źródłowy we wszystkich toolsetach. Działająca instalacja pokazuje mniejszą liczbę w banerze (referencyjna instalacja użyta dla tego przewodnika raportuje 28 narzędzi), ponieważ Hermes włącza tylko domyślny zestaw toolsetów przy uruchomieniu. Wiele toolsetów jest opcjonalnych: adaptery bramy komunikacyjnej, automatyzacja przeglądarki, cięższe stosy do scrapingu oraz kilka wyspecjalizowanych integracji muszą być jawnie wymienione w toolsets: w ~/.hermes/config.yaml, zanim się załadują. Suma w rejestrze = “co jest dostępne, jeśli to włączysz”. Suma w banerze = “co Twój bieżący profil faktycznie załadował”. Należy użyć hermes tools --list, aby zobaczyć, które toolsety są aktywne, a które są dostępne, ale wyłączone. Pojedyncze toolsety można przełączać w czasie działania za pomocą /tools enable <name> oraz /tools disable <name> (wyłączenie powoduje reset sesji, aby agent przebudował manifest narzędzi z nowym kształtem).

Jak Hermes obsługuje awarię modelu, gdy mój podstawowy dostawca zawodzi?

Należy skonfigurować blok fallback_model w config.yaml:2

fallback_model:
  provider: openrouter
  model: anthropic/claude-sonnet-4

Gdy podstawowy dostawca zawiedzie (limit zapytań, błąd serwera, awaria uwierzytelniania), Hermes przełącza się na zapasowy w trakcie sesji bez utraty historii konwersacji. Uruchamia się co najwyżej raz na sesję.

Czy agent może z czasem ulepszać własne umiejętności?

Tak — to właśnie część “samodoskonaląca się” w Hermes Agent. Agent może tworzyć, aktualizować i usuwać umiejętności za pomocą narzędzia skill_manage. Gdy odkryje nietrywialny przepływ pracy, zapisuje to podejście jako umiejętność do późniejszego ponownego użycia.11 Agent tworzy umiejętności po złożonych zadaniach (5+ wywołań narzędzi), gdy napotka błędy i znajdzie działającą ścieżkę, gdy użytkownik skoryguje jego podejście lub gdy odkryje nietrywialny przepływ pracy.

Czy istnieje integracja z IDE?

Tak — Hermes może działać jako serwer ACP (Agent Client Protocol) dla VS Code, Zed i JetBrains:6

pip install -e '.[acp]'
hermes acp

Dziennik zmian

Data Zmiana Źródło
2026-05-07 Przewodnik v1.5: Dodano v0.13.0 (7 maja 2026) — wydanie Tenacity. Nagłówek: trwała wieloagentowa tablica Kanban (heartbeat, reclaim, wykrywanie zombie, bramka halucynacji, max_retries per zadanie, tablice wieloprojektowe), która zamienia roje w prymityw pierwszej klasy zamiast wzorca delegacji. Polecenie /goal blokuje agenta na celu pomiędzy turami (wzorzec Ralph-loop jako polecenie ukośnikowe). Nowe narzędzie video_analyze, Gemini-first z rozszerzalną obsługą kompatybilnych modeli. Provider xAI Custom Voices TTS z klonowaniem głosu. i18n w 7 językach (zh-Hans, ja, de, es, fr, uk, tr) dla CLI i komunikatów gateway; dokumentacja tylko w zh-Hans. Google Chat jako 20. platforma komunikacyjna poprzez wzorzec adaptera plug-in; IRC + Microsoft Teams zostały przeniesione na ten sam wzorzec. ProviderProfile ABC + plugins/model-providers/ dla wtyczkowych dostawców zewnętrznych bez modyfikacji rdzenia. Automatyczne wznawianie sesji po restarcie gateway, /update i przeładowaniu pliku źródłowego. Checkpoints v2 — przepisanie z projektem pojedynczego magazynu, prawdziwym przycinaniem i zabezpieczeniami dysku. Osiem zamknięć bezpieczeństwa P0: domyślnie włączone redagowanie sekretów, obejście DM między guildami w Discord (CVSS 8.1), odrzucanie obcych + wyciszanie własnego czatu w WhatsApp, TOCTOU w MCP OAuth, TOCTOU w pliku CLI auth.json, dolny próg SSRF przeglądarki, skanowanie wstrzykiwania promptów cron, redagowanie hermes debug share. Lintowanie po zapisie dla Python/JSON/YAML/TOML, tryb cron no_agent tylko dla skryptów, listy dozwolonych platform w Slack/Telegram/Mattermost/Matrix/DingTalk, ulepszenia MCP (transport SSE, przekazywanie OAuth, znaczniki obrazów MEDIA). Statystyki od v0.12.0: 864 commity, 588 zmergowanych PR-ów, 829 zmienionych plików, 295 współpracowników społeczności, 282 zamknięte zgłoszenia (13 P0, 36 P1). 18
2026-05-06 Przewodnik v1.4: Dodano v0.12.0 (30 kwietnia 2026) — wydanie Curator. Nagłówek: autonomiczny Curator działający w tle na cron-tickerze gateway (domyślny cykl 7-dniowy), który ocenia bibliotekę umiejętności według rubryki, usuwa martwe umiejętności, konsoliduje powiązane umiejętności i tworzy raporty z każdego uruchomienia — Hermes utrzymuje się sam pomiędzy aktywnymi sesjami. Pętla samodoskonalenia ulepszona o ocenianie według rubryki, preferowanie aktywnych aktualizacji, prawidłowe dziedziczenie środowiska wykonawczego oraz toolsety o ograniczonym zakresie do pamięci i umiejętności. Czterech nowych dostawców inferencji: GMI Cloud, Azure AI Foundry, MiniMax OAuth oraz Tencent Tokenhub. LM Studio awansowany do pierwszej klasy. Manifesty katalogu modeli zdalnych aktualizują się teraz automatycznie bez wydań. Dwie nowe platformy komunikacyjne: Microsoft Teams (19. miejsce, poprzez wtyczkową architekturę gateway) oraz Tencent Yuanbao (18. miejsce, natywny tekst + media). Natywne Spotify poprzez PKCE OAuth z dołączoną umiejętnością; wtyczka Google Meet do połączeń i transkrypcji; lokalny provider Piper TTS. ComfyUI v5 + TouchDesigner-MCP przeniesione z opcjonalnych do dołączanych domyślnie. Nowe umiejętności: Humanizer, claude-design, design-md, airtable. Nowości w CLI: tryb jednorazowy hermes -z, kontrola wstępna hermes update --check, polecenie ukośnikowe /reload-skills, wtyczkowe style wskaźnika zajętości. Widoczny czas zimnego startu TUI skrócony o ~57% dzięki leniwej inicjalizacji agenta i leniwym importom. Bezpieczeństwo: redagowanie sekretów domyślnie wyłączone, aby zapobiec uszkodzeniu ładunku; lista zablokowanych poleceń nie do odzyskania. Statystyki: 1 096 commitów, 550 zmergowanych PR-ów, 213 współpracowników społeczności. 17
2026-04-25 Przewodnik v1.3: Dodano v0.11.0 (23 kwietnia 2026) — wydanie Interface. Pełny przepis interaktywnego TUI w React/Ink z backendem Python JSON-RPC (tui_gateway); przyklejony composer, strumieniowanie na żywo z obsługą schowka OSC-52, stabilne klucze pickera, pasek statusu ze stoperem na turę i gałęzią git, potwierdzenie /clear, jasny preset motywu, nakładka obserwowalności spawnu subagentów. Wtyczkowa architektura transportu — konwersja formatu i transport HTTP wyodrębnione do agent/transports/ dla czystszej obsługi providerów. Natywne AWS Bedrock przez API Converse. Pięć nowych ścieżek inferencji: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth oraz Vercel ai-gateway. GPT-5.5 przez Codex OAuth — nowy flagowiec OpenAI jest teraz dostępny przez ChatGPT Codex OAuth bez osobnego klucza API. QQBot (17. platforma komunikacyjna) z konfiguracją przez skanowanie QR i strumieniowaniem. Rozszerzenie powierzchni wtyczek: polecenia ukośnikowe, dyspozycja narzędzi, blokowanie wykonania, transformacja wyników. /steer <prompt> — pchnięcia agenta w trakcie biegu, które wstrzykują notatkę widzianą przez działającego agenta po jego następnym wywołaniu narzędzia, bez przerywania tury i bez psucia pamięci podręcznej promptu. Shell hooks podpinają skrypty jako hooki cyklu życia bez wtyczek Python. Tryb bezpośredniego dostarczania webhooka przekazuje ładunki prosto do czatu platformy, omijając agenta przy fan-out. Inteligentniejsza delegacja z rolami orkiestratora, konfigurowalną głębokością spawnu i koordynacją plików. Dashboard zyskuje system wtyczek, przełączanie motywów na żywo, i18n oraz responsywność mobilną. Statystyki od v0.9.0: 1 556 commitów, 761 zmergowanych PR-ów, 1 314 zmienionych plików, 224 174 wstawienia, 29 współpracowników społeczności. 19
2026-04-16 Przewodnik v1.2: Dodano v0.10.0 — Nous Tool Gateway. Płatni subskrybenci Nous Portal mają teraz dostęp do zarządzanych narzędzi (wyszukiwanie sieciowe Firecrawl, generowanie obrazów FAL / FLUX 2 Pro, OpenAI TTS, automatyzacja przeglądarki Browser Use) bez dodatkowych kluczy API. Wybór per narzędzie poprzez nowe pole konfiguracyjne use_gateway. Środowisko wykonawcze preferuje gateway nad bezpośrednimi kluczami API, gdy oba są skonfigurowane. Zmienna środowiskowa HERMES_ENABLE_NOUS_MANAGED_TOOLS została usunięta. Hermes Agent CLI pozostaje na licencji MIT i jest w pełni darmowy. 20
2026-04-13 Przewodnik v1.1: Dodano funkcje v0.8.0 i v0.9.0. Lokalny dashboard webowy, tryb /fast, platformy iMessage + WeChat (łącznie 16), monitorowanie procesów w tle (watch_patterns), wtyczkowy silnik kontekstu, hermes backup/hermes import, Termux/Android, providery xAI + MiMo + Google AI Studio + Qwen, polecenie /debug, kompleksowe wzmocnienie bezpieczeństwa. 15 16
2026-04-10 Przewodnik v1.0: Wydanie początkowe obejmujące Hermes Agent v0.7.0. Uwierzytelnianie providerów, konfiguracja, CLI, polecenia ukośnikowe, narzędzia, umiejętności, pamięć, gateway, cron, MCP, kompresja, architektura, migracja OpenClaw, rozwiązywanie problemów, FAQ.

Bibliografia


  1. Nous Research, “Hermes Agent” — plik README projektu w GitHub. Główne źródło opisu produktu (samodoskonalący się agent, wieloproviderowość, gateway komunikatorów, terminalowe backendy, ewolucja skills, harmonogram cron, delegowanie) oraz polecenia jednolinijkowego “Quick Install”

  2. Nous Research, “AI Providers” w dokumentacji Hermes Agent. Główne źródło informacji o pełnej liście providerów, metodach uwierzytelniania dla każdego providera (Nous Portal OAuth, Codex device code, typy tokenów GitHub Copilot, trzymetodowa autoryzacja Anthropic, chińscy providerzy AI, routing Hugging Face, niestandardowe endpointy), trzech ścieżkach uwierzytelniania (klucz API w pliku .env, OAuth przez hermes model, niestandardowy endpoint w config.yaml), składni polecenia slash /model (wraz z custom:name:model), szablonach konfiguracyjnych Ollama/vLLM/SGLang/llama.cpp/LM Studio, instrukcjach dotyczących sieci WSL2, łańcuchu wykrywania długości kontekstu, konfiguracji modelu rezerwowego, inteligentnym routingu modeli oraz nazwanych niestandardowych providerach. Wszystkie nazwy zmiennych środowiskowych specyficznych dla providerów, typy tokenów, nadpisania bazowych adresów URL oraz identyfikatory modeli przywołane w tym wpisie pochodzą z tej strony. 

  3. Nous Research, “Architecture” w przewodniku dewelopera Hermes Agent. Główne źródło dla diagramu poglądowego systemu, struktury katalogów, przepływu danych przez sesję CLI oraz ścieżki komunikatów gateway, trzech trybów API (chat_completions, codex_responses, anthropic_messages), rozwiązywania providerów przez runtime_provider.py, trwałości sesji opartej na SQLite + FTS5, listy platform gateway komunikatorów, źródeł odkrywania systemu wtyczek, izolacji profili oraz sześciu zasad projektowych. 

  4. Nous Research, “Configuration” w przewodniku użytkownika Hermes Agent. Główne źródło informacji o strukturze katalogu konfiguracyjnego, regule rozdziału config.yaml i .env („config.yaml wygrywa w przypadku ustawień niewrażliwych”), łańcuchu pierwszeństwa konfiguracji (argumenty CLI → env → config.yaml → .env → wartości domyślne), ustawieniach kompresji kontekstu (blok compression.* z polami threshold, target_ratio, protect_last_n, summary_model, summary_provider, summary_base_url), progach presji budżetowej (70% ostrożność, 90% ostrzeżenie), limitach czasu strumieniowania z automatycznym dostosowaniem dla lokalnego providera oraz pełnym bloku konfiguracyjnym modeli pomocniczych (auxiliary: ze slotami vision, web_extract, approval, compression, session_search, skills_hub, mcp, flush_memories). Z tej strony pochodzi również ograniczenie providera "main" do slotów auxiliary/compression/fallback. 

  5. Nous Research, “Migrate from OpenClaw” w przewodnikach Hermes Agent. Źródło dotyczące przebiegu migracji OpenClaw → Hermes. 

  6. Nous Research, “CLI Commands Reference” w dokumentacji referencyjnej Hermes Agent. Główne źródło dla każdego polecenia CLI najwyższego poziomu udokumentowanego w tym wpisie, w tym 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 oraz hermes uninstall. Wszystkie flagi podpoleceń, opisy opcji, zachowanie puli poświadczeń, składnia filtrowania logów, flagi migracji z OpenClaw, polecenia zarządzania profilami oraz polecenia instalacji usług przywołane w tym wpisie pochodzą z tej strony. 

  7. Nous Research, “Installation” w przewodniku rozpoczęcia pracy z Hermes Agent. Główne źródło dla jednolinijkowego polecenia instalatora, zachowania instalatora (wymagania wstępne, obsługa platform, automatyczne wykrywanie Termux, wymagania Windows/WSL2), tabeli opcjonalnych dodatków, instrukcji ręcznej instalacji oraz poleceń weryfikacyjnych. 

  8. Nous Research, “CLI Commands Reference” — w szczególności sekcja hermes dump opisująca format wyjściowy polecenia (nagłówek, środowisko, identyfikacja, model, terminal, klucze API, funkcje, usługi, obciążenie, nadpisania konfiguracji) oraz przewidziane zastosowanie do udostępniania danych diagnostycznych. 

  9. Nous Research, “Slash Commands Reference” w dokumentacji referencyjnej Hermes Agent. Główne źródło dla każdego polecenia slash wymienionego w tym wpisie, architektury COMMAND_REGISTRY, podziału między CLI a komunikatorami, dynamicznych poleceń slash dla skills, szybkich poleceń w config.yaml, zachowania dopasowania prefiksu oraz poleceń dostępnych wyłącznie w komunikatorach (/status, /sethome, /approve, /deny, /update, /commands). 

  10. Nous Research, “Tools & Toolsets” w przewodniku użytkownika Hermes Agent. Główne źródło dla przeglądu kategorii narzędzi, poleceń użycia toolsetów, sześciu terminalowych backendów (local, docker, ssh, singularity, modal, daytona), konfiguracji kontenerów (cpu, memory, disk, persistent), wzmocnienia bezpieczeństwa kontenerów, zarządzania procesami w tle API oraz obsługi sudo. 

  11. Nous Research, “Skills System” w przewodniku użytkownika Hermes Agent. Główne źródło dla progresywnego ujawniania, formatu SKILL.md, skills specyficznych dla platform, warunkowej aktywacji (fallback_for_toolsets, requires_toolsets, fallback_for_tools, requires_tools), skills zarządzanych przez agenta poprzez skill_manage, poleceń skill hub i listy źródeł (official, skills-sh, well-known, github, clawhub, claude-marketplace, lobehub), skanowania bezpieczeństwa i poziomów zaufania oraz zewnętrznych katalogów skills. 

  12. Nous Research, “Persistent Memory” w przewodniku użytkownika Hermes Agent. Główne źródło dla limitów znaków MEMORY.md / USER.md, wzorca zamrożonej migawki, akcji narzędzia memory (add, replace, remove), informacji co zapisywać, a co pomijać, porównania pamięci z wyszukiwaniem sesji oraz listy ośmiu zewnętrznych providerów pamięci (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). 

  13. Nous Research, “Personality & SOUL.md” w przewodniku użytkownika Hermes Agent. Główne źródło dla zachowania pliku SOUL.md (znajduje się w HERMES_HOME, nigdy nie jest nadpisywany, slot #1 w prompcie systemowym, przed dołączeniem przechodzi skanowanie bezpieczeństwa), rozróżnienia pomiędzy SOUL.md a AGENTS.md, wbudowanej listy personalities (14 personalities od helpful po hype), niestandardowych personalities w config.yaml, wzorca nakładki /personality oraz pełnego porządku składania stosu promptów. 

  14. Nous Research, “Use MCP with Hermes” oraz MCP Config Reference w przewodnikach i dokumentacji referencyjnej Hermes Agent. Źródło dla formatu konfiguracji mcp_servers: w config.yaml z polami command, args, env

  15. Hermes Agent v0.8.0 Release Notes. 8 kwietnia 2026. Automatyczne powiadomienia o procesach w tle, darmowe MiMo v2 Pro w Nous Portal, przełączanie /model na żywo na różnych platformach, natywny provider Google AI Studio, Qwen OAuth, limity czasu oparte na bezczynności, przyciski zatwierdzania w Slack/Telegram, MCP OAuth 2.1 PKCE, scentralizowane logowanie, rozszerzenie systemu wtyczek. 

  16. Hermes Agent v0.9.0 Release Notes. 13 kwietnia 2026. Lokalny dashboard webowy, Fast Mode (/fast), iMessage przez BlueBubbles, WeChat + WeCom, Termux/Android, monitorowanie procesów w tle (watch_patterns), natywni providerzy xAI + Xiaomi MiMo, pluginowalny context engine, ujednolicona obsługa proxy, wzmocnienie bezpieczeństwa (poprawki path traversal, shell injection, SSRF, RCE), hermes backup/hermes import, /debug + hermes debug share, 16 obsługiwanych platform. 487 commitów, 269 zmergowanych PR-ów, 24 współtwórców. 

  17. Hermes Agent v0.12.0 Release Notes. 30 kwietnia 2026. „The Curator release”. Autonomiczny działający w tle Curator, który ocenia, czyści i konsoliduje bibliotekę skills w domyślnym 7-dniowym cyklu uruchamianym przez ticker cron gateway. Pętla samodoskonalenia ulepszona: ocenianie oparte na rubryce, bias na aktywne aktualizacje, prawidłowe dziedziczenie środowiska runtime, ograniczone toolsety zawężone do memory i skills. Czterech nowych providerów inferencji: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio awansowane do statusu pierwszej kategorii. Zdalne manifesty katalogu modeli aktualizują się automatycznie bez wydań. Dwie nowe platformy komunikatorów: Microsoft Teams (19. platforma, przez pluginowalną architekturę gateway) oraz Tencent Yuanbao (18., natywny tekst + media). Natywny Spotify przez PKCE OAuth z dołączonym skill; wtyczka Google Meet do połączeń i transkrypcji; lokalny provider TTS Piper. ComfyUI v5 + TouchDesigner-MCP dołączone domyślnie. Nowe skills: Humanizer, claude-design, design-md, airtable. CLI: tryb jednorazowy hermes -z, preflight hermes update --check, polecenie slash /reload-skills, pluginowalne style wskaźnika zajętości. Zimny start TUI skrócony o ok. 57% dzięki leniwej inicjalizacji. Bezpieczeństwo: redakcja sekretów wyłączona domyślnie; twarda blokada nieodwracalnych poleceń. Statystyki od v0.11.0: 1096 commitów, 550 zmergowanych PR-ów, 213 współtwórców społeczności. Zobacz także: tag wydania v2026.4.30

  18. Hermes Agent v0.13.0 Release Notes. 7 maja 2026. „The Tenacity release”. Wieloagentowa tablica Kanban z heartbeat, reclaim, wykrywaniem zombie, bramą halucynacji, parametrem max_retries per zadanie oraz tablicami wieloprojektowymi. Polecenie slash /goal blokujące cel pomiędzy turami (prymityw pętli Ralph) z konfigurowalnym budżetem tur. Narzędzie video_analyze, Gemini-first z kompatybilną multimodalną rozszerzalnością. Provider TTS xAI Custom Voices z klonowaniem głosu. i18n w 7 językach: zh-Hans, ja, de, es, fr, uk, tr (CLI + komunikaty gateway; dokumentacja tylko w zh-Hans). Google Chat jako 20. platforma komunikatorów przez wzorzec adaptera pluginowalnego z generycznymi haczykami pluginów env_enablement_fn / cron_deliver_env_var; IRC i Microsoft Teams zostały zmigrowane na ten sam wzorzec. ABC ProviderProfile + plugins/model-providers/ dla pluginowalnych providerów zewnętrznych. Automatyczne wznawianie sesji po restarcie gateway, /update oraz przeładowaniach plików źródłowych. Checkpoints v2 — przepisanie do single-store z prawdziwym czyszczeniem, zabezpieczeniami przestrzeni dyskowej i bez osieroconych shadow repo. Osiem zamknięć bezpieczeństwa P0: redakcja sekretów domyślnie włączona, obejście DM międzygildii Discord (CVSS 8.1, allowlisty ról ograniczone do gildii), WhatsApp domyślnie odrzuca obcych + nigdy nie odpowiada w czacie z samym sobą, TOCTOU zapisu poświadczeń MCP OAuth, TOCTOU auth.json w CLI w pisarzach poświadczeń, dolna granica SSRF cloud-metadata przeglądarki w routingu hybrydowym, skanowanie złożonych promptów cron (włącznie z zawartością skill) pod kątem prompt injection, redakcja zawartości logów hermes debug share w czasie wgrywania. Inne istotne pozycje: post-write linting dla Python/JSON/YAML/TOML, tryb watchdog cron no_agent tylko dla skryptów, allowlisty platform w Slack/Telegram/Mattermost/Matrix/DingTalk, ulepszenia MCP (transport SSE, przekazywanie OAuth, wyniki obrazów jako tagi MEDIA). Statystyki od v0.12.0: 864 commity, 588 zmergowanych PR-ów, 829 zmienionych plików, 295 współtwórców społeczności, 282 zamknięte zgłoszenia (13 P0, 36 P1). 

  19. Hermes Agent v0.11.0 Release Notes. 23 kwietnia 2026. „The Interface release” — pełne przepisanie interaktywnego CLI na React/Ink z backendem Python JSON-RPC (tui_gateway); pluginowalna architektura transportów (agent/transports/); natywny AWS Bedrock przez API Converse; pięć nowych ścieżek inferencji (NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway); GPT-5.5 przez Codex OAuth; QQBot jako 17. platforma komunikatorów z konfiguracją przez skanowanie kodu QR; rozszerzona powierzchnia wtyczek (polecenia slash, dispatch narzędzi, blokowanie wykonania, transformacja wyników); /steer <prompt> do śródbiegowego kierowania agentem, wstrzykujące kontekst po następnym wywołaniu narzędzia bez łamania pamięci podręcznej promptów; haczyki shell na zdarzenia cyklu życia bez wtyczek Python; tryb webhook direct-delivery przekazujący payloady wprost do czatu platformy; inteligentniejsze delegowanie z rolami orkiestratora + konfigurowalną głębokością spawnowania + koordynacją plików; system wtyczek dashboard, przełączanie motywu na żywo, i18n, responsywność mobilna. Statystyki od v0.9.0: 1556 commitów · 761 zmergowanych PR-ów · 1314 zmienionych plików · 224 174 wstawienia · 29 współtwórców społeczności. Zobacz także: tag wydania GitHub Hermes Agent v0.11.0

  20. Hermes Agent v0.10.0 Release Notes. 16 kwietnia 2026. „The Tool Gateway Release.” Integracja Nous Tool Gateway dla płatnych subskrybentów Nous Portal — zarządzany dostęp do Firecrawl web search, generowania obrazów FAL / FLUX 2 Pro, OpenAI TTS oraz automatyzacji przeglądarki Browser Use bez dodatkowych kluczy API. Opt-in per narzędzie poprzez nowe pole konfiguracyjne use_gateway. Runtime preferuje gateway nad bezpośrednie klucze API, gdy oba są skonfigurowane. Pełna integracja z hermes tools i hermes status. Zastępuje wycofaną zmienną środowiskową HERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementacja autorstwa @jquesnelle (emozilla). CLI Hermes Agent pozostaje na licencji MIT i jest w pełni open source; gateway stanowi integrację z istniejącym produktem subskrypcyjnym Portal, a nie paywall na CLI. Zobacz także: Nous Portal — cennik subskrypcji i rejestracja. 

NORMAL hermes.md EOF