Hermes Agent: podręcznik praktyka (2026)
# Podręcznik praktyka dotyczący Hermes Agent, otwartoźródłowego, samodoskonalącego się agenta AI od Nous Research: uwierzytelnianie dostawców i OAuth, pliki konfiguracyjne, system umiejętności oraz uruchamianie go jako wieloplatformowej bramy komunikacyjnej.
TL;DR: Hermes Agent to open-source’owy, samodoskonalący się agent AI od Nous Research. Działa jako CLI oraz jako wieloplatformowy gateway komunikacyjny, przechowuje trwałą tożsamość i pamięć trwałą na dysku, agreguje skill, które ulepszają się wraz z użyciem, i współpracuje z dowolnym dostawcą LLM zgodnym z OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok albo z własnym, samodzielnie hostowanym endpointem.1219 Od wersji v0.14.0 (16 maja 2026) Hermes dodaje OAuth SuperGrok z kontekstem grok-4.3 1M, lokalny proxy zgodny z OpenAI dla dostawców OAuth (
hermes proxy), pełnoprawnex_search, obsługę instalacji z PyPI, leniwe instalowanie zależności, 22 platformy komunikacyjne z LINE i SimpleX Chat,/handoff, semantyczną diagnostykę LSP po zapisach, ujednoliconevideo_generate,computer_useprzez cua-driver dla dostawców innych niż Anthropic, natywną betę Windows oraz zamknięcie 12 zgłoszeń P0 i 50 zgłoszeń P1.19 Najtrudniejszą częścią dla większości nowych użytkowników jest uwierzytelnianie dostawcy: Hermes obsługuje około 20 pełnoprawnych dostawców oraz niestandardowe endpointy, a także trzy odrębne ścieżki uwierzytelniania: klucz API w.env, OAuth przezhermes modelalbo niestandardowy endpoint wconfig.yaml. Model uwierzytelniania warto poznać najpierw — wszystko inne zależy od tego, który dostawca zostanie rozpoznany.
Hermes Agent działa jako pełne środowisko uruchomieniowe agenta, a nie nakładka na czat. Odczytuje system plików, wykonuje polecenia w sandboxowanych backendach, pobiera dane z internetu, uruchamia subagentów, wykonuje zaplanowane zadania cron, komunikuje się z Telegram/Discord/Slack/WhatsApp/Signal/Email z poziomu jednego procesu gateway i tworzy własne skill na podstawie doświadczenia.1 CLI to terminalowy interfejs użytkownika zbudowany na pętli konwersacji w run_agent.py; gateway to długo działający proces, który kieruje wiadomości z platform komunikacyjnych przez tę samą pętlę konwersacji.3
Różnica między okazjonalnym a eksperckim użyciem Hermes sprowadza się do pięciu systemów. Opanowanie ich sprawia, że Hermes staje się mnożnikiem możliwości:
- Rozpoznawanie dostawcy: jak przepływy uwierzytelniania mapują się na wywołania API
- Hierarchia konfiguracji:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - System narzędzi i toolset: co agent może robić, z ograniczeniami zależnymi od platformy
- System skill: proceduralna pamięć, którą agent tworzy i rozwija
- Gateway + cron + profile: uruchamianie Hermes tam, gdzie faktycznie Pan/Pani pracuje, a nie tylko tam, gdzie akurat się znajduje
Najważniejsze wnioski
- Uwierzytelnianie dostawcy ma trzy ścieżki, nie jedną. Klucz API w
.env, OAuth przezhermes model/hermes authalbo niestandardowy endpoint wconfig.yaml. Należy wybrać ścieżkę zgodną z dostawcą, a nie tę, która wydaje się znajoma. - Zmiana dostawcy to jedno polecenie.
hermes modelinteraktywnie prowadzi przez każdego obsługiwanego dostawcę, w tym logowania OAuth, a/model provider:modelprzełącza model w trakcie sesji bez utraty historii.2 - Dwa pliki są edytowalną przez użytkownika powierzchnią konfiguracji.
~/.hermes/config.yamlprzechowuje ustawienia, a~/.hermes/.envprzechowuje sekrety.auth.json,SOUL.md,MEMORY.mdiskills/są zarządzane bezpośrednio przez Hermes —SOUL.mdmożna edytować ręcznie, ale resztę modyfikuje sam agent.4 - Hermes jest następcą OpenClaw. Przy migracji
hermes claw migrateautomatycznie importuje ponad 30 kategorii stanu.5 - Jakość usługi zależy od modelu pomocniczego. Wizja, podsumowywanie stron, kompresja i zapis pamięci korzystają z osobnego pomocniczego LLM. Domyślnie jest to Gemini Flash przez automatyczne wykrywanie (OpenRouter → Nous → Codex) — jeśli żaden z nich nie jest skonfigurowany, funkcje te degradują się po cichu, dopóki sloty pomocnicze nie zostaną skierowane na głównego dostawcę.4
Co zmienia v0.14
v0.14.0 mniej opiera się na jednej sztandarowej funkcji, a bardziej na zmniejszeniu tarcia podczas konfiguracji i rozszerzeniu miejsc, w których Hermes może działać.19 Główne zmiany operacyjne:
- Instalacja i start są lżejsze.
pip install hermes-agentdziała z PyPI, ciężkie adaptery instalują się leniwie przy pierwszym użyciu, a ścieżka uruchamiania odracza wystarczająco dużo pracy, aby skrócić zimny start o około 19 sekund. - Subskrypcje mogą stać się lokalnymi endpointami API.
hermes proxyprzekształca dostawców opartych na OAuth, takich jak Claude Pro, ChatGPT Pro i SuperGrok, w lokalny endpoint zgodny z OpenAI dla narzędzi takich jak Codex, Aider, Cline i Continue. - Zasięg gateway się rozszerza. LINE i SimpleX Chat zwiększają liczbę platform do 22, Microsoft Teams jest połączony end-to-end, uzupełnianie historii Discord jest domyślnie włączone, a prompt
clarifyw Telegram/Discord korzysta teraz z natywnych przycisków. - Weryfikacja podczas zapisu jest lepsza. Po edycjach Hermes może pokazywać podsumowania zmian plików dla każdej tury oraz semantyczną diagnostykę language-server przed następną turą, co przybliża go do pracy agenta opartej na dowodach.
- Narzędzia desktopowe i medialne są szersze.
computer_usedziała przez cua-driver dla dostawców innych niż Anthropic,video_generatejest ujednolicone za pluggable backendami, avision_analyzewysyła surowe piksele do modeli, które faktycznie potrafią widzieć.
Każda sekcja poniżej opiera się na dokumentacji upstream pod adresem hermes-agent.nousresearch.com/docs oraz drzewie źródłowym w github.com/NousResearch/hermes-agent. Każde twierdzenie faktograficzne ma przypis wskazujący konkretną stronę upstream, z której pochodzi.
Wybór ścieżki
| Czego potrzeba | Gdzie przejść |
|---|---|
| Zainstalować Hermes | Instalacja — instalator jednoliniowy albo kroki ręczne |
| Zalogować się u dostawcy | Uwierzytelnianie i dostawcy — sekcja, po którą Pan/Pani tu przyszedł/przyszła |
| Zmienić modele w trakcie sesji | Polecenie hermes auth oraz Niestandardowe i samodzielnie hostowane endpointy dla składni /model |
| Uruchomić lokalny LLM | Niestandardowe i samodzielnie hostowane endpointy — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Podłączyć platformy komunikacyjne | Messaging Gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat (łącznie 22) |
| Napisać lub zainstalować skill | System skill — stopniowe ujawnianie + skill hub |
| Głębokie odniesienie dla każdego polecenia CLI | Proszę czytać dalej — i linkować bezpośrednio do poleceń CLI |
Jak działa Hermes: model mentalny
Hermes opiera się na jednej pętli konwersacji, którą może wywołać dowolny punkt wejścia. Punktami wejścia są CLI (cli.py), messaging gateway (gateway/run.py), adapter ACP do integracji z edytorem, batch runner oraz serwer API.3 Wszystkie ostatecznie wywołują AIAgent.run_conversation() w run_agent.py, który:
- Buduje system prompt z
SOUL.md,MEMORY.md,USER.md, skills, plików kontekstu oraz wskazówek dotyczących narzędzi przezprompt_builder.py3 - Rozwiązuje runtime provider przez
runtime_provider.py— to ten krok wybiera auth, base URL oraz tryb API3 - Wywołuje provider przy użyciu jednego z trzech trybów API:
chat_completions,codex_responsesalboanthropic_messages3 - Przekazuje wszystkie zwrócone tool calls przez
model_tools.pyi centralny rejestr narzędzi (tools/registry.py)3 - Powtarza pętlę, aż model wygeneruje finalną odpowiedź, a następnie zapisuje sesję w SQLite z FTS53
Zrozumienie tej pętli jest ważne, ponieważ każda funkcja — personalities, memory, skills, compression, fallback — podłącza się do jednego z tych etapów. Gdy czyta się klucz konfiguracji i pojawia się pytanie, co on robi, odpowiedź zwykle brzmi: „to pokrętło na etapie 1, 2, 3 albo 4 powyższej pętli”.
Rdzeń niezależny od platformy. Jedna klasa AIAgent obsługuje CLI, gateway, ACP, batch oraz serwer API. Różnice między platformami znajdują się w punkcie wejścia, a nie w samym agencie.3 Dlatego te same slash commands działają w terminalu i w Telegram — są obsługiwane ze współdzielonego COMMAND_REGISTRY w hermes_cli/commands.py.6
Struktura katalogów jest systemem. Hermes przechowuje wszystko w ~/.hermes/ (albo w $HERMES_HOME dla profili innych niż domyślne):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Każdy z powyższych plików ma konkretną rolę; żadne z nich się nie pokrywają. Jeśli szuka się odpowiedzi na pytanie „gdzie Hermes przechowuje X”, jest to jedno z tych miejsc.
Co nowego w v0.18.0 (The Judgment Release)
Hermes Agent v0.18.0 (tag v2026.7.1, 1 lipca 2026) został nazwany od osądu: agent weryfikuje własną pracę zamiast deklarować sukces, a reasoning zespołowy można faktycznie przejrzeć. Wydanie zamyka też cały backlog P0/P1 — około 692 elementów o najwyższym priorytecie rozwiązanych w dwanaście dni.22
- Mixture-of-Agents jako pełnoprawny model. MoA można teraz wybrać jak każdy inny model we wszystkich interfejsach, a ensemble reasoning jest widoczny: pełny wynik każdego reference model renderuje się we własnym, opisanym bloku z live answer streaming — można obserwować, jak ensemble myśli, zamiast otrzymywać nieprzejrzystą, scaloną odpowiedź.22
- Completion contracts dla
/goal. Agent weryfikuje własną pracę, uruchamiając kontrole projektu przed zgłoszeniem ukończenia goal, zamiast deklarować sukces — osąd zastosowany wobec samego siebie.22 /learn— opisać cokolwiek jako skill. Workflow można zmienić w wielokrotnego użytku skill przez jego opisanie; wygenerowane skills automatycznie spełniają konwencje CONTRIBUTING.md danego repozytorium.22- Oś czasu
/journey. Wizualna historia memory i skills w czasie, z edycją, a na desktopie także memory graph.22 - Rozgałęzianie background subagents. Można delegować wiele zadań wykonywanych równocześnie bez blokowania konwersacji — pojedynczy background subagent z v0.17.0 staje się flotą.22
- Desktop Projects. Pełnoprawne coding Projects z modelem organizacji project/repo/lane.22
- Gateway scale-to-zero. Gateways mogą przechodzić w stan uśpienia przy bezczynności i koordynować drains, aby umożliwiać płynne wdrożenia — istotne dla każdego, kto uruchamia Hermes jako usługę always-on.22
- Obsługa Google Vertex AI. Dostęp do Gemini przez konta usług GCP z automatycznym odświeżaniem tokenów OAuth2, jako część katalogu providerów.22
- Polecenie edytora
/prompt. Otwiera$EDITORdo tworzenia wielowierszowych promptów, zamiast zmuszać do walki z pojedynczą linią wejścia.22
Przy aktualizacji z v0.17.x nic tutaj nie psuje CLI. Główne powody aktualizacji to completion contracts (cele, które same się weryfikują), pełnoprawne MoA z możliwymi do inspekcji ensembles oraz /learn do przechwytywania skills.
Co nowego w v0.17.0 (The Reach Release)
Hermes Agent v0.17.0 (tag v2026.6.19, 19 czerwca 2026) został nazwany od tego, jak daleko agent teraz sięga — nowe kanały komunikacji, nowi providerzy modeli oraz głębsza kontrola na desktopie i w dashboardzie. To rozszerzenie względem v0.16.x; powierzchnia CLI pozostaje bez zmian.21
- Nowe kanały komunikacji. iMessage działa teraz bez Mac relay przez Photon Spectrum (device-code OAuth,
hermes photon login); WhatsApp Business Cloud API jest oficjalnym adapterem Meta, który zastępuje wymóg procesu bridge; SimpleX otrzymuje grupy, natywne załączniki, grupowanie tekstu i auto-accept; a Raft dołącza jako wbudowany plugin platformy z projektem wake-channel opartym na privacy-by-contract.21 - Nowe modele i providerzy. Katalog dodaje
z-ai/glm-5.2(kontekst 1M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultraorazgrok-composer-2.5-fast(model Cursor przez xAI OAuth, kontekst 200k). Domyślny model xAI zmienił się nagrok-build-0.1, a adaptacyjne modele Anthropic stosują teraz nowoczesny kontrakt thinking (nigdy nie wysyłają polareasoning).21 - Desktop i dashboard. Desktop dodaje background subagents z transmisją aktywności delegowanej na żywo w „watch-windows” (
delegate_task(background=true)), selektor modeli Composer, zmienialne skróty klawiaturowe, natywne powiadomienia OS, szkice composera per wątek, motywy z VS Code Marketplace oraz interfejs po japońsku i chińsku tradycyjnym. Dashboard dodaje pełny kreator profili (model/skills/MCPs bez edytowaniaconfig.yaml), globalny przełącznik profili, przebudowany Skills Hub ze skanem bezpieczeństwa, Automation Blueprints (parametryzowane szablony dla formularza, slash command, konwersacji i dokumentacji) oraz bezpieczne logowanie, które zwraca 401 za bramką OAuth.21 - Skills i narzędzia.
image_generatemoże teraz edytować i przekształcać obraz źródłowy, a nie tylko tworzyć nowy od zera, u każdego obsługiwanego providera obrazów; narzędziememoryotrzymało tablicęoperationsdo atomowego batch add/replace/remove w jednym wywołaniu; nowy skillsimplify-codeuruchamia równoległy, trzyagentowy przegląd i cleanup z bramką opartą na poziomie ryzyka Chesterton’s-Fence; a booleanwrite_approvalzastępuje trójstanowewrite_mode.21 - Architektura. Background subagents natychmiast zwracają uchwyt i wprowadzają swój wynik z powrotem jako nową turę; handler elicitation MCP pozwala na potwierdzenie w trakcie tool-call, a późno dołączające narzędzia MCP są udostępniane między turami (cache-safe); cron staje się wymiennym CronScheduler z providerem managed-cron Chronos; a nowy Managed scope (
/etc/hermes) pozwala administratorowi przypiąć konfigurację niezmienialną dla użytkownika, wraz z relay Gateway-Gateway dla topologii multi-gateway.21 - Nowe polecenia.
/version,/billing(interaktywne rozliczenia w terminalu),hermes photon login(auth dla iMessage) orazhermes curator run --consolidate— konsolidacja jest teraz opt-in, więc rutynowa background curation kosztuje zero tokenów.21 - Bezpieczeństwo. v0.17.0 zamyka obejście denylisty shell-escape, fails closed przy brakujących modułach approval i adapterach own-policy gateway, sanitizuje środowisko dla podprocesów cron job-script, redaguje sekrety w request debug dumps, sprawdza konfiguracje stdio MCP pod kątem wzorców exfil oraz podnosi wersje urllib3 i PyJWT, aby usunąć CVE.21
Przy aktualizacji z v0.16.x nic tutaj nie psuje CLI; to nowe kanały, modele i powierzchnie wokół tego samego agenta. iMessage bez relay, oficjalne adaptery WhatsApp oraz administrator Managed scope to główne powody aktualizacji.
Co nowego w v0.16.0 (The Surface Release)
Hermes Agent v0.16.0 (tag v2026.6.5, 5 czerwca 2026) otrzymał nazwę od nowych powierzchni interakcji, które udostępnia agentowi działającemu przede wszystkim w CLI. Najważniejsza zmiana: Hermes nie jest już ograniczony wyłącznie do terminala.20
- Natywna aplikacja desktopowa. Hermes Desktop to nowa aplikacja Electron dla macOS, Linux i Windows, z instalacją jednym kliknięciem oraz samodzielną aktualizacją w aplikacji. Udostępnia okno czatu ze strumieniowaniem odpowiedzi, przeciąganie i upuszczanie plików, wklejanie obrazów ze schowka, paletę
Cmd+K, listę sesji z archiwizacją i wyszukiwaniem oraz wybór modelu na pasku stanu. Może łączyć się ze zdalnym Hermes gateway przez bezpieczne WebSocket, z uwierzytelnianiem przez OAuth albo nazwę użytkownika i hasło, z osobnymi zdalnymi hostami dla profili oraz równoległymi sesjami wieloprofilowymi połączonymi odwołaniami@sessionmiędzy profilami. Interfejs desktopowy zawiera też pełne tłumaczenie na uproszczony chiński (简体中文) przez typowaną warstwę i18n (display.language; angielski pozostaje ustawieniem domyślnym).20 - Panel administracyjny w przeglądarce. Lokalny web dashboard przestał być tylko widokiem statusu i stał się pełnym panelem administracyjnym: katalog MCP z przełącznikami włączania i wyłączania, zarządzaniem poświadczeniami, tworzeniem webhooków i hooków, konfiguracją pamięci, kontrolkami gateway oraz stroną System z kontrolą przed aktualizacją i Debug Share jednym kliknięciem. Nowa strona Channels pozwala konfigurować z przeglądarki każdą platformę komunikacyjną gateway (Telegram, Discord, Slack i pozostałe). Uwierzytelnianie jest teraz wymienne: logowanie nazwą użytkownika i hasłem, ogólny samodzielnie hostowany dostawca OIDC,
hermes dashboard registerdla samodzielnie hostowanego klienta OAuth oraz rotacja sesji przez refresh-token.20 - Nowe CLI i polecenia slash.
/undo [N]wycofuje ostatnie N tur użytkownika z prefill i soft-delete oraz działa w CLI, TUI i na platformach komunikacyjnych. Konfigurowalny domyślny interfejs (clivstui) trafia do wydania wraz z nadpisaniem--cli; TUI otrzymuje ujednolicone polecenie/modeloraz nakładkę Sessions.hermes portalto czytelny dla człowieka alias przepływu wdrożeniowego Nous Portal, z nowymi ścieżkami pierwszego uruchomienia Quick Setup i Full Setup, a także dwoma narzędziami diagnostycznymi:hermes prompt-sizeihermes sessions optimize.20 - Nowe modele i dostawcy. Selektor dodaje
deepseek-v4-flash,MiniMax-M3(kontekst 1M, natywni dostawcy MiniMax),qwen3.7-plus(Nous + OpenRouter) orazgemini-3.5-flash(Gemini OAuth + klucz API). Pełnoprawny dostawca xAI Grok OAuth trafia do launchera desktopowego, selektor modeli zyskał wyszukiwanie rozmyte na każdej powierzchni interakcji, dostawcy z wieloma endpointami są grupowani w jednym wierszu, a odświeżanie katalogu zmieniono z codziennego na cogodzinne.20 - Lżejsze skills i progressive disclosure. Domyślny zestaw skill usunął nadmiarowe i martwe skills (Spotify przeniesiono do natywnej wtyczki, Linear do
hermes mcp install linear, a kilka przestarzałych pozycji usunięto), więcej elementów przeniesiono do opcjonalnych, a także dodano bramkę trafności frontmatterenvironments:(kanban/docker/s6), która trzyma skills zależne od kontekstu poza indeksem, dopóki nie zostaną zażądane.NVIDIA/skillsjest teraz domyślnym zaufanym źródłem Skills Hub obok OpenAI, Anthropic i HuggingFace. Narzędzia MCP oraz wtyczek otrzymały progresywne, zakresowe ujawnianie narzędzi, a błąd MCP, który zgłaszał fałszywy sukces OAuth, gdy nie uzyskano tokena, został naprawiony.20 - Bezpieczeństwo. v0.16.0 przypina załatane Starlette (≥1.0.1) dla CVE-2026-48710 (BadHost), przenosi sprawdzanie adresów URL pod kątem SSRF poza pętlę zdarzeń w ścieżkach asynchronicznych, usuwa bearer token wnioskowania Bedrock ze środowiska subprocess, dodaje
bws_cache.jsondo zabezpieczenia odczytu plików, dodajedocker restart/stop/killdo listy niebezpiecznych wzorców oraz sanityzuje niewidoczny Unicode w zweryfikowanej zawartości skill. Wydanie zamknęło 2 problemy P0 i 62 problemy P1, z czego 16 oznaczono tagiem bezpieczeństwa.20
Przy aktualizacji z v0.15.x żadna z tych zmian nie jest zmianą łamiącą dla samego CLI; są to dodatkowe powierzchnie interakcji i dostawcy wokół tego samego agenta. Aplikacja desktopowa i panel administracyjny to główne powody aktualizacji, jeśli Hermes ma obsługiwać użytkowników nieterminalowych albo zdalny gateway ma być administrowany z przeglądarki.
Instalacja
Jednowierszowy instalator pozostaje zalecaną ścieżką z przewodnikiem dla większości użytkowników. Obsługuje Python, uv, Node.js, ripgrep, ffmpeg, klonowanie repozytorium, środowisko wirtualne oraz globalne polecenie hermes.7 v0.14.0 dostarcza też prawdziwy pakiet PyPI, więc pip install hermes-agent jest teraz sensowną bezpośrednią instalacją, gdy środowisko Python jest już pod Państwa kontrolą.19
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
pip install hermes-agent
hermes
Działa na Linux, macOS, WSL2 oraz Android/Termux (instalator automatycznie wykrywa Termux i przełącza się na przetestowany pakiet Android).7 v0.14.0 dodaje natywne wsparcie dla Windows we wczesnej becie przez instalator PowerShell, ale WSL2 pozostaje bezpieczniejszą rekomendacją do zastosowań produkcyjnych, dopóki ścieżka Windows nie dojrzeje.19
Po zakończeniu:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
Jedynym wymaganiem wstępnym jest git. Instalator automatycznie zapewnia Python 3.11 przez uv (bez sudo), Node.js v22 (do automatyzacji przeglądarki i mostka WhatsApp), ripgrep oraz ffmpeg.7
Weryfikacja instalacji
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor dokładnie wskazuje, czego brakuje i jak to naprawić.7 hermes dump to polecenie diagnostyczne do wklejenia w zgłoszeniu GitHub albo wątku Discord przy proszeniu o pomoc — jest to zwykłe tekstowe podsumowanie całej konfiguracji z ukrytymi sekretami.8
Instalacja ręczna
Jeśli potrzebna jest pełna kontrola — niestandardowa wersja Python, konkretne extras, integracja Nix/NixOS — ręczny przepływ jest udokumentowany krok po kroku w upstreamowym przewodniku instalacji.7 Kluczowe opcjonalne extras, które można łączyć z uv pip install -e ".[<extras>]":
| Extra | Co dodaje |
|---|---|
all |
Wszystko poniżej |
messaging |
Telegram i Discord gateway |
cron |
Parsowanie wyrażeń cron |
cli |
Terminalowy interfejs menu dla kreatora konfiguracji |
modal |
Backend wykonywania w chmurze Modal |
voice |
Wejście mikrofonowe CLI + odtwarzanie dźwięku |
tts-premium |
Głosy premium ElevenLabs |
honcho |
Pamięć natywna dla AI (integracja Honcho) |
mcp |
Obsługa Model Context Protocol |
homeassistant |
Integracja Home Assistant |
acp |
Obsługa integracji edytora ACP |
slack |
Komunikacja Slack |
pty |
Obsługa terminala PTY (interaktywne narzędzia CLI) |
dev |
pytest i narzędzia testowe |
termux |
Przetestowany pakiet Android (zawiera cron, cli, pty, mcp, honcho, acp) |
Polecenie instalacji Termux jest inne — używa pip z plikiem constraints, a nie uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
Wynika to z tego, że .[all] na Androidzie pobiera faster-whisper przez extra voice, które zależy od kół ctranslate2, niepublikowanych dla Androida.7
Uwierzytelnianie i dostawcy
Hermes obsługuje około 19 dostawców pierwszej klasy oraz niestandardowe endpointy, a także 3 odrębne ścieżki uwierzytelniania. Poniżej znajduje się cała powierzchnia uwierzytelniania, uporządkowana według ścieżki, aby można było znaleźć wariant pasujący do posiadanej konfiguracji.
3 ścieżki uwierzytelniania
Każdy dostawca w Hermes pasuje do jednego z 3 wzorców uwierzytelniania:
Ścieżka 1 — klucz API w .env. Proszę umieścić klucz w ~/.hermes/.env, a Hermes odczyta go przy uruchomieniu. Używane 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 i większość dostawców zewnętrznych.2
Ścieżka 2 — OAuth przez hermes model lub hermes auth. Uruchamia przepływ kodu urządzenia, otwiera przeglądarkę, zapisuje dane uwierzytelniające w ~/.hermes/auth.json (i może zaimportować istniejące dane uwierzytelniające z narzędzi takich jak Claude Code lub Codex CLI). Używane przez Nous Portal, OpenAI Codex (konto ChatGPT), GitHub Copilot i Anthropic (Claude Pro/Max).2
Ścieżka 3 — niestandardowy endpoint w config.yaml. Dla dowolnego endpointu zgodnego z OpenAI API — Ollama, vLLM, SGLang, llama.cpp, LM Studio, proxy LiteLLM, Together AI, Groq, Azure OpenAI albo własny serwer self-hosted. Konfigurowane raz przez hermes model → Custom endpoint, a następnie zapisywane w config.yaml.2
Pełna macierz dostawców
To kompletna lista dostawców pierwszej klasy 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 (kod urządzenia ChatGPT, używa modeli Codex) |
| GitHub Copilot | OAuth albo token | hermes model (kod urządzenia OAuth) albo COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Lokalny subprocess | hermes model (wymaga CLI copilot w PATH + copilot login) |
| Anthropic | OAuth albo klucz API | hermes model (preferuje dane uwierzytelniające Claude Code) albo ANTHROPIC_API_KEY, albo token konfiguracyjny ANTHROPIC_TOKEN |
| OpenRouter | Klucz API | OPENROUTER_API_KEY w ~/.hermes/.env |
| AI Gateway (Vercel) | Klucz API | AI_GATEWAY_API_KEY w ~/.hermes/.env (dostawca: ai-gateway) |
| z.ai / GLM (ZhipuAI) | Klucz API | GLM_API_KEY w ~/.hermes/.env (dostawca: zai) |
| Kimi / Moonshot | Klucz API | KIMI_API_KEY w ~/.hermes/.env (dostawca: kimi-coding) |
| MiniMax (global) | Klucz API | MINIMAX_API_KEY w ~/.hermes/.env (dostawca: minimax) |
| MiniMax China | Klucz API | MINIMAX_CN_API_KEY w ~/.hermes/.env (dostawca: minimax-cn) |
| Alibaba Cloud (Qwen) | Klucz API | DASHSCOPE_API_KEY w ~/.hermes/.env (dostawca: alibaba, aliasy: dashscope, qwen) |
| Kilo Code | Klucz API | KILOCODE_API_KEY w ~/.hermes/.env (dostawca: kilocode) |
| OpenCode Zen | Klucz API | OPENCODE_ZEN_API_KEY w ~/.hermes/.env (dostawca: opencode-zen) |
| OpenCode Go | Klucz API | OPENCODE_GO_API_KEY w ~/.hermes/.env (dostawca: opencode-go) |
| DeepSeek | Klucz API | DEEPSEEK_API_KEY w ~/.hermes/.env (dostawca: deepseek) |
| Hugging Face | Klucz API | HF_TOKEN w ~/.hermes/.env (dostawca: huggingface, alias: hf) |
| Google / Gemini | Klucz API | GOOGLE_API_KEY albo GEMINI_API_KEY w ~/.hermes/.env (dostawca: gemini) |
| xAI (Grok) | Dostawca natywny / SuperGrok OAuth | Dostawca pierwszej klasy z bezpośrednim dostępem API i katalogiem modeli (v0.9.0+). v0.14.0 dodaje SuperGrok OAuth i zwiększa okno kontekstu grok-4.3 do 1M dla uprawnionych kont.21619 v0.17.0 dodaje grok-composer-2.5-fast (model Cursor przez xAI OAuth, kontekst 200k) i zmienia domyślny model xAI na grok-build-0.1.21 |
| xAI Custom Voices | Klucz API | Dostawca TTS z klonowaniem głosu. Nowość w v0.13.0; należy skonfigurować w sekcji tts: w config.yaml i podać klucz xAI w .env.18 |
| Xiaomi MiMo | Dostawca natywny | Dostawca pierwszej klasy z kreatorem konfiguracji i katalogiem modeli. Darmowy MiMo v2 Pro w Nous Portal do zadań pomocniczych (v0.9.0+).1615 |
| Google AI Studio | Klucz API | GOOGLE_API_KEY albo GEMINI_API_KEY w ~/.hermes/.env. Bezpośredni dostęp Gemini z automatycznie wykrywanymi długościami kontekstu przez rejestr models.dev (v0.8.0+).15 |
| Qwen Cloud | OAuth | Dostawca OAuth z obsługą żądań portalowych (v0.8.0+). W v0.14.0 nazwę dostawcy zmieniono z Alibaba Cloud na Qwen Cloud; istniejące klucze konfiguracji nadal działają.1519 |
| Niestandardowy endpoint | config.yaml | hermes model → „Custom endpoint” (zapisane w config.yaml) |
Anthropic: 3 metody uwierzytelniania
Anthropic ma własną sekcję, ponieważ Hermes obsługuje 3 odrębne ścieżki 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
Po wybraniu Anthropic OAuth przez hermes model, Hermes preferuje własny magazyn danych uwierzytelniających Claude Code zamiast kopiowania tokenu do ~/.hermes/.env. Dzięki temu odświeżalne dane uwierzytelniające Claude pozostają odświeżalne.2 Jeśli na tej samej maszynie jest już używany Claude Code, to najczystsza ścieżka.
Aby przypiąć Anthropic na stałe w config.yaml:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude i --provider claude-code działają również jako skrót dla --provider anthropic.2
GitHub Copilot: 2 tryby
Copilot jest obsługiwany w 2 trybach: bezpośredni Copilot API (zalecany) oraz Copilot ACP (który uruchamia lokalny Copilot CLI jako subprocess).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 tej kolejności, zgodnie z dokumentacją upstream:2
1. Zmienna środowiskowa COPILOT_GITHUB_TOKEN
2. Zmienna środowiskowa GH_TOKEN
3. Zmienna środowiskowa GITHUB_TOKEN
4. Awaryjnie CLI gh auth token
5. Logowanie kodem urządzenia OAuth przez hermes model
Typ tokenu ma znaczenie. Copilot API nie obsługuje klasycznych Personal Access Tokens (ghp_*). Obsługiwane typy to tokeny OAuth (gho_*), precyzyjnie zakresowane PAT (github_pat_* z uprawnieniem Copilot Requests) oraz tokeny GitHub App (ghu_*). Jeśli gh auth token zwraca token ghp_*, należy zamiast tego użyć hermes model, aby uwierzytelnić się przez OAuth.2
Chińscy dostawcy AI (obsługa pierwszej klasy)
Hermes ma wbudowaną obsługę z.ai/GLM, Kimi/Moonshot, MiniMax (endpointy globalne i chińskie) 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 endpoint. Podczas używania dostawcy z.ai/GLM Hermes sprawdza wiele endpointów (globalny, chiński, warianty coding), aby znaleźć taki, który akceptuje klucz API. Działający endpoint jest automatycznie zapisywany w pamięci podręcznej — dla większości użytkowników GLM_BASE_URL nie jest potrzebny.2
xAI (Grok) automatycznie włącza cache promptów. Gdy bazowy URL zawiera x.ai, Hermes wysyła nagłówek x-grok-conv-id z każdym żądaniem, aby kierować je do tego samego serwera w ramach sesji rozmowy i ponownie używać zapisanych w cache promptów systemowych oraz historii.2 Działa automatycznie; konfiguracja nie jest potrzebna.
Polecenie hermes auth
hermes auth to polecenie do zarządzania danymi uwierzytelniającymi dla pul i danych 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 danych uwierzytelniających służą do rotowania wielu kluczy API lub tokenów OAuth dla tego samego dostawcy — przydatne przy rozdzielaniu limitów szybkości między wiele kluczy bez zmiany kodu.6 Starsze polecenia hermes login / hermes logout zostały usunięte; należy zamiast nich używać hermes auth.6
Niestandardowe i self-hosted endpointy
Hermes działa z dowolnym endpointem API zgodnym z OpenAI. Jeśli serwer implementuje /v1/chat/completions, można skierować na niego Hermes.2
Konfiguracja interaktywna (zalecana):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
Ręczny 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 zapisują konfigurację w config.yaml, który jest jedynym źródłem prawdy dla modelu głównego, dostawcy i bazowego URL.2 Starsze zmienne env OPENAI_BASE_URL i LLM_MODEL nie są już odczytywane dla konfiguracji modelu głównego — należy użyć hermes model albo edytować bezpośrednio config.yaml.2 (OPENAI_BASE_URL + OPENAI_API_KEY są nadal respektowane jako fallback dla pomocniczej ścieżki routingu provider: "main", więc nie należy usuwać ich bez sprawdzenia, jeśli są tam używane).4
Przełączanie niestandardowych endpointów 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 niczego, bez nazwy modelu) odpytuje API /v1/models endpointu 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 i LM Studio. Poniżej znajdują się kluczowe polecenia, które faktycznie będą uruchamiane. Każde z nich zaprojektowano tak, aby utworzyć działający endpoint, na który Hermes może wskazać.2
Ollama — najłatwiejsza lokalna ścieżka, 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 używa bardzo małych długości kontekstu (4096 tokenów przy mniej niż 24 GB VRAM). Trzeba zwiększyć ją przez OLLAMA_CONTEXT_LENGTH albo Modelfile — OpenAI-compatible API nie przyjmuje długości kontekstu od klienta, więc Hermes nie może ustawić jej za użytkownika.2 Do użycia agentowego 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 wrócą jako zwykły tekst.2
SGLang — szybkie serwowanie z RadixAttention do ponownego użycia cache 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ślne max_tokens to 128. Jeśli odpowiedzi są ucinane, należy ustawić --default-max-tokens na serwerze albo skonfigurować model.max_tokens w config.yaml.2
llama.cpp / llama-server — CPU i 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 tego llama-server całkowicie ignoruje parametr tools, a model próbuje wywoływać narzędzia, zapisując JSON w tekście odpowiedzi — czego Hermes nie może sparsować jako rzeczywistych wywołań narzędzi.2
LM Studio — aplikacja desktopowa z GUI:
Proszę uruchomić serwer z aplikacji LM Studio (karta Developer → Start Server) albo przez CLI: lms server start (uruchamia się na porcie 1234) oraz lms load qwen2.5-coder --context-length 32768.2 Następnie należy skierować 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 albo 4096. Zawsze należy jawnie ustawić długość kontekstu w ustawieniach modelu LM Studio — kliknąć ikonę koła zębatego obok selektora modelu, ustawić „Context Length” na co najmniej 16384 (najlepiej 32768) i ponownie załadować model.2
Nazwani dostawcy niestandardowi
Jeśli pracuje się z wieloma niestandardowymi endpointami (na przykład lokalnym serwerem developerskim i zdalnym serwerem GPU), należy zdefiniować je jako nazwanych dostawców niestandardowych 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 przełączać się między nimi w trakcie sesji składnią potrójną:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
Nazwanych dostawców niestandardowych można też wybrać z interaktywnego menu hermes model.2
Wtykowa architektura dostawców (v0.13.0+)
v0.13.0 dostarcza ABC ProviderProfile oraz katalog plugins/model-providers/, dzięki czemu zewnętrzni dostawcy inference mogą zostać dodani bez modyfikowania rdzenia.18 Jeśli dostawca obsługuje tryb API zgodny z OpenAI, Anthropic albo Codex, można zaimplementować podklasę ProviderProfile, która deklaruje ścieżkę uwierzytelniania, bazowy URL, katalog modeli i nagłówki cache; Hermes rozwiązuje ją przez tę samą ścieżkę runtime_provider.py, której używają wbudowani dostawcy. To zmiana architektoniczna stojąca za rozszerzeniem dostawców w v0.13.0: zamiast edytować kod rdzenia, dostarcza się plugin.
Lokalny proxy zgodny z OpenAI (v0.14.0+)
hermes proxy udostępnia lokalny endpoint zgodny z OpenAI, oparty na dostawcy OAuth, do którego Hermes jest już zalogowany — Claude Pro, ChatGPT Pro, SuperGrok albo innym zgodnym skonfigurowanym dostawcy.19 Oznacza to, że narzędzia oczekujące API w stylu OpenAI API, w tym Codex CLI, Aider, Cline, Continue albo niestandardowe skrypty, mogą ponownie używać uwierzytelniania Hermes opartego na subskrypcji bez oddzielnego klucza API. Proxy należy traktować jako lokalną infrastrukturę developerską: wiązać je celowo, nie wystawiać szeroko i pamiętać o warunkach specyficznych dla dostawcy.
Wykrywanie długości kontekstu
Dwa ustawienia są stale mylone, zgodnie z dokumentacją upstream:2
context_length— całkowite okno kontekstu (łączny budżet tokenów wejściowych i wyjściowych, np. 1 000 000 dla Claude Opus 4.7 albo 200 000 dla Sonnet 4.6). Hermes używa tego do decyzji, kiedy kompresować historię.model.max_tokens— limit wyjścia (maksymalna liczba tokenów, jaką model może wygenerować w pojedynczej odpowiedzi). Niezwiązane z długością historii.
Należy ustawić context_length, gdy automatyczne wykrywanie błędnie rozpoznaje rozmiar okna:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes używa wieloźródłowego łańcucha rozwiązywania do wykrywania okien kontekstu: nadpisanie w konfiguracji → niestandardowy dostawca per model → trwały cache → endpoint /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev (utrzymywany przez społeczność rejestr ponad 3800 modeli) → domyślne wartości awaryjne (128K).2 System rozumie dostawców, 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 przez bezpośredni Anthropic, ale 128K przez GitHub Copilot).2
Rotacja dostawców i fallback
Pule danych uwierzytelniających. Gdy dostępnych jest wiele kluczy API dla tego samego dostawcy, należy skonfigurować strategię rotacji przez hermes auth. Tak rozdziela się limity szybkości między wieloma kluczami.6
Model fallback. Należy skonfigurować zapasowy provider:model, na który Hermes automatycznie przełącza się, gdy model główny zawiedzie (limity szybkości, błędy serwera, błędy 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 rozmowy. Uruchamia się najwyżej raz na sesję.2 Obsługiwani dostawcy dla fallbacku: 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 obrazów, podsumowywania stron WWW, analizy zrzutów ekranu z przeglądarki, klasyfikacji zatwierdzania niebezpiecznych poleceń, kompresji kontekstu, podsumowywania wyszukiwania w sesji, dopasowywania skill, dispatchu narzędzi MCP i zapisu pamięci.4 Domyślnie używają one Gemini Flash przez automatyczne wykrywanie (OpenRouter → Nous → Codex).
Można skonfigurować, którego modelu i dostawcy używa każde zadanie pomocnicze. Każdy slot pomocniczy używa tych samych 3 pokręteł: 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” — jest poprawna wyłącznie w konfiguracjach auxiliary:, compression: i fallback_model:. Nie jest poprawna dla ustawienia najwyższego poziomu model.provider. Jeśli jako model główny używany jest niestandardowy endpoint zgodny z OpenAI, w sekcji model: należy ustawić provider: custom.4
Dlaczego to ma znaczenie: jeśli skonfigurowano tylko Anthropic OAuth (bez klucza OpenRouter), funkcje vision, podsumowywania WWW i kompresji będą działać gorzej albo przestaną działać, ponieważ domyślny łańcuch fallbacku pomocniczego najpierw próbuje OpenRouter. Należy dodać OPENROUTER_API_KEY do zadań pomocniczych albo przełączyć każdy slot pomocniczy na głównego dostawcę:
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
To najczęstsza pułapka typu „moje funkcje po cichu nie działają” u nowych użytkowników Hermes.
System konfiguracji
Hermes ma warstwowy system konfiguracji. Zrozumienie priorytetów jest kluczowe, ponieważ wyższe warstwy nadpisują niższe, a jedną z warstw jest globalny rejestr providerów, którego nie widać w config.yaml.
Układ plików konfiguracyjnych
Zgodnie z dokumentacją upstream, konfigurację Hermes tworzą następujące pliki: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 kontra .env — gdy ustawione są oba, config.yaml ma pierwszeństwo dla ustawień innych niż sekrety.4 Reguła jest następująca:
- Sekrety (klucze API, tokeny botów, hasła) → .env
- Wszystko pozostałe (model, backend terminala, ustawienia kompresji, limity pamięci, toolsety) → config.yaml
Do sekretów można odwoływać się z config.yaml za pomocą 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 należy uruchamiać po każdym hermes update — wykrywają nowo dodane opcje konfiguracyjne, których plik jeszcze nie zawiera.6
Priorytet 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
- Argumenty CLI —
hermes chat --model anthropic/claude-sonnet-4(nadpisanie dla pojedynczego wywołania) - Zmienne środowiskowe — stosowane przy starcie procesu
config.yaml— główny plik ustawień.env— tylko sekrety- Wbudowane wartości domyślne — stosowane, gdy żadna inna warstwa nie ustawia wartości
Flagi CLI zawsze wygrywają dla tego pojedynczego wywołania. config.yaml pozostaje długoterminowym źródłem prawdy.
Lokalizacja (v0.13.0+)
v0.13.0 dodało 7 lokalizacji dla komunikatów CLI i gateway: chiński (uproszczony), japoński, niemiecki, hiszpański, francuski, ukraiński i turecki.18 v0.14.0 lokalizuje wszystkie polecenia gateway oraz web dashboard, dodaje 8 kolejnych lokalizacji i zwiększa łączną liczbę do 16.19 Dokumentacja jest obecnie zlokalizowana tylko w zh-Hans. Lokalizacja jest ustalana na podstawie zmiennych środowiskowych LC_ALL / LANG albo jawnego klucza locale: w config.yaml. Angielski pozostaje językiem domyślnym i źródłem prawdy dla każdego ciągu znaków, którego tłumaczenie jeszcze nie obejmuje.
Profile — wiele odizolowanych instancji Hermes
Profile dają wiele odizolowanych instancji Hermes, z których każda ma własną konfigurację, sesje, skills, pamięć i PID gateway. W ten sposób można uruchamiać „Hermes do pracy” i „Hermes osobisty” obok siebie, bez wzajemnego dostępu do swojego stanu.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>/), więc wiele profili może uruchamiać gateway równolegle, bez wchodzenia sobie w drogę.63
Polecenia CLI
Ta sekcja jest praktycznym punktem odniesienia dla poleceń najwyższego poziomu CLI. Autorytatywną dokumentację wygenerowaną na podstawie kodu zawiera upstream 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> |
Wybiera profil Hermes do użycia |
--resume <session>, -r <session> |
Wznawia sesję według ID lub tytułu |
--continue [name], -c [name] |
Wznawia najnowszą sesję lub dopasowuje tytuł |
--worktree, -w |
Uruchamia w izolowanym git worktree |
--yolo |
Pomija monity o zatwierdzenie niebezpiecznych poleceń |
--pass-session-id |
Dołącza ID sesji do systemowego promptu agenta |
Polecenia najwyższego poziomu
| Polecenie | Cel |
|---|---|
hermes chat |
Interaktywny lub jednorazowy chat |
hermes model |
Interaktywny wybór domyślnego dostawcy i modelu |
hermes gateway |
Uruchamianie lub zarządzanie messaging gateway |
hermes setup |
Interaktywny kreator konfiguracji |
hermes auth |
Zarządzanie poświadczeniami — dodawanie, wyświetlanie, usuwanie, resetowanie, ustawianie strategii |
hermes status |
Wyświetlanie statusu agenta, uwierzytelniania i platform |
hermes cron |
Sprawdzanie i uruchamianie cykli cron scheduler |
hermes webhook |
Zarządzanie dynamicznymi subskrypcjami webhook |
hermes doctor |
Diagnozowanie problemów z konfiguracją i zależnościami |
hermes dump |
Gotowe do skopiowania podsumowanie konfiguracji na potrzeby wsparcia/debugowania |
hermes logs |
Przeglądanie, śledzenie i filtrowanie logów agenta/gateway/błędów |
hermes config |
Wyświetlanie, edycja, migracja i odpytywanie konfiguracji |
hermes pairing |
Zatwierdzanie lub cofanie kodów parowania wiadomości |
hermes skills |
Przeglądanie, instalowanie, publikowanie i audytowanie skill |
hermes honcho |
Zarządzanie pamięcią Honcho między sesjami |
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 pluginami |
hermes tools |
Konfiguracja włączonych narzędzi dla każdej platformy |
hermes sessions |
Przeglądanie, eksportowanie, przycinanie i usuwanie sesji |
hermes insights |
Wyświetlanie analityki tokenów, kosztów i aktywności |
hermes claw |
Narzędzia pomocnicze migracji OpenClaw |
hermes profile |
Zarządzanie profilami (wiele izolowanych instancji) |
hermes completion |
Wypisuje skrypty uzupełniania powłoki (bash/zsh) |
hermes whatsapp |
Konfiguracja i parowanie mostu WhatsApp |
hermes version |
Wypisuje informacje o wersji |
hermes update |
Pobiera najnowszy kod i ponownie instaluje zależności |
hermes uninstall |
Usuwa Hermes z systemu (--full usuwa także konfigurację/dane) |
hermes backup |
Pełna kopia zapasowa konfiguracji, sesji, skill i pamięci (v0.9.0+)16 |
hermes import |
Przywracanie z archiwum kopii zapasowej — migracja między maszynami lub wycofanie zmian (v0.9.0+)16 |
hermes dashboard |
Uruchamia lokalny web dashboard do zarządzania agentem w przeglądarce (v0.9.0+)16 |
hermes debug share |
Przesyła pełny raport debugowania do pastebin w celu udostępnienia podczas rozwiązywania problemów (v0.9.0+)16 |
hermes chat — główny punkt wejścia
hermes bez argumentów przenosi do interaktywnego chatu. hermes chat to jawna forma z 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> |
Nadpisuje model dla tego uruchomienia |
-t, --toolsets <csv> |
Włącza rozdzielony przecinkami zestaw toolset |
--provider <provider> |
Wymusza dostawcę (zob. pełną listę) |
-s, --skills <name> |
Wstępnie ładuje jeden lub więcej skill dla tej sesji |
-v, --verbose |
Szczegółowe wyjście |
-Q, --quiet |
Tryb programowy (bez banera, spinnera i podglądów) |
--resume <session> |
Wznawia sesję bezpośrednio z chat |
--worktree |
Tworzy izolowany git worktree |
--checkpoints |
Włącza checkpoint systemu plików przed destrukcyjnymi zmianami |
--yolo |
Pomija monity o zatwierdzenie |
--source <tag> |
Tag źródła sesji (domyślnie: cli; dla integracji należy użyć tool) |
--max-turns <N> |
Maksymalna liczba iteracji wywołań narzędzi na turę (domyślnie: 90) |
hermes setup — pełny kreator
Uruchamia pełny kreator konfiguracji albo przechodzi do jednej 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 — strukturalne zapytania do logów
hermes logs jest bardziej zaawansowane niż tail -f na plikach logów, ponieważ obsługuje jednoczesne filtrowanie według poziomu, ID sesji i zakresu czasu.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 — cała aktywność agenta (wywołania API, przekazywanie narzędzi, cykl życia sesji, INFO+)
- errors.log — wyłącznie ostrzeżenia i błędy (przefiltrowany podzbiór agent.log)
- gateway.log — aktywność messaging gateway (połączenia platform, dispatch, webhooks)
Rotacja odbywa się automatycznie za pośrednictwem RotatingFileHandler z Python — należy szukać agent.log.1, agent.log.2 itd.6
hermes doctor — diagnostyka
hermes doctor [--fix] to pierwsze polecenie, które należy uruchomić, gdy coś działa nieprawidłowo. Sprawdza poprawność konfiguracji, obecność zależności, dostępność klucza API, status usług i może próbować automatycznych napraw z użyciem --fix.6
Aby udostępnić diagnostykę innej osobie, należy użyć hermes dump — generuje ono zwięzłe podsumowanie w zwykłym tekście z ocenzurowanymi kluczami API, gotowe do wklejenia w zgłoszeniu GitHub lub wątku Discord.6
Polecenia slash
Polecenia slash działają w aktywnej sesji czatu (CLI lub platforma komunikacyjna). Są wysyłane ze wspólnego COMMAND_REGISTRY w hermes_cli/commands.py, dlatego większość poleceń działa identycznie na różnych powierzchniach.9
Sterowanie sesją
| Polecenie | Opis |
|---|---|
/new (alias /reset) |
Rozpocznij nową sesję |
/clear |
Wyczyść ekran i rozpocznij nową sesję |
/history |
Pokaż historię rozmowy |
/save |
Zapisz bieżącą rozmowę |
/retry |
Ponów ostatnią wiadomość |
/undo |
Usuń ostatnią wymianę użytkownik/asystent |
/title <name> |
Ustaw tytuł bieżącej sesji |
/compress |
Ręcznie skompresuj kontekst rozmowy |
/rollback [number] |
Wyświetl lub przywróć checkpointy systemu plików |
/stop |
Zabij wszystkie działające procesy w tle |
/queue <prompt> |
Dodaj prompt do kolejki na następną turę. Pułapka: /q jest przypisane zarówno do /queue, jak i /quit; wygrywa ostatnia rejestracja i w praktyce /q rozwiązuje się jako /quit — zawsze należy wpisywać jawnie /queue.9 |
/resume [name] |
Wznów wcześniej nazwaną sesję |
/statusbar (alias /sb) |
Przełącz pasek stanu kontekstu/modelu |
/background <prompt> (alias /bg) |
Uruchom prompt w osobnej sesji w tle |
/btw <question> |
Tymczasowe pytanie poboczne (bez narzędzi, bez zapisywania) |
/plan [request] |
Załaduj dołączony skill plan, aby napisać plan zamiast wykonywać zadanie |
/branch [name] (alias /fork) |
Rozgałęź bieżącą sesję |
/goal <target> |
Przypnij agenta do celu, aby pozostawał przy zadaniu między turami. Wzorzec pętli Ralph jako prymityw pierwszej klasy. Konfigurowalny budżet tur. Nowość w v0.13.0.18 |
/subgoal <criterion> |
Dodaj kryteria sukcesu do aktywnego /goal bez ponownego uruchamiania pętli. Nowość w v0.14.0.19 |
/handoff <target> |
Przekaż aktywną sesję — wiadomości, wywołania narzędzi i kontekst — do innego modelu, persony lub profilu. Nowość w v0.14.0.19 |
Konfiguracja i model
| Polecenie | Opis |
|---|---|
/config |
Pokaż bieżącą konfigurację |
/model [model-name] |
Pokaż lub zmień bieżący model |
/provider |
Pokaż dostępnych providerów i bieżącego providera |
/personality [name] |
Ustaw nakładkę osobowości |
/verbose |
Przełączaj tryb wyświetlania postępu narzędzi |
/reasoning |
Zarządzaj nakładem reasoning i jego wyświetlaniem |
/skin |
Pokaż lub zmień skórkę/motyw wyświetlania |
/voice [on\|off\|tts\|status] |
Przełącz tryb głosowy CLI |
/yolo |
Przełącz tryb YOLO (pomijanie próśb o zatwierdzenie) |
/fast |
Przełącz 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 jest głównym narzędziem do przełączania provideró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, skille i informacje
| Polecenie | Opis |
|---|---|
/tools [list\|disable\|enable] [name...] |
Zarządzaj narzędziami dla bieżącej sesji |
/toolsets |
Wyświetl dostępne toolsets |
/browser [connect\|disconnect\|status] |
Zarządzaj lokalnym połączeniem Chrome CDP |
/skills |
Wyszukuj, instaluj, sprawdzaj lub zarządzaj skills |
/cron |
Zarządzaj zaplanowanymi zadaniami |
/reload-mcp |
Przeładuj serwery MCP z config.yaml |
/plugins |
Wyświetl zainstalowane pluginy |
/help |
Pokaż wszystkie polecenia |
/usage |
Pokaż użycie tokenów, koszt i czas trwania |
/insights |
Pokaż analitykę użycia (ostatnie 30 dni) |
/platforms |
Pokaż status platform komunikacyjnych |
/profile |
Pokaż nazwę aktywnego profilu i katalog home |
Dynamiczne polecenia slash dla skills
Każdy zainstalowany skill jest automatycznie udostępniany jako polecenie slash: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 także zdefiniować szybkie polecenia w config.yaml, które mapują krótką nazwę na dłuższy prompt: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 należy wpisać /review, /deploy lub /morning w CLI.
Dopasowywanie prefiksów
Polecenia obsługują dopasowywanie prefiksów: wpisanie /h rozwiązuje się jako /help, a /mod jako /model. Gdy prefiks jest niejednoznaczny, wygrywa pierwsza rejestracja w kolejności rejestru. Pełne nazwy poleceń i zarejestrowane aliasy zawsze mają pierwszeństwo przed dopasowaniami prefiksów.9
Polecenia specyficzne dla komunikatorów
Niektóre polecenia działają tylko na platformach komunikacyjnych (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant):9
/status— pokaż informacje o sesji/sethome(alias/set-home) — oznacz bieżący czat jako home platformy/approve [session|always]— zatwierdź oczekujące niebezpieczne polecenie/deny— odrzuć oczekujące niebezpieczne polecenie/update— zaktualizuj Hermes Agent do najnowszej wersji/commands [page]— przeglądaj wszystkie polecenia i skills (stronicowane)
A niektóre są dostępne tylko w CLI: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Narzędzia i toolsety
Hermes zawiera rozbudowany wbudowany rejestr narzędzi obejmujący wyszukiwanie w sieci, automatyzację przeglądarki, wykonywanie poleceń w terminalu, edycję plików, pamięć, delegowanie, trening RL, dostarczanie wiadomości, integrację z Home Assistant i nie tylko.10 Narzędzia są uporządkowane w logiczne toolsety, które można włączać lub wyłączać osobno dla każdej platformy.
Kategorie wysokiego poziomu
| Kategoria | Przykłady | Opis |
|---|---|---|
| Web | web_search, web_extract |
Wyszukiwanie w sieci i wyodrębnianie treści stron |
| Terminal i pliki | terminal, process, read_file, patch |
Wykonywanie poleceń i manipulowanie plikami |
| Przeglądarka | browser_navigate, browser_snapshot, browser_vision |
Interaktywna automatyzacja przeglądarki z tekstem i wizją |
| Media | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Analiza i generowanie multimodalne. video_analyze działa przede wszystkim z Gemini, z rozszerzalną obsługą zgodnych dostawców multimodalnych (v0.13.0+). v0.14.0 dodaje ujednolicone video_generate z podłączanymi backendami dostawców i przesyła surowe piksele przez vision_analyze, gdy aktywny model obsługuje wizję.1819 |
| Orkiestracja agentów | todo, clarify, execute_code, delegate_task |
Planowanie, doprecyzowanie, wykonywanie kodu, delegowanie do subagentów |
| Computer use | computer_use |
Sterowanie pulpitem przez backend cua-driver; v0.14.0 umożliwia działanie z dostawcami obsługującymi wizję innymi niż Anthropic.19 |
| Pamięć i przywoływanie | memory, session_search |
Trwała pamięć + wyszukiwanie w sesjach |
| Automatyzacja i dostarczanie | cronjob, send_message |
Zaplanowane zadania, wiadomości wychodzące |
| Integracje | ha_*, narzędzia MCP, rl_* |
Home Assistant, MCP, trening RL |
Typowe nazwy toolsetów to web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant i 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 też przełączać w trakcie sesji przez /tools disable <name> i /tools enable <name>, co resetuje sesję, aby nowy zestaw narzędzi zaczął obowiązywać.9
Backendy terminala
Narzędzie terminala może wykonywać polecenia w 6 różnych środowiskach:10
| Backend | Zastosowanie |
|---|---|
local |
Uruchamianie na własnej maszynie (domyślnie) — development, zaufane zadania |
docker |
Izolowane kontenery — bezpieczeństwo, odtwarzalność |
ssh |
Zdalny serwer — sandbox, odseparowanie agenta od jego własnego kodu |
singularity |
Kontenery HPC — obliczenia klastrowe, bez roota |
modal |
Serverless cloud execution |
daytona |
Cloud sandbox workspace — trwałe zdalne środowisko deweloperskie |
Backendy można przełączać poleceniem hermes config set terminal.backend <name> albo w 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 container_persistent: true zainstalowane pakiety, pliki i konfiguracja zachowują się między sesjami.10
Wszystkie backendy kontenerowe działają z utwardzeniami bezpieczeństwa: system plików root tylko do odczytu (Docker), wszystkie uprawnienia Linux usunięte poza DAC_OVERRIDE, CHOWN i FOWNER, brak eskalacji uprawnień, limity PID (256 procesów), pełna izolacja namespace, trwały workspace przez wolumeny.10
Procesy w tle
Narzędzie terminala obsługuje 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 interaktywne narzędzia CLI, takie jak Codex i Claude Code.10
Sudo
Jeśli polecenie wymaga sudo, Hermes poprosi o hasło (buforowane na czas sesji). Można też ustawić SUDO_PASSWORD w ~/.hermes/.env.10
Multi-Agent Kanban (v0.13.0+)
v0.13.0 zamienia współpracę wielu agentów w prymityw pierwszej klasy: trwałą tablicę Kanban, która śledzi zadania, status i tożsamość workerów między agentami oraz po restartach.18 To właśnie ta tablica sprawia, że swarm workerów Hermes faktycznie kończy pracę, zamiast zatrzymywać się na martwych przekazaniach.
| Mechanizm | Co robi |
|---|---|
| Heartbeats | Każdy worker wysyła puls, gdy posiada zadanie. Brak pulsu oznacza workera jako podejrzanego i zwalnia zadanie do ponownego przejęcia. |
| Reclaim | Inny worker może podjąć porzucone zadanie, z pełnym stanem zadania i wcześniejszym częściowym wynikiem. |
| Wykrywanie zombie | Workery, które kończą działanie bez oznaczenia zadania jako ukończonego, są automatycznie blokowane przed pobieraniem nowej pracy, co zapobiega gromadzeniu przez swarm martwych tożsamości. |
| Brama halucynacji | Wynik, który nie przejdzie bramy, trafia z powrotem na tablicę z odnotowanym powodem, zamiast zostać oznaczony jako ukończony. |
max_retries dla zadania |
Pozwala nadpisać domyślny budżet ponownych prób dla zadania, o którym wiadomo, że jest kruche. |
| Tablice wieloprojektowe | Jeden katalog domowy Hermes może hostować kilka niezależnych tablic. |
Tablica Kanban naturalnie łączy się z /goal (pętla Ralph z zablokowanym celem) po stronie celu oraz z istniejącym narzędziem delegate_task dla semantyki spawn. W rezultacie powstaje wzorzec swarmu, w którym każdy agent współdzieli jedno źródło prawdy o tym, co robić dalej, kto się tym zajmuje i co utknęło.
System skills
Skills to dokumenty wiedzy ładowane na żądanie, które agent może wczytać wtedy, gdy są potrzebne. Działają według wzorca stopniowego ujawniania, aby ograniczyć zużycie tokenów, i są zgodne z otwartym standardem agentskills.io.11
Wszystkie skills znajdują się w ~/.hermes/skills/ — to główny katalog i źródło prawdy. Przy świeżej instalacji dołączone skills są kopiowane z repozytorium. Skills zainstalowane z hubu i utworzone przez agenta również trafiają tutaj.11
Stopniowe 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 wczytuje pełną treść skill dopiero wtedy, gdy rzeczywiście 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
## Verification
How to confirm it worked.
Aktywacja warunkowa
Skills mogą się pokazywać lub ukrywać zależnie od tego, które narzędzia są dostępne. Jest to najbardziej przydatne w przypadku fallback skills — 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 jest ukryty, gdy wymienione toolsets są dostępne |
fallback_for_tools |
To samo, ale sprawdza pojedyncze narzędzia |
requires_toolsets |
Skill jest ukryty, gdy wymienione toolsets są niedostępne |
requires_tools |
To samo, ale sprawdza pojedyncze narzędzia |
Przykład: wbudowany skill duckduckgo-search używa fallback_for_toolsets: [web]. Gdy ustawiono FIRECRAWL_API_KEY, toolset web jest dostępny i agent używa web_search — skill DuckDuckGo pozostaje ukryty. Bez klucza API skill DuckDuckGo automatycznie pojawia się jako fallback.11
Skills zarządzane przez agenta
Agent może tworzyć, aktualizować i usuwać własne skills za pomocą narzędzia skill_manage. To pamięć proceduralna agenta — gdy opracuje nietrywialny workflow, zapisuje podejście jako skill do ponownego użycia w przyszłości.11
Kiedy agent tworzy skills:11 - Po pomyślnym wykonaniu złożonego zadania (ponad 5 wywołań narzędzi) - Gdy napotkał błędy lub ślepe uliczki i znalazł działającą ścieżkę - Gdy użytkownik skorygował jego podejście - Gdy odkrył nietrywialny workflow
Akcje:11
| Akcja | Zastosowanie |
|---|---|
create |
Nowy skill od podstaw |
patch |
Ukierunkowane poprawki (preferowane — najbardziej oszczędne pod względem tokenów) |
edit |
Duże zmiany strukturalne |
delete |
Całkowite usunięcie skill |
write_file |
Dodanie/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 hubu:11
| Źródło | Przykład | Uwagi |
|---|---|---|
official |
official/security/1password |
Opcjonalne skills dostarczane z Hermes (wbudowane zaufanie) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Publiczny katalog skills Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
Odkrywanie na podstawie URL ze stron publikujących /.well-known/skills/index.json |
github |
openai/skills/k8s |
Bezpośrednie instalacje repozytorium/ścieżki GitHub |
clawhub |
— | Zewnętrzny marketplace skills |
claude-marketplace |
— | Manifesty pluginów/marketplace zgodne z Claude |
lobehub |
— | Konwersja katalogu agentów LobeHub |
Domyślne taps GitHub (możliwe do przeglądania bez konfiguracji): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11
Skanowanie bezpieczeństwa
Wszystkie skills zainstalowane z hubu przechodzą przez skaner bezpieczeństwa, który sprawdza eksfiltrację danych, prompt injection, destrukcyjne polecenia, sygnały dotyczące łańcucha dostaw i inne zagrożenia.11
Poziomy zaufania:11
| Poziom | Źródło | Polityka |
|---|---|---|
builtin |
Dostarczane z Hermes | Zawsze zaufane |
official |
optional-skills/ w repozytorium |
Wbudowane zaufanie, bez ostrzeżenia o zewnętrznym źródle |
trusted |
Zaufane rejestry (openai/skills, anthropics/skills) |
Bardziej liberalna polityka |
community |
Wszystko inne | Wyniki inne niż niebezpieczne można nadpisać za pomocą --force; werdykty dangerous pozostają zablokowane |
--force może nadpisać nieniebezpieczne blokady polityki dla społecznościowych skills. Nie nadpisuje werdyktu skanowania dangerous.11
Zewnętrzne katalogi skills
Można wskazać Hermes dodatkowe katalogi skills skanowane razem z katalogiem lokalnym:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Ścieżki obsługują rozwijanie ~ oraz podstawianie zmiennych środowiskowych ${VAR}. Katalogi zewnętrzne są tylko do odczytu — gdy agent tworzy lub edytuje skill, zawsze zapisuje go w ~/.hermes/skills/. Lokalny priorytet wygrywa, jeśli skill o tej samej nazwie istnieje w obu miejscach.11
Pamięć trwała
Hermes ma ograniczoną, kuratorowaną pamięć, która utrzymuje się między sesjami. Pamięć agenta tworzą dwa pliki, oba przechowywane w ~/.hermes/memories/:12
| Plik | Cel | Limit znaków |
|---|---|---|
MEMORY.md |
Osobiste notatki agenta — fakty o środowisku, konwencje, zdobyte informacje | 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 promptu systemowego jako zamrożony zrzut na początku sesji. Agent zarządza własną pamięcią za pomocą narzędzia memory — add, replace albo remove.12
Wzorzec zamrożonego zrzutu: wstrzyknięcie do promptu systemowego jest przechwytywane raz na początku sesji i nie zmienia się w jej trakcie. To celowe — zachowuje cache prefiksu LLM w celu zwiększenia wydajności. Zmiany wprowadzone podczas sesji są natychmiast zapisywane na dysku, ale pojawiają się w prompcie systemowym dopiero w następnej sesji.12
Co zapisywać
Warto zapisywać te informacje (agent robi to proaktywnie):12
- Preferencje użytkownika: „Wolę TypeScript niż JavaScript” → user
- Fakty o środowisku: „Ten serwer działa na Debian 12 z PostgreSQL 16” → memory
- Korekty: „Nie używać sudo dla poleceń Docker, użytkownik jest w grupie docker” → memory
- Konwencje: „Projekt używa tabulatorów, szerokości linii 120 znaków i docstringów w stylu Google” → memory
- Ukończone prace: „Przeniesiono bazę danych z MySQL do PostgreSQL 2026-01-15” → memory
Należy pominąć:12 - Trywialne/oczywiste informacje - Fakty łatwe do ponownego odkrycia - Surowe zrzuty danych (zbyt duże dla pamięci) - Efemeryczne informacje specyficzne dla sesji - Informacje już obecne 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ą odpowiednie wcześniejsze rozmowy wraz z podsumowaniem Gemini Flash.12
| Funkcja | Pamięć trwała | Wyszukiwanie sesji |
|---|---|---|
| Pojemność | Łącznie ~1 300 tokenów | Bez limitu (wszystkie sesje) |
| Szybkość | Natychmiastowa (w prompcie systemowym) | Wymaga wyszukiwania + podsumowania LLM |
| Przypadek użycia | Kluczowe fakty zawsze dostępne | Znajdowanie konkretnych wcześniejszych rozmów |
| Zarządzanie | Ręcznie kuratorowana przez agenta | Automatyczne — przechowywane są wszystkie sesje |
| Koszt tokenów | Stały na sesję (~1 300 tokenów) | Na żądanie |
Zewnętrzni dostawcy pamięci
Do głębszej pamięci trwałej wykraczającej poza MEMORY.md i USER.md Hermes zawiera osiem pluginów zewnętrznych dostawców pamięci: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover i Supermemory.12
Zewnętrzni dostawcy działają równolegle z wbudowaną pamięcią (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)
Aktywny może być tylko jeden zewnętrzny dostawca naraz. Wbudowana pamięć jest zawsze aktywna.6
Automatyczne wznawianie sesji (v0.13.0+)
v0.13.0 sprawia, że przerwanie pracy agenta w trakcie staje się możliwe do przetrwania. Gateway automatycznie wznawia przerwane sesje po restarcie; restarty /update zachowują stan sesji podczas aktualizacji; przeładowania plików źródłowych w trakcie developmentu utrzymują aktywną sesję zamiast wymuszać nową.18 Efekt praktyczny: długotrwałe prace gateway i zadania sterowane przez cron nie resetują już okna kontekstu po restarcie procesu.
Checkpoints v2 (v0.13.0+)
Trwałość stanu została przepisana w v0.13.0 jako projekt z jednym magazynem, z rzeczywistym przycinaniem, zabezpieczeniami dyskowymi i bez osieroconych repozytoriów-cieni.18 Poprzedni system checkpointów gromadził stan na dysku w długotrwałych profilach; magazyn v2 nakłada twardy limit na lokalne przechowywanie checkpointów i usuwa zdublowaną ewidencję, która powodował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 jest podstawową tożsamością instancji Hermes. Zajmuje slot nr 1 w prompcie systemowym, zastępując domyślną tożsamość zakodowaną na stałe.13
Hermes automatycznie tworzy domyślny SOUL.md w ~/.hermes/SOUL.md (albo $HERMES_HOME/SOUL.md dla profili niestandardowych). Istniejące pliki użytkownika nigdy nie są nadpisywane. Hermes ładuje SOUL.md wyłącznie z HERMES_HOME — nie szuka go w bieżącym katalogu roboczym. Dzięki temu osobowość jest przewidywalna między projektami.13
Co należy umieszczać w SOUL.md
Należy używać go do trwałych wskazówek dotyczących głosu i osobowości:13 - tonu - stylu komunikacji - poziomu bezpośredniości - domyślnego stylu interakcji - tego, czego unikać stylistycznie - sposobu, w jaki Hermes powinien obsługiwać niepewność, niezgodę i niejednoznaczność
Mniej nadaje się do:13 - jednorazowych instrukcji projektowych - ścieżek plików - konwencji repozytorium - tymczasowych szczegółów workflow
Te informacje należą do AGENTS.md, 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 zasady komunikacji, zachowanie na poziomie osobowości.
AGENTS.md — architektura projektu, konwencje kodowania, preferencje narzędziowe, workflow specyficzne dla repozytorium, polecenia, porty, ścieżki, notatki wdrożeniowe.
Przydatna reguła: jeśli coś powinno 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 zawiera wbudowane osobowości, na które można przełączyć się za pomocą /personality:13
| Nazwa | Opis |
|---|---|
helpful |
Przyjazny asystent ogólnego zastosowania |
concise |
Krótkie odpowiedzi, prosto do sedna |
technical |
Szczegółowy, precyzyjny ekspert techniczny |
creative |
Innowacyjne, nieszablonowe myślenie |
teacher |
Cierpliwy edukator z jasnymi przykładami |
kawaii |
Urocze wyrażenia, iskierki, entuzjazm |
catgirl |
Neko-chan z kocimi wyrażeniami |
pirate |
Kapitan Hermes, technicznie biegły korsarz |
shakespeare |
Bardowska proza z dramatycznym rozmachem |
surfer |
Luźny klimat bro |
noir |
Narracja detektywa w stylu hard-boiled |
uwu |
Maksymalna słodycz z językiem uwu |
philosopher |
Głęboka kontemplacja nad każdym zapytaniem |
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 przełączyć się poleceniem /personality codereviewer.
SOUL.md a /personality
SOUL.md jest bazowym głosem. /personality to nakładka na poziomie sesji.13 Warto utrzymać pragmatyczny domyślny SOUL.md, a następnie używać /personality teacher do rozmowy szkoleniowej albo /personality creative do burzy mózgów.
Nous Tool Gateway (v0.10.0+)
Od Hermes Agent v0.10.0 (2026-04-16) płatni subskrybenci Nous Portal otrzymują zarządzany dostęp do wyselekcjonowanego zestawu narzędzi przy użyciu istniejących danych logowania Portal — bez dodatkowych kluczy API do zarządzania.26 Sam Hermes CLI pozostaje na licencji MIT i w pełni open source. Zmiana polega na tym, że uwierzytelnienie Portal odblokowuje teraz więcej niż tylko inferencję modeli.
Co znajduje się w gateway
| Narzędzie | Dostawca | Przypadek użycia |
|---|---|---|
| Web search | Firecrawl | Pobieranie informacji dla agentów, którzy potrzebują aktualnych danych |
| Image generation | FAL / FLUX 2 Pro | Generowanie obrazów inline bez konfigurowania klucza FAL |
| Text-to-speech | OpenAI TTS | Wyjście mówione w messaging gateways |
| Browser automation | Browser Use | Nawigacja headless i scraping |
Jak to działa
Gateway jest opcjonalny dla każdego narzędzia przez nowe pole konfiguracji use_gateway. Jeśli w hermes auth są dane logowania Portal i 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
Priorytet w czasie działania: gdy gateway jest dostępny i narzędzie ma use_gateway: true, Hermes preferuje gateway, nawet jeśli skonfigurowany jest również bezpośredni klucz API. Ma to znaczenie dla rozliczeń — wywołania gateway korzystają z subskrypcji Portal, a nie z salda 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 ma oddzielnego polecenia hermes subscribe ani hermes login --portal. Subskrypcja jest wykrywana automatycznie na podstawie danych logowania OAuth Portal, które już znajdują się w hermes auth.
Ceny i dostęp
Ceny oraz nazwy tierów są publikowane na stronie cennika Nous Portal (https://portal.nousresearch.com/pricing). Ten przewodnik nie wylicza tierów, ponieważ odpowiada za nie produkt Portal, a nie Hermes CLI, i zmieniają się niezależnie od wydań Hermes. Rejestracja jest dostępna pod adresem https://portal.nousresearch.com/; aktualne tiery należy sprawdzić na stronie cennika.
Informacja o wycofaniu
- Zmienna środowiskowa
HERMES_ENABLE_NOUS_MANAGED_TOOLSzostała usunięta w v0.10.0. Narzędzia zarządzane są teraz włączane przez pole konfiguracjiuse_gatewaydla poszczególnych narzędzi i ograniczane stanem subskrypcji Portal.26
Ujęcie: czym ta wersja nie jest
Hermes Agent CLI nie jest ukryty za subskrypcją. Projekt nadal jest na licencji MIT, wszystkie funkcje podstawowe (CLI, skills, pamięć, messaging gateway, cron, MCP, lokalny dashboard, BYOK dla każdego dostawcy) działają od początku do końca bez 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 ze ścieżki bezpłatnej.
Messaging Gateway
Hermes może działać jako długotrwały proces gateway, który łączy się z 22 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, LINE, SimpleX Chat oraz ogólny adapter Webhook.325171819 Wersja v0.9.0 dodała iMessage przez BlueBubbles (automatyczną rejestrację webhook, kreator konfiguracji, odporność na awarie) oraz natywną obsługę WeChat przez iLink Bot API z trybem callback WeCom dla aplikacji firmowych.16 Wersja v0.11.0 dodała QQBot.25 Wersja 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 pluggable architektury adapterów; IRC i Microsoft Teams również przeniesiono na nowy wzorzec adapterów z ogólnymi hookami plugin env_enablement_fn / cron_deliver_env_var.18 v0.14.0 dodaje LINE i SimpleX Chat oraz domyka stos Microsoft Teams end-to-end z Graph auth, listenerem webhook, środowiskiem pipeline runtime i dostarczaniem wychodzącym.19 v0.17.0 (19 czerwca 2026) dodaje iMessage bez relay przez Photon Spectrum (OAuth device-code z hermes photon login — bez wymaganego relay Mac/BlueBubbles), oficjalny adapter WhatsApp Business Cloud API (zastępujący wymóg procesu bridge), grupy SimpleX i natywne załączniki oraz Raft jako dołączony plugin platformy.21
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łączanie każdej platformy: tokeny API, identyfikatory botów, mapowania kanałów, allowlisty.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 slash działają identycznie w obu miejscach, a zadanie cron zaplanowane w Telegram może dostarczyć wynik do Discord — różnica między platformami znajduje się wyłącznie na brzegu systemu.3
Autoryzacja użytkowników i pairing
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Kody pairing uniemożliwiają przypadkowym obcym osobom rozmowę z gateway. Użytkownik wysyła kod pairing ze swojej platformy komunikacyjnej; zatwierdza się go poleceniem hermes pairing approve; od tego momentu użytkownik jest autoryzowany.6
Zaplanowane zadania (Cron)
Hermes ma pełnoprawny system cron, w którym zadania są zadaniami agentów, a nie poleceniami shell. Każde zaplanowane zadanie działa przez świeży AIAgent ze skonfigurowanym promptem, opcjonalnie dołączonymi skill 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
Można też utworzyć je konwersacyjnie w czacie komunikatora:
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ą trwale zapisywane w JSON i przetrwają ponowne uruchomienia.3
Integracja 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ć jego powierzchnię narzędziową:
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
Albo ręcznie w 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ępniać konwersacje Hermes innym agentom:
hermes mcp serve
hermes mcp serve -v # Verbose
Kompresja kontekstu
Hermes automatycznie kompresuje długie konwersacje, aby zmieścić się w oknie kontekstu modelu. Summarizer kompresji to osobne wywołanie LLM — można skierować je do dowolnego providera lub endpointu.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 providera:4
summary_provider |
summary_base_url |
Wynik |
|---|---|---|
auto (domyślnie) |
nie ustawiono | Automatyczne wykrycie najlepszego dostępnego providera |
nous / openrouter / etc. |
nie ustawiono | Wymuszenie tego providera i użycie jego auth |
| dowolny | ustawiono | Bezpośrednie użycie własnego endpointu (provider ignorowany) |
summary_model musi obsługiwać długość kontekstu co najmniej tak dużą jak model główny, ponieważ otrzymuje pełną środkową część konwersacji do kompresji.4
Ostrzeżenia o presji budżetu
Gdy agent pracuje nad złożonym zadaniem z wieloma wywołaniami narzędzi, może zużyć swój budżet iteracji (domyślnie: 90 tur), nie zdając sobie z tego sprawy. Presja budżetu automatycznie ostrzega model:4
| Próg | Poziom | Co widzi model |
|---|---|---|
| 70% | Ostrożnie | [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 streaming LLM ma dwie warstwy limitów czasu, które automatycznie dostosowują się dla lokalnych providerów (localhost, adresy IP w LAN):4
| Limit czasu | Domyślnie | Lokalni providerzy | Zmienna env |
|---|---|---|---|
| Limit czasu odczytu socketu | 120s | Automatycznie podnoszony do 1800s | HERMES_STREAM_READ_TIMEOUT |
| Wykrywanie nieaktywnego strumienia | 180s | Automatycznie wyłączone | HERMES_STREAM_STALE_TIMEOUT |
| Wywołanie API (bez streamingu) | 1800s | Bez zmian | HERMES_API_TIMEOUT |
Limit czasu odczytu socketu jest podnoszony do 30 minut dla lokalnych endpointów, ponieważ lokalne LLM mogą potrzebować kilku minut na prefill przy dużych kontekstach, zanim wygenerują pierwszy token.4
Lokalny dashboard webowy (v0.9.0+)
Dashboard w przeglądarce do lokalnego zarządzania Hermes Agent. Można konfigurować ustawienia, monitorować sesje, przeglądać skill i zarządzać gateway bez dotykania plików konfiguracyjnych ani terminala.16 Uruchamia się go poleceniem hermes dashboard. To najprostsza ścieżka onboardingu dla nowych użytkowników, którzy wolą GUI.
Monitorowanie procesów w tle (v0.9.0+)
watch_patterns pozwala ustawić wzorce monitorowane w danych wyjściowych procesu w tle i otrzymywać powiadomienia w czasie rzeczywistym, gdy zostaną dopasowane.16 Można monitorować błędy, czekać na konkretne zdarzenia („listening on port”) albo obserwować logi buildów — wszystko bez pollingu. W połączeniu z notify_on_complete z v0.8.0 (powiadamiającym o zakończeniu zadania w tle) Hermes ma teraz pełną warstwę obserwowalności procesów w tle.15
Pluggable Context Engine (v0.9.0+)
Zarządzanie kontekstem jest teraz pluggable slot przez hermes plugins. Można podmieniać własne silniki kontekstu, które kontrolują, co agent widzi w każdej turze — filtrowanie, summarization albo wstrzykiwanie kontekstu specyficznego dla domeny.16 Oddziela to strategię kontekstu od głównej pętli agenta, umożliwiając dostosowanie kontekstu dla konkretnego projektu lub domeny.
Backup i restore (v0.9.0+)
hermes backup tworzy pełne archiwum konfiguracji, sesji, skill i pamięci. hermes import przywraca dane z archiwum backup.16 Warto używać tego do migracji między maszynami, tworzenia snapshotów przed dużymi zmianami albo udostępniania zespołowi sprawdzonej konfiguracji.
Obsługa Termux / Android (v0.9.0+)
Hermes działa natywnie na Androidzie przez Termux. Dostosowane ścieżki instalacji, optymalizacje TUI dla ekranów mobilnych, obsługa backendu głosowego i polecenie /image działają bezpośrednio na urządzeniu.16
Wzmocnienie zabezpieczeń (v0.13.0+)
v0.13.0 zamknęła 8 problemów bezpieczeństwa P0 i zmieniła jedno ustawienie domyślne na korzyść użytkownika.18 v0.14.0 dodaje kolejne zamknięcia: 12 P0 i 50 P1, w tym wzmocnienie sudo brute-force / sudo-stdin, poprawki obejść niebezpiecznych poleceń, sanityzację błędów narzędzi przed ponownym wstrzyknięciem do modelu, uwierzytelnianie API wtyczki dashboardu, pokrycie SSRF w skills-hub oraz skanowanie ostrzeżeń dotyczących łańcucha dostaw podczas instalacji.19
| Poprawka | Co się zmieniło |
|---|---|
| Domyślnie włączona redakcja sekretów | Wcześniej wymagała włączenia. Logi i przesyłane dane hermes debug share redagują sekrety, chyba że zostanie to jawnie wyłączone. v0.12.0 domyślnie wyłączyła redakcję po zgłoszeniach uszkodzenia payloadów; v0.13.0 ponownie ją włącza jako bezpieczniejszą podstawę. |
| Obejście DM między guildami w Discord (CVSS 8.1) | Listy dozwolonych ról Discord są teraz ograniczone do konkretnego guilda, co zamyka ścieżkę, w której rola użytkownika w jednym guildzie autoryzowała DM we wszystkich guildach. |
| Domyślne ograniczenia WhatsApp | Adapter WhatsApp domyślnie odrzuca nieznajomych i nigdy nie odpowiada w self-chat. |
| Okno TOCTOU MCP OAuth | Zamknięto warunek wyścigu podczas zapisu poświadczeń w przepływach MCP OAuth. |
TOCTOU auth.json CLI |
Zamknięto analogiczne okno TOCTOU w mechanizmie zapisu poświadczeń dla magazynu uwierzytelniania CLI. |
| Minimum SSRF dla przeglądarki | Routing hybrydowy wymusza minimum ochrony SSRF dla metadanych chmurowych wobec żądań próbujących dotrzeć do 169.254.169.254 i odpowiedników. |
| Skanowanie prompt injection w cron | Złożone prompty (w tym wczytana zawartość skill) są skanowane pod kątem prompt injection przed uruchomieniem zadania cron. |
Redakcja hermes debug share |
Przesyłane dane debug share redagują zawartość logów w momencie przesyłania, a nie tylko w momencie zapisu. |
Jeśli utrzymywane jest wdrożenie Hermes, v0.13.0 i v0.14.0 należy traktować jako aktualizacje istotne dla bezpieczeństwa, a nie tylko pakiety nowych funkcji. v0.13.0 zamyka obejście między guildami w Discord i dwa okna TOCTOU; v0.14.0 dodaje kolejną rundę wzmocnień obejmującą obsługę sudo, ponowne wstrzykiwanie błędów narzędzi, API wtyczek, SSRF w skills-hub oraz ostrzeżenia dotyczące zależności.
Architektura dla praktyków
Ta sekcja jest przeznaczona dla osób, które chcą zrozumieć, co dzieje się pod maską, aby móc debugować system, rozszerzać go albo analizować wydajność. To synteza 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 narzędzi / 20 toolsetów” kontra „28 narzędzi” w banerze. Liczba „47 tools” oznacza pełny rejestr narzędzi w repozytorium upstream — każde narzędzie, z którym Hermes dostarcza kod źródłowy, we wszystkich toolsetach. Rzeczywiście uruchomiony CLI pokaże w banerze startowym mniejszą liczbę (instalacja, względem której zweryfikowano ten przewodnik, raportuje 28 tools / 89 skills). To nie błąd. Wiele toolsetów jest opcjonalnych i trzeba je jawnie włączyć w config.yaml w sekcji toolsets: — adaptery platform komunikacyjnych, automatyzację przeglądarki, cięższe narzędzia scrapingowe itd. Łączna liczba w rejestrze oznacza „co jest dostępne”; liczba w banerze oznacza „co jest włączone w bieżącym profilu”. Aktywne toolsety można sprawdzić poleceniem hermes tools --list, a poszczególne toolsety włączać lub wyłączać blokiem toolsets: w ~/.hermes/config.yaml (albo przez /tools list / /tools enable <name> / /tools disable <name> wewnątrz działającej sesji — usunięcie narzędzia wywołuje reset sesji, aby agent odbudował swój manifest narzędzi).
Trzy tryby API
Hermes abstrahuje różnice między providerami do trzech trybów API, wybieranych automatycznie w czasie wykonywania:3
| Tryb API | Używany przez |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, większość niestandardowych endpointów, dowolny serwer zgodny z OpenAI |
codex_responses |
OpenAI Codex (przez ChatGPT OAuth) |
anthropic_messages |
Anthropic API (natywnie), Anthropic OAuth, proxy zgodne z Anthropic |
Resolver runtime_provider.py mapuje krotki (provider, model) na (api_mode, api_key, base_url) dla ponad 18 provideró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 dokumentacji architektury upstream.3
Kolejność składania promptu
Stos promptu obejmuje:13
SOUL.md(tożsamość agenta — albo wbudowany fallback, jeśli plik jest niedostępny)- Wskazówki zachowania świadomego narzędzi
- Pamięć/kontekst użytkownika (
MEMORY.md,USER.md) - Wskazówki dotyczące skills
- Pliki kontekstowe (
AGENTS.md,.cursorrules) - Znacznik czasu
- Wskazówki formatowania specyficzne dla platformy
- Opcjonalne nakładki system-promptu, takie jak
/personality
SOUL.md jest fundamentem — wszystko inne buduje się na nim.13
Przechowywanie sesji
Przechowywanie sesji oparte na SQLite z pełnotekstowym wyszukiwaniem FTS5. Sesje mają śledzenie pochodzenia (relacje parent/child między kompresjami), izolację per platforma oraz atomowe zapisy z obsługą konfliktów dostępu.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 przez kontekst API. Dostawcy pamięci są wyspecjalizowanym typem 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 dokumentacji architektury upstream:3
| Zasada | Co oznacza w praktyce |
|---|---|
| Stabilność promptu | System prompt nie zmienia się w środku rozmowy. Brak mutacji psujących cache poza jawnymi działaniami użytkownika (/model) |
| Obserwowalne wykonanie | Każde wywołanie narzędzia jest widoczne dla użytkownika przez callbacki. Aktualizacje postępu w CLI (spinner) i gateway (wiadomości czatu) |
| Możliwość przerwania | Wywołania API i wykonanie narzędzi można anulować w locie przez dane wejściowe użytkownika lub sygnały |
| Rdzeń niezależny od platformy | Jedna klasa AIAgent obsługuje CLI, gateway, ACP, batch i serwer API. Różnice platformowe znajdują się w punkcie wejścia |
| Luźne powiązania | Opcjonalne podsystemy (MCP, wtyczki, dostawcy pamięci, środowiska RL) używają wzorców rejestru i bramek check_fn, a nie twardych zależności |
| Izolacja profilu | Każdy profil otrzymuje własne HERMES_HOME, konfigurację, pamięć, sesje i PID gateway. Wiele profili działa równolegle |
Migracja z OpenClaw
Hermes Agent jest następcą OpenClaw. Przy 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 odczytuje dane z ~/.openclaw (automatycznie wykrywa też starsze katalogi ~/.clawdbot i ~/.moldbot) i zapisuje je do ~/.hermes.6
Importowane bezpośrednio (ponad 30 kategorii): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills z 4 katalogów źródłowych, model domyślny, niestandardowi providerzy, serwery MCP, tokeny i listy dozwolonych platform komunikacyjnych (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), domyślne ustawienia agenta (reasoning effort, kompresja, opóźnienie ludzkie, strefa czasowa, sandbox), zasady resetowania sesji, reguły zatwierdzania, konfiguracja TTS, ustawienia przeglądarki, ustawienia narzędzi, timeout exec, lista dozwolonych poleceń, konfiguracja gateway oraz klucze API z 3 źródeł.6
Archiwizowane do ręcznego przeglądu: zadania cron, wtyczki, hooki/webhooki, backend pamięci (QMD), konfiguracja rejestru skills, UI/tożsamość, logowanie, konfiguracja multi-agent, powiązania kanałów, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
Rozwiązywanie klucza API sprawdza trzy źródła w kolejności priorytetu: wartości konfiguracji → ~/.openclaw/.env → auth-profiles.json.6
Rozwiązywanie problemów
„Klucz API nie jest ustawiony”
Uruchomić hermes model, aby interaktywnie skonfigurować dostawcę, albo 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 uruchamianiu (modele lokalne)
Hermes automatycznie wykrywa długość kontekstu z punktu końcowego /v1/models serwera, ale wiele lokalnych serwerów zgłasza niskie wartości domyślne. Należy 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ć
Na serwerze nie włączono wywoływania narzędzi albo model nie obsługuje go przez implementację danego serwera.2
| Serwer | Poprawka |
|---|---|
| llama.cpp | Dodać --jinja do polecenia startowego |
| vLLM | Dodać --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | Dodać --tool-call-parser qwen (albo odpowiedni parser) |
| Ollama | Wywoływanie narzędzi jest włączone domyślnie — proszę sprawdzić, czy model je obsługuje, używając ollama show <model> |
| LM Studio | Zaktualizować do wersji 0.3.6+ i użyć modelu z natywną obsługą narzędzi |
Odpowiedzi urywają się w połowie zdania
Możliwe są 2 przyczyny:2
- Niski limit wyjścia (
max_tokens) na serwerze — SGLang domyślnie używa 128 tokenów na odpowiedź. Należy ustawić--default-max-tokensna serwerze albo skonfigurowaćmodel.max_tokenswconfig.yaml. - Wyczerpanie kontekstu — model wypełnił swoje okno kontekstu. Należy zwiększyć
model.context_lengthalbo włączyć kompresję kontekstu w Hermes.
„Connection refused” z WSL2 do serwera modelu hostowanego w Windows
WSL2 używa wirtualnej karty sieciowej z własną podsiecią — localhost wewnątrz WSL2 odnosi się do maszyny wirtualnej Linux, a nie hosta Windows. Dostępne są 2 opcje:2
Sieć lustrzana (Windows 11 22H2+): edytować %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Następnie uruchomić wsl --shutdown i ponownie wystartować WSL. localhost działa teraz w obu kierunkach.
Awaryjne użycie IP hosta (starsze wersje Windows): pobrać adres IP hosta Windows z poziomu WSL2 i użyć go zamiast localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
Serwer modelu musi też nasłuchiwać na 0.0.0.0, a nie na 127.0.0.1 — dla Ollama należy ustawić OLLAMA_HOST=0.0.0.0, dla llama-server/SGLang dodać --host 0.0.0.0, albo w LM Studio włączyć „Serve on Network”.2
Gdzie wszystko jest?
hermes status i hermes dump są tu przydatne. hermes logs list pokazuje wszystkie pliki dziennika wraz z rozmiarami. hermes config path wypisuje lokalizację pliku konfiguracji. hermes config env-path wypisuje lokalizację .env.6
FAQ
Czym różni się Hermes Agent od Claude Code?
Claude Code to oficjalny CLI od Anthropic, ograniczony do modeli Anthropic. Hermes Agent to open-source’owy framework agentowy od Nous Research, który działa z dowolnym dostawcą zgodnym z OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google albo własnym samoobsługowym punktem końcowym.12 Hermes zawiera także gateway komunikacyjny dla Telegram/Discord/Slack/WhatsApp/Signal, którego Claude Code nie ma.
Czy można używać Hermes z kluczem API Anthropic?
Tak. Są 3 sposoby:2
- Ustawić
ANTHROPIC_API_KEYw~/.hermes/.envi uruchomićhermes chat --provider anthropic --model claude-sonnet-4-6 - Uruchomić
hermes modeli wybrać Anthropic — Hermes użyje magazynu poświadczeń Claude Code, jeśli będzie dostępny - Ustawić ręczny
ANTHROPIC_TOKEN(setup-token albo token OAuth) jako opcję awaryjną
Opcja 2 jest zalecana, jeśli Claude Code jest już używany na tym samym komputerze — pozwala zachować odświeżalne poświadczenia Claude jako odświeżalne.
Jak przełączać dostawców bez utraty rozmowy?
Użyć /model provider:model wewnątrz sesji. Historia rozmowy, pamięć i skills zostają zachowane:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Skonfigurowano Anthropic, ale vision/web/compression nie działają
Uruchamia się awaryjny model pomocniczy. Vision, podsumowywanie web, kompresja i inne zadania poboczne używają osobnego pomocniczego LLM — domyślnie Gemini Flash przez automatyczne wykrywanie (OpenRouter → Nous → Codex). Jeśli żaden z nich nie jest skonfigurowany, a ustawiono tylko Anthropic, te funkcje po cichu działają gorzej.4
Poprawka: dodać OPENROUTER_API_KEY dla zadań pomocniczych albo przekonfigurować sloty pomocnicze tak, 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 tylko timeout. Pełna poprawka:
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 i domyślne zasady komunikacji. Znajduje się w ~/.hermes/SOUL.md i działa wszędzie. AGENTS.md jest specyficzny dla projektu — architektura, konwencje, polecenia, ścieżki — i znajduje się w katalogu projektu.13 Jeśli coś ma obowiązywać wszędzie, należy użyć SOUL.md. Jeśli dotyczy projektu, AGENTS.md.
Jak uruchomić wiele instancji Hermes obok siebie?
Profile. Każdy profile otrzymuje własne HERMES_HOME, konfigurację, pamięć, sesje i PID gateway: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 LLMs?
Tak, przez ścieżkę niestandardowego punktu końcowego. Hermes działa z dowolnym serwerem zgodnym z OpenAI: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan albo własnym.2 Konfigurację dla poszczególnych serwerów opisuje sekcja Niestandardowe i samoobsługowe punkty końcowe.
Dlaczego baner startowy pokazuje mniej narzędzi niż przewodnik przypisuje Hermes?
Przewodnik podaje 47 narzędzi / 20 toolsets z nadrzędnego rejestru architektury — to pełna liczba narzędzi, których kod źródłowy Hermes zawiera we wszystkich toolsets. Działająca instalacja pokazuje w banerze mniejszą liczbę (instalacja referencyjna użyta w tym przewodniku zgłasza 28 narzędzi), ponieważ Hermes podczas uruchamiania włącza tylko domyślny zestaw toolset. Wiele toolsets jest opcjonalnych: adaptery gateway komunikacyjnego, automatyzacja przeglądarki, cięższe stosy scrapingowe i kilka wyspecjalizowanych integracji muszą być jawnie wymienione pod toolsets: w ~/.hermes/config.yaml, zanim zostaną załadowane. Łączna liczba w rejestrze = „co jest dostępne po włączeniu”. Łączna liczba w banerze = „co faktycznie załadował obecny profile”. Użyć hermes tools --list, aby zobaczyć, które toolsets są aktywne, a które dostępne, ale wyłączone. Poszczególne toolsets można przełączać w czasie działania za pomocą /tools enable <name> i /tools disable <name> (wyłączenie wyzwala reset sesji, aby agent odbudował manifest narzędzi z nowym kształtem).
Jak Hermes obsługuje awaryjne przełączenie modelu, gdy główny dostawca zawiedzie?
Skonfigurować blok fallback_model w config.yaml:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Gdy główny dostawca zawiedzie (limit szybkości, błąd serwera, błąd uwierzytelniania), Hermes przełącza się na model awaryjny w trakcie sesji bez utraty historii rozmowy. Dzieje się to najwyżej raz na sesję.
Czy agent może z czasem ulepszać własne skills?
Tak — to część Hermes Agent określana jako „self-improving”. Agent może tworzyć, aktualizować i usuwać skills za pomocą narzędzia skill_manage. Gdy rozpracuje nietrywialny workflow, zapisuje podejście jako skill do przyszłego użycia.11 Agent tworzy skills po złożonych zadaniach (ponad 5 wywołań narzędzi), gdy napotka błędy i znajdzie działającą ścieżkę, gdy poprawią Państwo jego podejście albo gdy odkryje nietrywialny workflow.
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-07-01 | Przewodnik v1.10: v0.18.0 „The Judgment Release” (1 lipca 2026, tag v2026.7.1). Dodano sekcję „Co nowego w v0.18.0”: zamknięto pełny backlog P0/P1 (~692 pozycje); Mixture-of-Agents jako funkcja pierwszej klasy z oznaczonym wynikiem zespołowym dla każdego modelu i transmisją na żywo; kontrakty ukończenia — /goal weryfikuje własną pracę przez uruchamianie kontroli projektu; /learn (opis przepływu pracy → wielokrotnego użytku skill zgodny z CONTRIBUTING.md); /journey oś czasu pamięci/skill + desktopowy graf pamięci; równoległe rozdzielanie subagentów w tle (współbieżne delegowane zadania); Desktop Projects (projekt/repozytorium/ścieżka); gateway skalowany do zera z koordynacją opróżniania; Google Vertex AI (Gemini przez konta usług GCP, automatyczne odświeżanie OAuth2); /prompt kompozytor \$EDITOR. Źródło: wydania hermes-agent. |
22 |
| 2026-06-21 | Przewodnik v1.9: v0.17.0 „The Reach Release” (19 czerwca 2026, tag v2026.6.19). Dodano sekcję „Co nowego w v0.17.0”. Komunikacja: iMessage bez przekaźnika przez Photon Spectrum (hermes photon login, device-code OAuth), oficjalny adapter WhatsApp Business Cloud API (bez mostu), grupy SimpleX + załączniki, plugin platformy Raft. Modele: z-ai/glm-5.2 (1M), anthropic/claude-fable-5, laguna-m.1, nemotron-3-ultra, grok-composer-2.5-fast (xAI OAuth, 200k); domyślne xAI → grok-build-0.1; modele adaptacyjne Anthropic usuwają pole reasoning. Desktop/dashboard: subagenci w tle z aktywnymi oknami obserwacji (delegate_task(background=true)), pełny kreator profili, przebudowany Skills Hub, Automation Blueprints, bezpieczne logowanie 401, motywy VS Code Marketplace, interfejs po japońsku i tradycyjnym chińsku. Skills/narzędzia: edycja image-to-image w image_generate, atomowa partia operations dla memory, skill simplify-code, wartość logiczna write_approval (zastępuje write_mode). Architektura: handler elicitation MCP, podłączalny CronScheduler + Chronos, zakres Managed (/etc/hermes), przekaźnik Gateway-Gateway. Polecenia: /version, /billing, hermes curator run --consolidate (opt-in). Bezpieczeństwo: zamknięto obejście listy blokad shell-escape, adaptery zatwierdzania/gateway działają w trybie fail-closed, oczyszczono środowisko cron, sekrety są redagowane w zrzutach debugowania, filtrowanie eksfiltracji przez stdio MCP, aktualizacje CVE urllib3 + PyJWT. |
21 |
| 2026-06-08 | Przewodnik v1.8: v0.16.0 „The Surface Release” (5 czerwca 2026, tag v2026.6.5). Zmieniono tytuł przewodnika na v0.16 i dodano sekcję „Co nowego w v0.16.0”. Najważniejsze: Hermes nie jest już wyłącznie terminalowy. Natywna aplikacja Hermes Desktop (Electron, macOS/Linux/Windows) z instalacją jednym kliknięciem, samodzielną aktualizacją w aplikacji, czatem strumieniowym, przeciąganiem i upuszczaniem + wklejaniem obrazów ze schowka, paletą Cmd+K, archiwum/wyszukiwaniem sesji, wyborem modelu na pasku stanu, połączeniem z remote-gateway przez bezpieczne WebSocket (OAuth lub użytkownik/hasło, hosty per profil, międzyprofilowe linki @session) oraz pełnym tłumaczeniem na chiński uproszczony przez typowane i18n. Panel administracyjny w przeglądarce (web dashboard → pełna administracja): włączanie/wyłączanie katalogu MCP, zarządzanie poświadczeniami, tworzenie webhooków/hooków, konfiguracja pamięci, kontrolki gateway, strona System z kontrolą przed aktualizacją + Debug Share, nowa strona Channels oraz podłączalne uwierzytelnianie (użytkownik/hasło, samodzielnie hostowany OIDC, hermes dashboard register). Nowe polecenia: /undo [N] (CLI/TUI/komunikatory), konfigurowalny domyślny interfejs (cli/tui, --cli), ujednolicone /model w TUI + nakładka Sessions, hermes portal, hermes prompt-size, hermes sessions optimize. Nowe modele: deepseek-v4-flash, MiniMax-M3 (kontekst 1M), qwen3.7-plus, gemini-3.5-flash; pierwszoklasowe xAI Grok OAuth w launcherze desktopowym; rozmyty wybór modelu; godzinowe odświeżanie katalogu. Skills: odchudzony zestaw domyślny (Spotify → natywny plugin, Linear → hermes mcp install linear, usunięto martwe skills), bramka trafności environments: (kanban/docker/s6), domyślnie zaufany tap NVIDIA/skills, progresywne (zakresowe) ujawnianie narzędzi MCP/pluginu. Bezpieczeństwo: CVE-2026-48710 (Starlette BadHost) przypięte do ≥1.0.1; kontrole SSRF poza pętlą zdarzeń; token bearer Bedrock usunięty ze środowiska podprocesu; bws_cache.json chroniony przy odczycie; docker restart/stop/kill dodane do niebezpiecznych wzorców; sanityzacja niewidocznego Unicode. Zamknięto 2 P0 + 62 P1 (16 z tagiem bezpieczeństwa). |
20 |
| 2026-05-31 | Przewodnik v1.7.1: v0.15.1 (29 maja 2026, 01:12 UTC) — poprawka Velocity. Hotfix tego samego dnia po Velocity; przypięta linia tagu v2026.5.29. Naprawia pętlę przeładowania 401 w dashboardzie wpływającą na wdrożenia w trybie loopback. Docker nie traktuje już --insecure jako ustawienia domyślnego — należy jawnie ustawić HERMES_DASHBOARD_INSECURE=1, aby ponownie je włączyć. Surowe polecenia MCP (npx, npm, node) ponownie poprawnie rozwiązują się wewnątrz kontenerów Docker. Wyświetlane są etykiety źródeł na stronie Skills i boczny pasek kategorii. Workery Kanban reagują czysto na SIGTERM, zamiast osierocać procesy. Katalog Skills.sh rozszerzono z 858 do 19 932 wpisów przez odkrywanie sitemap. 28 commitów, 21 scalonych PR-ów, 9 kontrybutorów. v0.15.2 (29 maja 2026, 13:37 UTC) — poprawka pakietowania Velocity. Naprawia dystrybucje wheel i sdist tak, aby zawierały manifesty plugin.yaml, dzięki czemu instalacje z PyPI działają bez bocznego dołączania drzewa źródeł. Hotfix wyłącznie pakietowy, 4 kontrybutorów. |
23 |
| 2026-05-28 | Przewodnik v1.7: Dodano v0.15.0 (28 maja 2026) — wydanie The Velocity (tag v2026.5.28). Najważniejsze: masywna runda refaktoryzacji + nowe prymitywy orkiestracji. Refaktoryzacja codebase: run_agent.py zmniejszono o 76% (16 083 → 3 821 linii), rozdzielając kod na 14 spójnych modułów. Multi-agent Kanban v2: automatyczny podział celów wysokiego poziomu na podzadania, topologia roju do równoległej koordynacji workerów, nadpisania modeli per zadanie, zaplanowane zadania, zarządzanie worktree. Wydajność: dodatkowa sekunda zaoszczędzona przy zimnym starcie; 47% mniej wywołań funkcji na konwersację; session_search przeprojektowane jako 4 500× szybsze po usunięciu zależności LLM (i wyeliminowaniu jej kosztu API). Bezpieczeństwo: obrona Promptware chroni przed prompt injection klasy Brainworm w trzech punktach kontroli bezpieczeństwa; integracja Bitwarden Secrets Manager zastępuje wiele kluczy API per provider jednym tokenem bootstrap. Pakiety skill: ładowanie wielu skills jednocześnie jednym poleceniem slash. Orkiestrator sesji TUI: zarządzanie wieloma sesjami w jednym oknie terminala. Nowi providerzy: Krea 2 (Medium/Large) i obsługa pluginu FAL do generowania obrazów; runda integracji xAI dodaje plugin wyszukiwania w sieci, upstream OAuth, wykrywanie wycofanych modeli i naturalne pauzy TTS. Statystyki: 1 302 commity, 747 scalonych PR-ów, 321 kontrybutorów społeczności. Zgodnie z release notes GitHub, poprawka z tego samego lub następnego dnia dotyczy pętli przeładowania 401 w dashboardzie, jawnej zmiennej środowiskowej dla --insecure w Docker, rozwiązywania surowych poleceń MCP w Docker (npx, npm, node), przywrócenia strony Skills, obsługi SIGTERM przez workery Kanban oraz pełnego katalogu Skills z 19 932 wpisami przez sitemap. |
24 |
| 2026-05-21 | Przewodnik v1.6: Dodano v0.14.0 (16 maja 2026) — wydanie The Foundation. Najważniejsze: lżejsza baza instalacji/runtime oraz szersze powierzchnie providerów, gateway, mediów i weryfikacji. Dodano SuperGrok OAuth z grok-4.3 i kontekstem 1M, zgodny z OpenAI hermes proxy dla providerów OAuth, pierwszoklasowe x_search, pip install hermes-agent, leniwe instalacje zależności, start szybszy o ~19 s, 180× szybsze wywołania browser CDP, LINE + SimpleX Chat dla 22 platform komunikacyjnych, Microsoft Teams end-to-end, /handoff, /subgoal, natywne przyciski doprecyzowania w Telegram/Discord, uzupełnianie historii Discord, vision_analyze na surowych pikselach, stopkę weryfikatora mutacji plików per tura, semantyczną diagnostykę LSP przy każdym zapisie, ujednolicone video_generate, computer_use przez cua-driver dla providerów innych niż Anthropic, klikalne URL-e OSC8, obsługę Zed ACP Registry, router OpenRouter Pareto Code, NovitaAI, runtime app-server Codex, zaufany tap huggingface/skills, 9 opcjonalnych skills, plugin ctx.llm / tool_override, wyszukiwanie w sieci Brave/DDGS, zmianę nazwy Qwen Cloud, natywną betę Windows oraz zamknięcia 12 P0 / 50 P1. |
19 |
| 2026-05-07 | Przewodnik v1.5: Dodano v0.13.0 (7 maja 2026) — wydanie The Tenacity. Najważniejsze: trwała tablica multi-agent Kanban (heartbeat, odzyskiwanie, wykrywanie zombie, bramka halucynacji, max_retries per zadanie, tablice wielu projektów), która zmienia roje w prymityw pierwszej klasy zamiast wzorca delegowania. Polecenie /goal blokuje agenta na celu między turami (wzorzec pętli Ralph jako polecenie slash). Nowe narzędzie video_analyze, najpierw Gemini, 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 zh-Hans. Google Chat jako 20. platforma komunikacyjna przez wzorzec podłączalnego adaptera; IRC + Microsoft Teams przeniesione na ten sam wzorzec. ProviderProfile ABC + plugins/model-providers/ dla podłączalnych providerów zewnętrznych bez zmian w rdzeniu. Automatyczne wznawianie sesji po restarcie gateway, /update i przeładowaniu pliku źródłowego. Przepisane Checkpoints v2 z projektem jednego magazynu, realnym przycinaniem i ograniczeniami dyskowymi. Osiem zamknięć P0 w bezpieczeństwie: domyślnie włączona redakcja sekretów, obejście DM między serwerami Discord (CVSS 8.1), odrzucanie nieznajomych w WhatsApp + wyciszanie auto-czatu, TOCTOU MCP OAuth, TOCTOU auth.json w CLI, dolna granica SSRF w przeglądarce, skanowanie prompt injection w cron, redakcja hermes debug share. Linting po zapisie dla Python/JSON/YAML/TOML, tryb cron no_agent tylko dla skryptów, allowlisty platform w Slack/Telegram/Mattermost/Matrix/DingTalk, usprawnienia MCP (transport SSE, przekazywanie OAuth, tagi MEDIA obrazów). Statystyki od v0.12.0: 864 commity, 588 scalonych PR-ów, 829 zmienionych plików, 295 kontrybutorów społeczności, 282 zamknięte issue (13 P0, 36 P1). |
18 |
| 2026-05-06 | Przewodnik v1.4: Dodano v0.12.0 (30 kwietnia 2026) — wydanie The Curator. Najważniejsze: autonomiczny Curator działający w tle na liczniku cron gateway (domyślny cykl 7-dniowy), który ocenia bibliotekę skills według rubryki, usuwa martwe skills, konsoliduje powiązane skills i zapisuje raporty z każdego uruchomienia — Hermes utrzymuje sam siebie między aktywnymi sesjami. Pętlę samodoskonalenia ulepszono o ocenianie według rubryki, preferencję aktywnych aktualizacji, właściwe dziedziczenie runtime i zakresowe toolsets ograniczone do pamięci oraz skills. Czterej nowi providerzy inferencji: GMI Cloud, Azure AI Foundry, MiniMax OAuth i Tencent Tokenhub. LM Studio awansował do funkcji pierwszej klasy. Manifesty zdalnego katalogu modeli aktualizują się teraz automatycznie bez wydań. Dwie nowe platformy komunikacyjne: Microsoft Teams (19., przez podłączalną architekturę gateway) i Tencent Yuanbao (18., natywny tekst + media). Natywne Spotify przez PKCE OAuth z dołączonym skill; plugin Google Meet do połączeń i transkrypcji; provider Piper local TTS. ComfyUI v5 + TouchDesigner-MCP przeniesiono z opcjonalnych do dołączanych domyślnie. Nowe skills: Humanizer, claude-design, design-md, airtable. Dodatki CLI: tryb jednorazowy hermes -z, preflight hermes update --check, polecenie slash /reload-skills, podłączalne style wskaźnika zajętości. Widoczny zimny start TUI skrócony o ~57% dzięki leniwej inicjalizacji agenta i leniwym importom. Bezpieczeństwo: redakcja sekretów domyślnie wyłączona, aby zapobiegać uszkodzeniu payloadów; bezwzględna blocklist dla nieodwracalnych poleceń. Statystyki: 1 096 commitów, 550 scalonych PR-ów, 213 kontrybutorów społeczności. |
17 |
| 2026-04-25 | Przewodnik v1.3: Dodano v0.11.0 (23 kwietnia 2026) — wydanie The Interface. Pełne przepisanie interaktywnego TUI w React/Ink z backendem Python JSON-RPC (tui_gateway); przyklejony kompozytor, streaming na żywo z obsługą schowka OSC-52, stabilne klawisze wyboru, pasek stanu ze stoperem per tura i gałęzią git, potwierdzenie /clear, preset jasnego motywu, nakładka obserwowalności uruchamiania subagentów. Podłączalna architektura transportu — konwersję formatów i transport HTTP wyodrębniono do agent/transports/, aby uprościć integrację providerów. Natywne AWS Bedrock przez Converse API. Pięć nowych ścieżek inferencji: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth i Vercel ai-gateway. GPT-5.5 przez Codex OAuth — nowy flagowy model OpenAI jest teraz dostępny przez ChatGPT Codex OAuth bez osobnego klucza API. QQBot (17. platforma komunikacyjna) z konfiguracją przez skan QR i streamingiem. Rozszerzenie powierzchni pluginów: polecenia slash, dispatch narzędzi, blokowanie wykonania, transformacja wyników. /steer <prompt> — korekty agenta w trakcie działania, które wstrzykują notatkę widoczną dla działającego agenta po kolejnym wywołaniu narzędzia, bez przerywania tury ani psucia cache promptu. Shell hooks podłączają skrypty jako hooki cyklu życia bez pluginów Python. Tryb bezpośredniego dostarczania webhooków przekazuje payloady prosto do czatu platformy, omijając agenta przy rozsyłaniu. Inteligentniejsze delegowanie z rolami orkiestratora, konfigurowalną głębokością spawn i koordynacją plików. Dashboard zyskuje system pluginów, zmianę motywu na żywo, i18n i responsywność mobilną. Statystyki od v0.9.0: 1 556 commitów, 761 scalonych PR-ów, 1 314 zmienionych plików, 224 174 wstawienia, 29 kontrybutorów społeczności. |
25 |
| 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 w sieci Firecrawl, generowanie obrazów FAL / FLUX 2 Pro, OpenAI TTS, automatyzacja przeglądarki Browser Use) bez dodatkowych kluczy API. Opt-in per narzędzie przez nowe pole konfiguracji use_gateway. Runtime preferuje gateway względem bezpośrednich kluczy API, gdy skonfigurowane są oba warianty. Usunięto zmienną środowiskową HERMES_ENABLE_NOUS_MANAGED_TOOLS. Hermes Agent CLI pozostaje na licencji MIT i jest w pełni darmowy. |
26 |
| 2026-04-13 | Przewodnik v1.1: Dodano funkcje v0.8.0 i v0.9.0. Lokalny web dashboard, tryb /fast, platformy iMessage + WeChat (łącznie 16), monitorowanie procesów w tle (watch_patterns), podłączalny context engine, hermes backup/hermes import, Termux/Android, providerzy xAI + MiMo + Google AI Studio + Qwen, polecenie /debug, kompleksowe utwardzenie bezpieczeństwa. |
15 16 |
| 2026-04-10 | Przewodnik v1.0: Pierwsze wydanie obejmujące Hermes Agent v0.7.0. Uwierzytelnianie providerów, konfiguracja, CLI, polecenia slash, narzędzia, skills, pamięć, gateway, cron, MCP, kompresja, architektura, migracja OpenClaw, rozwiązywanie problemów, FAQ. |
Źródła
-
Nous Research, README projektu “Hermes Agent” na GitHub. Główne źródło opisu produktu (samodoskonalący się agent, obsługa wielu dostawców, messaging gateway, backendy terminalowe, ewolucja skill, harmonogram cron, delegowanie) oraz jednowierszowego polecenia “Quick Install”. ↩↩↩
-
Nous Research, “AI Providers” w dokumentacji Hermes Agent. Główne źródło pełnej listy dostawców, metod uwierzytelniania dla każdego dostawcy (Nous Portal OAuth, kod urządzenia Codex, typy tokenów GitHub Copilot, trzy metody uwierzytelniania Anthropic, chińscy dostawcy AI, routing Hugging Face, niestandardowe endpointy), trzech ścieżek uwierzytelniania (klucz API w
.env, OAuth przezhermes model, niestandardowy endpoint wconfig.yaml), składni polecenia slash/model(w tymcustom:name:model), szablonów konfiguracji Ollama/vLLM/SGLang/llama.cpp/LM Studio, instrukcji sieciowych WSL2, łańcucha wykrywania długości kontekstu, konfiguracji modelu fallback, inteligentnego routingu modeli oraz nazwanych niestandardowych dostawców. Wszystkie nazwy zmiennych środowiskowych specyficzne dla dostawców, typy tokenów, nadpisania bazowego URL i identyfikatory modeli w tym wpisie pochodzą z tej strony. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Architecture” w przewodniku deweloperskim Hermes Agent. Główne źródło diagramu przeglądowego systemu, struktury katalogów, przepływu danych przez ścieżki sesji CLI i wiadomości gateway, trzech trybów API (
chat_completions,codex_responses,anthropic_messages), rozwiązywania dostawcy przezruntime_provider.py, utrwalania sesji przez SQLite + FTS5, listy platform messaging gateway, źródeł odkrywania systemu pluginów, izolacji profili oraz sześciu zasad projektowych. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Configuration” w przewodniku użytkownika Hermes Agent. Główne źródło struktury katalogu konfiguracji, reguły
config.yamlvs.env(„config.yamlwins for non-secret settings”), łańcucha priorytetów konfiguracji (argumenty CLI → env → config.yaml → .env → wartości domyślne), ustawień kompresji kontekstu (blokcompression.*zthreshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url), progów presji budżetu (70% ostrożność, 90% ostrzeżenie), limitów czasu streamingu z automatycznym dostosowaniem dla dostawcy lokalnego oraz pełnego bloku konfiguracji modeli pomocniczych (auxiliary:ze slotamivision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). Ograniczenie dostawcy"main"do slotów pomocniczych/kompresji/fallback również pochodzi z tej strony. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Migrate from OpenClaw” w przewodnikach Hermes Agent. Źródło przepływu migracji OpenClaw → Hermes. ↩↩
-
Nous Research, “CLI Commands Reference” w dokumentacji referencyjnej Hermes Agent. Główne źródło każdego polecenia najwyższego poziomu CLI 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 updateorazhermes uninstall. Wszystkie flagi podpoleceń, opisy opcji, zachowanie puli poświadczeń, składnia filtrowania logów, flagi migracji OpenClaw, polecenia zarządzania profilami i polecenia instalacji usług w tym wpisie pochodzą z tej strony. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Installation” w przewodniku wprowadzającym Hermes Agent. Główne źródło jednowierszowego polecenia instalatora, zachowania instalatora (wymagania wstępne, obsługa platform, automatyczne wykrywanie Termux, wymagania Windows/WSL2), tabeli opcjonalnych dodatków, ręcznych kroków instalacji oraz poleceń weryfikacyjnych. ↩↩↩↩↩↩↩
-
Nous Research, “CLI Commands Reference” — zob. szczególnie sekcję
hermes dump, która opisuje format wyjścia polecenia (nagłówek, środowisko, tożsamość, model, terminal, klucze API, funkcje, usługi, obciążenie, nadpisania konfiguracji) oraz jego przeznaczenie przy udostępnianiu diagnostyki. ↩ -
Nous Research, “Slash Commands Reference” w dokumentacji referencyjnej Hermes Agent. Główne źródło każdego polecenia slash wymienionego w tym wpisie, architektury
COMMAND_REGISTRY, podziału między CLI a messaging, dynamicznych poleceń slash dla skill, szybkich poleceń wconfig.yaml, zachowania dopasowywania prefiksów oraz poleceń dostępnych wyłącznie w messaging (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Tools & Toolsets” w przewodniku użytkownika Hermes Agent. Główne źródło omówienia kategorii narzędzi, poleceń użycia toolset, sześciu backendów terminalowych (local, docker, ssh, singularity, modal, daytona), konfiguracji kontenerów (cpu, memory, disk, persistent), wzmacniania bezpieczeństwa kontenerów, zarządzania procesami w tle API oraz obsługi sudo. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, “Skills System” w przewodniku użytkownika Hermes Agent. Główne źródło progressive disclosure, formatu
SKILL.md, skill specyficznych dla platformy, aktywacji warunkowej (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), skill zarządzanych przez agenta za pomocą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 skill. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Persistent Memory” w przewodniku użytkownika Hermes Agent. Główne źródło limitów znaków
MEMORY.md/USER.md, wzorca zamrożonej migawki, akcji narzędzia pamięci (add,replace,remove), tego, co zapisywać, a co pomijać, porównania pamięci z wyszukiwaniem sesji oraz listy ośmiu zewnętrznych dostawców pamięci (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). ↩↩↩↩↩↩↩↩ -
Nous Research, “Personality & SOUL.md” w przewodniku użytkownika Hermes Agent. Główne źródło zachowania
SOUL.md(znajduje się wHERMES_HOME, nigdy nie jest nadpisywany, slot nr 1 w prompcie systemowym, skanowany pod kątem bezpieczeństwa przed włączeniem), rozróżnienia SOUL.md vs AGENTS.md, listy wbudowanych osobowości (14 osobowości odhelpfuldohype), niestandardowych osobowości wconfig.yaml, wzorca nakładki/personalityoraz pełnej kolejności składania stosu promptów. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Use MCP with Hermes” oraz MCP Config Reference w przewodnikach i dokumentacji referencyjnej Hermes Agent. Źródło formatu konfiguracji
mcp_servers:wconfig.yamlz polamicommand,args,env. ↩ -
Hermes Agent v0.8.0 Release Notes. 8 kwietnia 2026. Automatyczne powiadomienia o procesach w tle, darmowy MiMo v2 Pro w Nous Portal, przełączanie
/modelna żywo między platformami, natywny dostawca 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 pluginów. ↩↩↩↩↩ -
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 dostawcy xAI + Xiaomi MiMo, pluggable context engine, ujednolicona obsługa proxy, wzmacnianie 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 scalonych PR, 24 kontrybutorów. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 Release Notes. 30 kwietnia 2026. „The Curator release”. Autonomiczny Curator działający w tle, który ocenia, przycina i konsoliduje bibliotekę skill w domyślnym 7-dniowym cyklu uruchamianym przez znacznik cron gateway. Ulepszona pętla samodoskonalenia: ocenianie na podstawie rubryki, preferencja aktywnych aktualizacji, prawidłowe dziedziczenie runtime, zakresowe toolsets ograniczone do pamięci i skill. Czterech nowych dostawców inferencji: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio awansowane do pierwszej klasy. Manifesty zdalnego katalogu modeli aktualizują się automatycznie bez wydań. Dwie nowe platformy messaging: Microsoft Teams (19., przez pluggable gateway architecture) oraz Tencent Yuanbao (18., natywne tekst + media). Natywne Spotify przez PKCE OAuth z dołączonym skill; plugin Google Meet do połączeń i transkrypcji; lokalny dostawca TTS Piper. ComfyUI v5 + TouchDesigner-MCP dołączone domyślnie. Nowe skills: Humanizer, claude-design, design-md, airtable. CLI: tryb jednorazowy
hermes -z, preflighthermes update --check, polecenie slash/reload-skills, pluggable style wskaźnika zajętości. Zimny start TUI skrócony o ~57% dzięki leniwej inicjalizacji. Bezpieczeństwo: redagowanie sekretów domyślnie wyłączone; twarda blocklist dla nieodwracalnych poleceń. Statystyki od v0.11.0: 1 096 commitów, 550 scalonych PR, 213 kontrybutorów społeczności. Zob. także: tag wydania v2026.4.30. ↩↩↩ -
Hermes Agent v0.13.0 Release Notes. 7 maja 2026. „The Tenacity release”. Wieloagentowa tablica Kanban z heartbeat, reclaim, wykrywaniem zombie, bramką halucynacji,
max_retriesper zadanie i tablicami wielu projektów. Polecenie slash/goaldo blokowania celu między turami (prymityw pętli Ralph) z konfigurowalnym budżetem tur. Narzędzievideo_analyze, Gemini-first ze zgodną multimodalną rozszerzalnością. Dostawca TTS xAI Custom Voices z klonowaniem głosu. i18n w 7 językach: zh-Hans, ja, de, es, fr, uk, tr (CLI + wiadomości gateway; dokumentacja tylko zh-Hans). Google Chat jako 20. platforma messaging przez wzorzec pluggable adapter z generycznymi hookami pluginówenv_enablement_fn/cron_deliver_env_var; IRC i Microsoft Teams zmigrowane do tego samego wzorca.ProviderProfileABC +plugins/model-providers/dla pluggable dostawców zewnętrznych. Automatyczne wznawianie sesji po restarcie gateway,/updatei przeładowaniu plików źródłowych. Checkpoints v2 jako przepisanie na pojedynczy magazyn z rzeczywistym przycinaniem, ograniczeniami dyskowymi i bez osieroconych shadow repo. Osiem zamknięć bezpieczeństwa P0: domyślnie włączone redagowanie sekretów, obejście Discord cross-guild DM (CVSS 8.1, allowlist ról ograniczone do guild), WhatsApp domyślnie odrzuca nieznajomych + nigdy nie odpowiada w self-chat, TOCTOU zapisu poświadczeń MCP OAuth, TOCTOUauth.jsonCLI w writerach poświadczeń, dolna granica SSRF metadanych chmury przeglądarki w routingu hybrydowym, skanowanie złożonego promptu cron (w tym treści skill) pod kątem prompt injection, redagowanie zawartości logówhermes debug sharew czasie przesyłania. Dodatkowe godne uwagi elementy: linting po zapisie dla Python/JSON/YAML/TOML, tryb watchdog cronno_agenttylko dla skryptów, allowlist 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 scalonych PR, 829 zmienionych plików, 295 kontrybutorów społeczności, 282 zamknięte issues (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 Release Notes. 16 maja 2026. „The Foundation release”. Od v0.13.0: 808 commitów, 633 scalone PR, 1 393 zmienione pliki, 165 061 wstawień, 545 zamkniętych issues (12 P0, 50 P1) i 215 kontrybutorów społeczności. Dodaje SuperGrok OAuth z grok-4.3 i kontekstem 1M,
hermes proxy,x_search, pakietowanie PyPI, leniwe zależności, współdzielony między sesjami 1-godzinny cache promptu Claude, start szybszy o ~19 s, wywołania browser CDP szybsze 180x, LINE i SimpleX Chat dla 22 platform messaging,/handoff, natywne przyciski doprecyzowania, backfill historii Discord,vision_analyzena surowych pikselach, stopkę weryfikatora mutacji plików per tura, diagnostykę semantyczną LSP, ujednoliconevideo_generate,computer_usecua-driver, linki OSC8, obsługę Zed ACP Registry, router OpenRouter Pareto Code, NovitaAI, runtime Codex app-server,huggingface/skills, pluginctx.llm,tool_override, wyszukiwanie Brave/DDGS, wzmacnianie niebezpiecznych poleceń,/subgoal, zmianę nazwy Qwen Cloud, natywną betę Windows, łącznie 16 locale oraz szerokie aktualizacje dokumentacji/testów. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.16.0 release notes, „The Surface Release”, tag
v2026.6.5, opublikowane 2026-06-06T00:55:58Z (data taga wydania 5 czerwca 2026); najnowsze na 2026-06-08. Nowy natywny Hermes Desktop (Electron, macOS/Linux/Windows; połączenie z remote-gateway przez bezpieczne WebSocket z OAuth albo użytkownik/hasło; zdalne hosty per profil; linki@sessionmiędzy profilami; interfejs po chińsku uproszczonym przez typowane i18n,display.language). Web dashboard rozszerzony do pełnego panelu administracyjnego (przełączniki katalogu MCP, zarządzanie poświadczeniami, tworzenie webhook/hook, konfiguracja pamięci, kontrolki gateway, strona System z check-before-update + Debug Share, strona Channels; pluggable auth, w tym self-hosted OIDC ihermes dashboard register). Nowe polecenia:/undo [N], konfigurowalny domyślny interfejs (cli/tui,--cli), TUI/model+ nakładka Sessions,hermes portal,hermes prompt-size,hermes sessions optimize. Nowe modele:deepseek-v4-flash,MiniMax-M3(kontekst 1M),qwen3.7-plus,gemini-3.5-flash; xAI Grok OAuth; fuzzy picker; cogodzinne odświeżanie katalogu. Skills: lżejszy zestaw domyślny, bramka trafnościenvironments:, domyślnie zaufany tapNVIDIA/skills, progressive tool disclosure, poprawka fałszywego sukcesu MCP false-OAuth-success. Bezpieczeństwo: CVE-2026-48710 (Starlette BadHost) przypięte do ≥1.0.1, sprawdzenia SSRF poza pętlą zdarzeń, token bearer Bedrock usunięty ze środowiska podprocesu,bws_cache.jsonchroniony przy odczycie, dodatki do niebezpiecznych wzorcówdocker restart/stop/kill, sanityzacja niewidocznego Unicode; zamknięte 2 P0 + 62 P1 (16 oznaczonych jako security). Marketingowe ujęcie release notes (liczby PR/commitów, „none of this existed a week ago”) wyłączone; zapisano tylko konkretne fakty o funkcjach/wersjach powiązane z tagiem. Weryfikacja w bieżącej sesji: 8 czerwca 2026. ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.17.0 release notes, „The Reach Release”, tag
v2026.6.19, 19 czerwca 2026; najnowsze na 2026-06-21. Messaging: iMessage przez Photon Spectrum (kod urządzenia OAuth,hermes photon login, bez przekaźnika Mac); oficjalny adapter WhatsApp Business Cloud API (zastępuje proces bridge); grupy SimpleX, natywne załączniki, porcjowanie tekstu, auto-accept; Raft jako dołączony plugin platformy. Modele/dostawcy:z-ai/glm-5.2(kontekst 1M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(xAI OAuth, kontekst 200k); domyślny xAI →grok-build-0.1; adaptacyjne modele Anthropic używają nowoczesnego kontraktu thinking (bez polareasoning). CLI/slash:/version,/billing,hermes photon login,hermes curator run --consolidate(opt-in), GUIhermes model, klonowanie profili. Desktop: okna obserwacji background subagent (delegate_task(background=true)), selektor modelu Composer, skróty z możliwością ponownego przypisania, natywne powiadomienia OS, szkice per wątek, motywy VS Code Marketplace, japoński + tradycyjny chiński interfejs. Dashboard: pełny kreator profili, globalny przełącznik profilu, przebudowa Skills Hub ze skanem bezpieczeństwa, Automation Blueprints, bezpieczne logowanie (401 za OAuth). Skills/narzędzia:image_generatedo edycji image-to-image między dostawcami, atomowa partiamemoryoperations, skillsimplify-codedo równoległego przeglądu, booleanwrite_approvalzastępujewrite_mode. Architektura: background subagents (uchwyt zwracany natychmiast, wynik wraca jako tura), handler elicitation MCP do potwierdzania w trakcie wywołania narzędzia, późno podłączające się narzędzia MCP ujawniane między turami, pluggable CronScheduler + zarządzany cron Chronos, zakres Managed (/etc/hermesprzypięty przez administratora), przekaźnik Gateway-Gateway. Bezpieczeństwo: zamknięte obejście denylist shell-escape, fail-closed przy brakującym module zatwierdzania i adapterach gateway z własną polityką, oczyszczone env skryptów zadań cron, sekrety redagowane w debug dumps, metadane hosta ukryte przed publicznym statusem, screening wzorców eksfiltracji MCP stdio, podbicia CVE urllib3 + PyJWT. Marketingowe ujęcie wydania (liczby commitów/PR) wyłączone. Weryfikacja w bieżącej sesji: 21 czerwca 2026. ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.0 release notes (tag
v2026.7.1), 1 lipca 2026 — „The Judgment Release”. Przegląd priorytetowego backlogu (zamknięte każde P0/P1, ~692 elementy w dwanaście dni); Mixture-of-Agents wybieralne jako model pierwszej klasy we wszystkich interfejsach, z pełnym wyjściem każdego modelu referencyjnego renderowanym jako osobny oznaczony blok i strumieniowaniem odpowiedzi na żywo; kontrakty ukończenia dla/goal(agent weryfikuje własną pracę przez uruchamianie kontroli projektu); polecenie/learn(przekształca dowolną rzecz w wielokrotnego użytku skill przez jej opisanie, z automatyczną zgodnością z CONTRIBUTING.md); wizualna oś czasu pamięci/skill/journeyz edycją i desktopowym grafem pamięci; fan-out background subagent (wiele współbieżnych delegowanych zadań); Desktop Projects (model projekt/repo/lane); gateway scale-to-zero z koordynacją drain; obsługa Google Vertex AI (Gemini przez konta usług GCP, automatyczne odświeżanie tokenu OAuth2); polecenie/prompt$EDITOR. Weryfikacja w bieżącej sesji 1 lipca 2026 (PST) względem strony wydań GitHub; v0.18.0 jest najnowszym wydaniem. ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.15.1 release notes oraz Hermes Agent v0.15.2 release notes. v0.15.1 (29 maja 2026, 01:12 UTC) to hotfix Velocity z tego samego dnia: poprawka pętli przeładowań 401 dashboardu w trybie loopback; Docker wymaga teraz jawnego
HERMES_DASHBOARD_INSECURE=1; gołe polecenia MCP (npx,npm,node) rozwiązują się w kontenerach Docker; przywrócono pigułki źródeł strony Skills + pasek boczny kategorii; workery Kanban reagują na SIGTERM; katalog Skills.sh urósł z 858 do 19 932 wpisów przez sitemap. 28 commitów, 21 scalonych PR, 9 kontrybutorów. v0.15.2 (29 maja 2026, 13:37 UTC) to hotfix wyłącznie pakietowy, który dołącza manifestyplugin.yamldo dystrybucji wheel i sdist, aby instalacje PyPI działały bez sideloadingu źródeł. 4 kontrybutorów. ↩ -
Hermes Agent v0.15.0 release notes oraz strona wydań Hermes Agent. „The Velocity release”, tag
v2026.5.28. Statystyki: 1 302 commity, 747 scalonych PR, 321 kontrybutorów społeczności. Refaktoryzujerun_agent.pyo 76% (16 083 → 3 821 wierszy w 14 modułach). Dodaje wieloagentową platformę Kanban (automatyczna dekompozycja, topologia swarm, nadpisania modelu per zadanie, zaplanowane zadania, zarządzanie worktree).session_searchprzeprojektowane jako 4 500× szybsze, z usuniętą zależnością LLM. Obrona promptware przed prompt injection klasy Brainworm w trzech punktach kontroli bezpieczeństwa. Integracja Bitwarden Secrets Manager zastępuje wiele kluczy API per dostawca jednym tokenem bootstrap. Pakiety skill pozwalają ładować wiele skill jednym poleceniem slash. Orchestrator sesji TUI do zarządzania wieloma sesjami w jednym oknie terminala. Obsługa Krea 2 (Medium/Large) i pluginu FAL do generowania obrazów. Runda integracji xAI dodaje plugin wyszukiwania webowego, upstream OAuth, wykrywanie wycofanych modeli i naturalne pauzy TTS w wyjściu głosowym. Wydanie poprawkowe przywołane na GitHub rozwiązuje pętlę przeładowań 401 dashboardu, wymóg jawnej zmiennej envHERMES_DASHBOARD_INSECURE=1dla Docker--insecure, rozwiązywanie gołych poleceń MCP (npx,npm,node) w Docker, renderowanie strony Skills, obsługę SIGTERM przez worker Kanban, pełny katalog Skills z 19 932 wpisami przez sitemap oraz mały pakiet poprawek dostarczania.md, bezpieczeństwa sond gateway, redagowania URL w web, zdolności vision kanban-worker i domyślnych obserwacji hindsight. ↩ -
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); pluggable architektura transportu (agent/transports/); natywny AWS Bedrock przez Converse API; 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 messaging z konfiguracją przez skan QR; rozszerzona powierzchnia pluginów (polecenia slash, dispatch narzędzi, blokowanie wykonania, transformacja wyników);/steer <prompt>dla podpowiedzi agenta w trakcie działania, które wstrzykują kontekst po następnym wywołaniu narzędzia bez zrywania cache promptu; hooki shell dla zdarzeń cyklu życia bez pluginów Python; tryb bezpośredniego dostarczania webhook, który przekazuje payloady prosto do czatu platformy; inteligentniejsze delegowanie z rolami orchestrator + konfigurowalną głębokością spawn + koordynacją plików; system pluginów dashboardu, przełączanie motywu na żywo, i18n, responsywność mobilna. Statystyki od v0.9.0: 1 556 commitów · 761 scalonych PR · 1 314 zmienionych plików · 224 174 wstawienia · 29 kontrybutorów społeczności. Zob. także: tag wydania Hermes Agent v0.11.0 GitHub. ↩↩↩ -
Hermes Agent v0.10.0 Release Notes. 16 kwietnia 2026. „The Tool Gateway Release”. Integracja Nous Tool Gateway dla płacących subskrybentów Nous Portal — zarządzany dostęp do wyszukiwania webowego Firecrawl, generowania obrazów FAL / FLUX 2 Pro, OpenAI TTS oraz automatyzacji przeglądarki Browser Use bez dodatkowych kluczy API. Opt-in per narzędzie przez nowe pole konfiguracji
use_gateway. Runtime preferuje gateway zamiast bezpośrednich kluczy API, gdy skonfigurowane są oba. Pełna integracja zhermes toolsihermes status. Zastępuje przestarzałą zmienną envHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementacja: @jquesnelle (emozilla). Hermes Agent CLI pozostaje na licencji MIT i jest w pełni open source; gateway jest integracją z istniejącym produktem subskrypcyjnym Portal, a nie paywallem na CLI. Zob. także: Nous Portal z cenami subskrypcji i rejestracją. ↩↩↩