Hermes Agent

May 17, 2026 · View on GitHub

The self-improving AI agent built by Nous Research.

Hermes Agent is an autonomous AI agent with a built-in learning loop. It creates skills from experience, improves them during use, searches its own past conversations for context, and builds a deepening model of who you are across sessions. It runs on a $5 VPS, a GPU cluster, or serverless infrastructure -- not tied to your laptop.

Current version: v0.14.0 (v2026.5.16) -- released May 16, 2026.


What Hermes Agent Is

Hermes Agent is not a coding copilot or a chatbot wrapper. It is a multi-platform, multi-provider autonomous agent that:

  • Executes tool calls sequentially or concurrently via ThreadPoolExecutor (up to 8 parallel workers)
  • Manages long-running conversations with context compression and session lineage
  • Persists memory, skills, and session history in SQLite across restarts
  • Streams responses token-by-token from the model to the user interface (v0.3.0)
  • Runs as a CLI (with an Ink-based TUI invoked via hermes --tui), a messaging gateway across released platforms (Telegram, Discord, Slack, WhatsApp, Signal, DingTalk, SMS, Mattermost, Matrix, Webhook, Email, Home Assistant, Feishu/Lark, WeCom, Weixin, BlueBubbles iMessage, QQBot, Yuanbao, IRC, Microsoft Teams, Google Chat, LINE, and SimpleX Chat), or an IDE integration (VS Code, Zed, JetBrains via ACP)
  • Exposes an OpenAI-compatible /v1/chat/completions API server with REST cron job management (v0.4.0), plus a local subscription proxy for OAuth-backed providers such as Claude Pro, ChatGPT Pro, and SuperGrok (v0.14.0)
  • Delegates work to isolated subagents and spawns scheduled cron jobs
  • Exports training trajectories for SFT data generation and RL fine-tuning

The agent core is AIAgent in run_agent.py. All other subsystems -- gateway, CLI, ACP server, cron scheduler -- use this single agent core, so behavior is consistent across all platforms.


Key Features

Unified Streaming (v0.3.0)

Real-time token-by-token delivery in the CLI and all gateway platforms. Responses stream as they are generated instead of arriving as a single block. Supported on Telegram, Discord, Slack, and the interactive CLI. WhatsApp, Signal, Email, and Home Assistant fall back to non-streaming automatically (no message-edit API). Implemented in _interruptible_streaming_api_call() with graceful fallback to non-streaming on any error.

Closed Learning Loop

  • Persistent memory -- agent-curated facts written to MEMORY.md with periodic nudges to persist durable knowledge
  • Pluggable memory providers -- the built-in memory layer can now be extended with released memory-provider plugins such as Honcho and other provider backends (v0.7.0)
  • Autonomous skill creation -- after complex tasks (5+ tool calls), the agent creates reusable skill documents
  • Skill self-improvement -- skills are patched during use when they are outdated, incomplete, or wrong
  • Autonomous Curator -- hermes curator reviews agent-created skills, consolidates overlap, archives stale entries, writes per-run reports, protects pinned skills, and in v0.13.0 adds archive/prune/list-archived workflows plus synchronous manual runs by default
  • FTS5 session search -- full-text search across all past sessions with LLM summarization for cross-session recall
  • Honcho integration -- dialectic user modeling that builds a persistent model of who you are across sessions

Multi-Platform Messaging Gateway

Telegram, Discord, Slack, WhatsApp, Signal, DingTalk, SMS (Twilio), Mattermost, Matrix, Webhook, Email (IMAP/SMTP), Home Assistant, Feishu/Lark, WeCom, Weixin, BlueBubbles (iMessage), QQBot, Yuanbao, IRC, Microsoft Teams, Google Chat, LINE, and SimpleX Chat run from one gateway process. Unified session management, media attachments, voice transcription, cron delivery, and per-platform tool configuration are shared across adapters. v0.14.0 adds LINE and SimpleX Chat, plus Microsoft Graph webhook and Teams pipeline foundations.

Plugin Architecture (v0.3.0, expanded in v0.11.0-v0.14.0)

Drop Python files into ~/.hermes/plugins/ to extend Hermes with custom tools, commands, hooks, dashboard tabs, gateway platforms, provider backends, image-generation backends, and video-generation backends. No forking required. v0.14.0 adds plugin-side ctx.llm calls through the active provider/credentials and a tool_override flag for replacing built-in tools.

Ink-based TUI (v0.11.0)

Run hermes --tui (or set HERMES_TUI=1) to launch the new React/Ink interactive CLI backed by a Python JSON-RPC tui_gateway process. Sticky composer, live token streaming with OSC-52 clipboard, status bar with per-turn stopwatch and git branch, /clear confirm, light-theme preset, and a subagent spawn observability overlay.

Pluggable Transport Layer (v0.11.0)

Format conversion and HTTP transport are abstracted into agent/transports/ behind a ProviderTransport ABC. Concrete transports -- AnthropicTransport, ChatCompletionsTransport, ResponsesApiTransport, BedrockTransport -- own message conversion, tool conversion, kwargs assembly, and response normalization. Streaming, retries, prompt cache, and credential refresh remain on AIAgent.

Provider Flexibility

Use any model without code changes. Supported providers:

  • Nous Portal -- first-class provider; 400+ models via Nous inference (https://inference-api.nousresearch.com/v1)
  • Nous Tool Gateway (v0.10.0) -- paid Nous Portal subscribers can route web search, image generation, TTS, and browser automation through their subscription with per-tool use_gateway control
  • OpenRouter -- 200+ models (https://openrouter.ai/api/v1)
  • Anthropic (native, v0.3.0) -- direct API with Claude Code credential auto-discovery, OAuth PKCE flows, and native prompt caching
  • OpenAI -- GPT-5 variants via chat completions or Codex Responses API
  • AWS Bedrock (v0.10.0, expanded in v0.11.0) -- native Converse API provider built on the new transport ABC, with IAM authentication, model discovery, inference profiles (us. / global. prefixes), and Guardrails support
  • NVIDIA NIM (v0.11.0) -- native NIM provider for hosted and self-hosted endpoints
  • Arcee AI (v0.11.0) -- direct provider for Arcee's hosted models
  • Step Plan (v0.11.0) -- direct provider integration
  • Google Gemini CLI OAuth (v0.11.0) -- inference via your Google account using HERMES_GEMINI_PROJECT_ID
  • Vercel ai-gateway (v0.11.0 native path) -- pricing, attribution, and dynamic model discovery on top of Vercel's catalog
  • Codex OAuth (GPT-5.5) (v0.11.0) -- OpenAI's GPT-5.5 reasoning model via your ChatGPT Codex login, with live model discovery in the picker
  • GMI Cloud (v0.12.0) -- first-class API-key provider
  • Azure AI Foundry (v0.12.0) -- OpenAI-style and Anthropic-style Azure endpoints with auto-detection
  • LM Studio (v0.12.0) -- first-class local provider with auth, doctor checks, reasoning support, and live /models
  • MiniMax OAuth (v0.12.0) -- PKCE browser login without a programmatic API key
  • Tencent Tokenhub (v0.12.0) -- direct provider integration
  • GitHub Copilot (v0.4.0) -- OAuth auth, 400k context, token validation
  • Alibaba Cloud / DashScope (v0.4.0) -- DashScope v1 runtime
  • Kilo Code (v0.4.0) -- direct API-key provider
  • OpenCode Zen / OpenCode Go (v0.4.0) -- provider backends
  • Hugging Face (v0.5.0) -- HF Inference API with curated agentic model picker and live /models probe
  • DeepSeek -- direct API-key provider (https://api.deepseek.com/v1)
  • z.ai/GLM, Kimi/Moonshot, MiniMax -- direct API-key providers
  • Custom endpoints -- any OpenAI-compatible API

Switch with hermes model -- no code changes, no lock-in.

Native Integrations (v0.12.0)

  • Spotify -- seven OAuth-backed tools for playback, devices, queue, search, playlists, albums, and library operations, plus a bundled skill and setup wizard
  • Google Meet -- bundled plugin for joining calls, transcribing, speaking, and follow-up workflows
  • Piper TTS -- native local TTS provider through the new tts.providers.<name> registry
  • ComfyUI and TouchDesigner-MCP -- promoted to bundled skills by default

v0.14.0 Foundation Release

  • Native Windows early beta -- PowerShell installer, native subprocess paths, taskkill-based process management, portable Git Bash bootstrap, and Windows-specific terminal/tooling fixes.
  • Python package status -- the source release is versioned as hermes-agent 0.14.0, but PyPI currently serves 0.13.0 (verified May 18, 2026). Use the git installer for v0.14.0 until PyPI publishes 0.14.0.
  • Subscription proxy -- hermes proxy exposes OAuth-backed providers through an OpenAI-compatible local endpoint for tools such as Codex, Aider, Cline, and VS Code Continue.
  • New tools and diagnostics -- x_search, computer_use, write-time LSP diagnostics, pixel-preserving vision_analyze, pluggable video_generate, and a per-turn file-mutation verifier.

OpenAI-Compatible API Server (v0.4.0)

Expose Hermes as an /v1/chat/completions and /v1/responses endpoint with a /api/jobs REST API for cron job management. Hardened with input limits, field whitelists, SQLite-backed response persistence across restarts, CORS origin protection, and Idempotency-Key support (v0.5.0). In v0.7.0 the API server added real-time tool progress streaming plus optional session continuity for chat-completions clients via the X-Hermes-Session-Id header. The API server exposes its own hermes-api-server toolset.

Credential Pools (v0.7.0)

Register multiple credentials for the same provider and let Hermes rotate within that provider before falling back elsewhere. Released v0.7.0 adds least_used pool selection, 401 refresh-and-rotate behavior, and smarter recovery that preserves pool state through fallback routing and restores the primary runtime on later turns.

Camofox Browser Backend (v0.7.0)

Hermes can route browser tools through a local Camofox anti-detection backend by setting CAMOFOX_URL. This adds persistent local browser sessions, VNC URL discovery for visual debugging, and local-backend browsing without the normal remote-backend private-URL restrictions.

@ Context References (v0.4.0)

Claude Code-style @file and @url context injection with tab completions in the CLI. Files and web pages are inserted directly into the conversation. Access is restricted to the workspace -- reading secrets outside the workspace is blocked.

MCP Server Management CLI (v0.4.0)

hermes mcp commands for installing, configuring, and authenticating MCP servers, with a full OAuth 2.1 PKCE flow for remote MCP servers. MCP servers are exposed as standalone toolsets and are configurable interactively in hermes tools.

Plugin Lifecycle Hooks (v0.5.0)

pre_llm_call, post_llm_call, on_session_start, and on_session_end hooks now fire in the agent loop and CLI/gateway, completing the plugin hook system. Plugins can also register slash commands and extend the TUI.

Nix Flake (v0.5.0)

Full uv2nix build, NixOS module with persistent container mode, auto-generated config keys from Python source, and suffix PATHs for agent-friendliness. See Installation for Nix installation details. Contributed by @alt-glitch.

Profiles — Multi-Instance Hermes (v0.6.0)

Run multiple isolated Hermes instances from the same installation. Each profile gets its own config, memory, sessions, skills, and gateway service. Create with hermes profile create, target a single command with hermes -p <name> ..., or set the sticky default with hermes profile use <name>. Token locks prevent credential collisions between profiles. See Configuration for details.

MCP Server Mode (v0.6.0)

Expose Hermes sessions to MCP-compatible clients (Claude Desktop, Cursor, VS Code, etc.) via hermes mcp serve. In the released v0.6.0 surface, Hermes serves MCP over stdio; Streamable HTTP is part of Hermes' MCP client support, not the serve command.

Docker Container (v0.6.0)

Official Dockerfile for running Hermes Agent in a container. Supports both CLI and gateway modes with volume-mounted config.

Fallback Provider Chain (v0.6.0)

Configure multiple inference providers with automatic failover via fallback_providers in config.yaml. When the primary provider returns errors or is unreachable, Hermes automatically tries the next provider in the chain.

Concurrent Tool Execution (v0.3.0)

Multiple independent tool calls run in parallel via ThreadPoolExecutor (max 8 workers), significantly reducing latency for multi-tool turns. Interactive tools (e.g. clarify) force sequential execution. Path-scoped tools (read_file, write_file, patch) run concurrently only when targeting independent paths. Message and result ordering is preserved when reinserting tool responses into conversation history.

Context Compression

ContextCompressor monitors token usage and compresses context when approaching the model's context limit (default threshold: 50% of the context window). The released v0.14.0 implementation exposes configurable first-turn protection and compression.protect_last_n (default: 20) for the recent-message floor. It summarizes the middle section via an auxiliary model call (call_llm(task="compression")) and sanitizes orphaned tool-call/result pairs. Session lineage is preserved via parent_session_id chains in the SQLite state store.

Six Terminal Backends

Local, Docker, SSH, Daytona, Singularity, and Modal. Daytona and Modal offer serverless persistence -- the environment hibernates when idle and wakes on demand, costing nearly nothing between sessions.

Persistent Shell Mode (v0.3.0)

Local and SSH terminal backends maintain shell state across tool calls -- cd, environment variables, and aliases persist within a session.

Smart Approvals (v0.3.0)

Codex-inspired approval system that learns which commands are safe and remembers your preferences. /stop kills the current agent run immediately.

Voice Mode (v0.3.0)

Push-to-talk in the CLI, voice notes in Telegram and Discord, Discord voice channel support, and local Whisper transcription via faster-whisper when the voice extra is installed. Configurable STT backends use the stt.enabled config flag.

MCP Integration

Native MCP client with stdio and HTTP transports, selective tool loading with utility policies, sampling (server-initiated LLM requests), and auto-reload when mcp_servers config changes. Tools are prefixed as mcp_<server>_<tool_name>.

ACP Integration (v0.3.0)

VS Code, Zed, and JetBrains connect to Hermes as an agent backend over stdio/JSON-RPC. Full slash command support. The hermes-acp entry point runs the ACP server.

PII Redaction (v0.3.0)

When privacy.redact_pii is enabled, personally identifiable information is automatically scrubbed before sending context to LLM providers.

Secret Redaction

agent/redact.py provides regex-based secret redaction for logs and tool output. It masks API keys (OpenAI, GitHub, Slack, Google, AWS, Stripe, SendGrid, HuggingFace, and others), env variable assignments containing secret names, JSON secret fields, Authorization headers, Telegram bot tokens, private key blocks, database connection string passwords, and E.164 phone numbers. Short tokens (< 18 chars) are fully masked; longer tokens preserve the first 6 and last 4 characters. Controlled via security.redact_secrets in config.yaml or HERMES_REDACT_SECRETS env var. A RedactingFormatter log handler applies redaction to all log output.

Research-Ready

Batch trajectory generation and trajectory compression for training datasets (batch_runner.py, agent/trajectory.py, and trajectory_compressor.py). Hermes can export ShareGPT-format traces for SFT data generation, evaluation, and debugging; model-training frameworks live in optional skills rather than a bundled Atropos runtime.

Skills Ecosystem

166 tracked skills (87 bundled + 79 optional) across 26+ categories in the current source tree. Compatible with the agentskills.io open standard. Skills support per-platform enable/disable, conditional activation based on tool availability, and prerequisite validation. The Skills Hub integrates with both ClawHub and skills.sh (v0.3.0).


Requirements

  • Python: 3.11 or newer (requires-python = ">=3.11" in pyproject.toml)
  • Operating Systems: Linux, macOS, WSL2, Android via Termux, and native Windows early beta. The browser dashboard's embedded /chat terminal pane remains WSL2-only because it depends on a POSIX PTY.
  • Git: Required by the installer

Key Python dependencies (from pyproject.toml):

PackagePurpose
openaiOpenAI-compatible API client
anthropic==0.86.0Native Anthropic API client (anthropic extra)
prompt_toolkitInteractive CLI TUI
richTerminal output formatting
pyyamlConfiguration file parsing
pydantic==2.12.5Data validation
firecrawl-py==4.17.0Web content extraction (firecrawl extra)
edge-tts==7.2.7Free text-to-speech (edge-tts extra)

Optional extras (install with pip install "hermes-agent[extra]"):

ExtraContents
messagingCore gateway dependencies for Telegram, Discord, Slack, and shared aiohttp-based adapters
voicePush-to-talk CLI and voice note transcription (faster-whisper, sounddevice)
mcpModel Context Protocol client
honchoHoncho AI user modeling
modal / daytonaServerless sandbox backends
acpACP IDE integration server
cronCron job scheduler
tts-premiumElevenLabs premium TTS
webWeb dashboard API and static UI
google / youtubeGoogle Workspace and YouTube skill dependencies
computer-useMCP client support for the cua-driver desktop backend
slackSlack Bolt + SDK (standalone, without full messaging)
matrixMatrix with E2E encryption (matrix-nio)
ptyPTY terminal backend (ptyprocess / pywinpty)
homeassistantHome Assistant integration (aiohttp)
smsSMS via Twilio (aiohttp)
dingtalkDingTalk enterprise messaging (dingtalk-stream)
feishuFeishu/Lark enterprise messaging (lark-oapi)
allAll of the above

Quick Install

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

Works on Linux, macOS, WSL2, and Android via Termux. For native Windows early beta, run the PowerShell installer from the installation guide. The installers handle Python, Node.js, dependencies, and the hermes command.

After installation:

source ~/.bashrc    # reload shell (or: source ~/.zshrc)
hermes              # start chatting

Getting Started

hermes              # Interactive CLI -- start a conversation
hermes model        # Choose your LLM provider and model
hermes tools        # Configure which tools are enabled (curses UI)
hermes setup        # Run the full setup wizard (configures everything at once)
hermes gateway      # Start the messaging gateway (Telegram, Discord, etc.)
hermes mcp          # Install, configure, and authenticate MCP servers (v0.4.0)
hermes logs         # View and follow structured log files (v0.8.0)
hermes claw migrate # Migrate settings and memories from OpenClaw
hermes doctor       # Diagnose configuration issues across all providers
hermes update       # Update to the latest version (with auto-restart for gateway)

CLI vs Messaging Quick Reference

Hermes has two entry points: start the terminal UI with hermes, or run the gateway and talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or other platforms. Once you are in a conversation, many slash commands are shared across both interfaces.

ActionCLIMessaging platforms
Start chattinghermesRun hermes gateway setup + hermes gateway start, then send the bot a message
Start fresh conversation/new or /reset/new or /reset
Resume a named session/resume [session] (v0.5.0)/resume [session] (v0.5.0)
Change modelhermes model or /model (v0.8.0)hermes model or /model (v0.8.0)
Set a personality/personality [name]/personality [name]
Retry or undo the last turn/retry, /undo/retry, /undo
Compress context / check usage/compress, /usage, /insights [--days N]/compress, /usage, /insights [days]
Toggle config status bar/statusbar (v0.4.0)--
Queue a prompt without interrupting/queue [prompt] (v0.4.0)/queue [prompt] (v0.4.0)
Switch approval mode/permission [mode] (v0.4.0)/permission [mode] (v0.4.0)
Open an interactive browser session/browser (v0.4.0)--
Show live cost / usage in gateway--/cost (v0.4.0)
Approve / deny a pending command--/approve, /deny (v0.4.0)
Toggle tool output verbosity--/verbose (v0.5.0)
Browse skills/skills or /<skill-name>/skills or /<skill-name>
Interrupt current workCtrl+C or send a new message/stop or send a new message
Platform-specific status/platforms/status, /sethome

Documentation Index

Core

DocumentContents
developer-guide/architecture.mdComponent diagram, agent loop, context compression, session storage, internal design
changelog.mdReleased change history from v0.7.0 back through the earlier v0.x lines
user-guide/cli.mdCLI streaming behavior, keybindings, sessions, and interface usage

Setup & Configuration

DocumentContents
getting-started/installation.mdInstall methods, prerequisites, setup wizard
user-guide/configuration.mdComplete config.yaml reference, env vars, precedence rules
reference/cli-commands.mdAll CLI commands, slash commands, flags, environment variables
integrations/providers.mdLLM providers, credential resolution, routing, OAuth flows, and released provider setup guides
user-guide/features/tool-gateway.mdNous Tool Gateway, use_gateway, per-tool routing, and subscription-backed tool access (v0.10.0)
guides/aws-bedrock.mdNative AWS Bedrock setup, IAM auth, regions, Guardrails, and troubleshooting (v0.10.0)
user-guide/profiles.mdMulti-instance profiles, creation, switching, gateway per-profile (v0.6.0)

Features

DocumentContents
user-guide/features/plugins.mdPlugin architecture, discovery, registration, custom tools (v0.3.0)
user-guide/features/extending-the-dashboard.mdExtend the local web dashboard with custom tabs, bundles, widgets, and backend routes
user-guide/features/hooks.mdGateway, plugin, and shell lifecycle hooks
user-guide/features/provider-routing.mdProvider detection, prefix matching, smart routing, runtime selection
user-guide/features/browser.mdBrowser automation, Browserbase, Browser Use, CDP connect
user-guide/features/credential-pools.mdSame-provider credential rotation, pool strategies, fallback interplay
user-guide/features/fallback-providers.mdProvider failover chains, retry logic, health checks
user-guide/features/context-references.md@file and @url context injection, syntax, constraints
user-guide/features/code-execution.mdexecute_code, sandbox model, and when to prefer it over direct tools
user-guide/checkpoints-and-rollback.mdFilesystem checkpoints, rollback, git worktree isolation
user-guide/features/cron.mdScheduled task system, schedule formats, job management
user-guide/features/voice-mode.mdVoice interaction, STT/TTS providers, Discord voice channels (v0.3.0)
user-guide/features/batch-processing.mdBatch trajectory generation for SFT/RL training data
user-guide/features/delegation.mdSubagent spawning, task isolation, parallel workstreams
user-guide/features/api-server.mdOpenAI-compatible HTTP API, endpoints, compatible frontends
user-guide/features/honcho.mdHoncho-backed user modeling, session mapping, and identity controls
user-guide/features/image-generation.mdImage generation providers, prompts, routing, and constraints
user-guide/features/vision.mdVision analysis, multimodal input, and messaging-platform support
user-guide/features/tts.mdText-to-speech backends and delivery modes
user-guide/features/personality.mdPersonality system, SOUL.md, and identity layering
developer-guide/trajectory-format.mdTrajectory serialization and training-data format
user-guide/features/skins.mdCLI themes, custom skins, banner configuration

Skills & Tools

DocumentContents
user-guide/features/skills.mdSkills system, SKILL.md format, bundled and optional skills catalogs
user-guide/features/tools.mdBuilt-in tools reference with activation rules, parameters, and examples
reference/toolsets-reference.mdToolset definitions, compositions, per-platform configuration
user-guide/features/mcp.mdMCP client integration, stdio/HTTP/SSE transports, sampling, tool filtering

Security & Memory

DocumentContents
user-guide/security.mdFive-layer security model, PII redaction, approvals, tirith scanning, OAuth
user-guide/features/memory.mdBuilt-in memory files, external memory providers, and write/read behavior
user-guide/features/acp.mdACP server for IDE integration (VS Code, Zed, JetBrains)
user-guide/features/credential-pools.mdProvider-local key pools and recovery behavior

Gateway & Messaging

DocumentContents
user-guide/messaging/index.mdGateway architecture, setup flow, authorization, and supported platforms
user-guide/messaging/telegram.mdTelegram Bot API setup, forum topics, voice notes
user-guide/messaging/discord.mdDiscord bot setup, voice channels, threads
user-guide/messaging/slack.mdSlack Bolt + Socket Mode setup
user-guide/messaging/whatsapp.mdWhatsApp Baileys bridge setup
user-guide/messaging/signal.mdSignal via signal-cli-rest-api
user-guide/messaging/email.mdEmail via IMAP/SMTP
user-guide/messaging/matrix.mdMatrix with E2E encryption
user-guide/messaging/mattermost.mdMattermost team chat
user-guide/messaging/dingtalk.mdDingTalk enterprise messaging
user-guide/messaging/homeassistant.mdHome Assistant smart home
user-guide/messaging/feishu.mdFeishu/Lark enterprise messaging (v0.6.0)
user-guide/messaging/wecom.mdWeCom enterprise messaging (v0.6.0)
user-guide/messaging/qqbot.mdQQ Bot via the Official API v2 (v0.10.0)
user-guide/messaging/webhooks.mdWebhook adapter
user-guide/messaging/open-webui.mdOpen WebUI / API server frontend
user-guide/messaging/sms.mdSMS via Twilio

Getting Started & Operations

DocumentContents
getting-started/learning-path.mdSuggested onboarding sequence through install, config, skills, and messaging
getting-started/nix-setup.mdNix and Home Manager installation path
getting-started/updating.mdSafe upgrade flow, hermes update, and rollback guidance

Developer Guide

DocumentContents
developer-guide/architecture.mdTop-level internal map and subsystem boundaries
developer-guide/agent-loop.mdAIAgent turn lifecycle and orchestration internals
developer-guide/adding-tools.mdHow to create or extend built-in tools
developer-guide/adding-providers.mdHow to add inference providers and setup flows
developer-guide/creating-skills.mdSKILL authoring guide, structure, and conventions
developer-guide/extending-the-cli.mdCLI command wiring and extension points
developer-guide/context-compression-and-caching.mdCompression algorithm, session lineage, tuning
developer-guide/session-storage.mdSQLite schema, FTS5 search, session lifecycle
developer-guide/provider-runtime.mdRuntime resolution and provider selection internals
developer-guide/prompt-assembly.mdPrompt layering and system-prompt composition
developer-guide/tools-runtime.mdTool registry, dispatch, and safety model
developer-guide/gateway-internals.mdGateway orchestration and adapter lifecycle
developer-guide/cron-internals.mdScheduler internals and cron execution model
developer-guide/trajectory-format.mdTrajectory serialization and training-data format
developer-guide/memory-provider-plugin.mdReleased memory-provider plugin framework (v0.7.0)

Reference

DocumentContents
reference/cli-commands.mdCLI command reference by command family
reference/environment-variables.mdEnvironment variables by subsystem
reference/profile-commands.mdProfile-specific command quick reference
reference/slash-commands.mdComplete slash command reference
reference/tools-reference.mdReleased built-in tools reference
reference/toolsets-reference.mdToolset membership and gating rules
reference/skills-catalog.mdBundled skills catalog
reference/optional-skills-catalog.mdOfficial optional skills catalog
reference/mcp-config-reference.mdMCP config schema and transport options
reference/faq.mdCommon operational questions and troubleshooting

Contributing

DocumentContents
developer-guide/contributing.mdDev setup, contribution guide, PR process, priorities

Official documentation: hermes-agent.nousresearch.com/docs


Community


License

MIT -- see LICENSE.

Built by Nous Research.