Skip to main content

1. Overview

Hermes Agent is an open-source (MIT) self-hosted AI agent built by Nous Research — the agent that grows with you. It is neither a coding copilot tethered to an IDE, nor a chatbot wrapper around a single API. It runs on your own server, remembers what it learns, and becomes more capable the longer it runs. With GravitexAI (OpenAI-compatible API) one key gives Hermes access to GPT, Claude, Gemini, DeepSeek and 400+ other leading models.

Persistent Memory

Remembers projects and solutions across sessions

Auto Skill Synthesis

Generates reusable Skills from experience

Multi-platform Reach

Telegram / Discord / Slack / WhatsApp / Signal / Email / CLI

Real Sandboxing

Local / Docker / SSH / Singularity / Modal backends

2. Core Capabilities

  • Persistent memory — local vector store retains conversations and project knowledge
  • Learning loop — successful solutions are crystallised into reusable Skills
  • Scheduled automations — describe cron jobs in natural language
  • Delegated subagents — isolated terminals & Python RPC, no context pollution
  • Full web control — browser automation, vision, image generation, TTS
  • Real sandboxes — local, Docker, SSH, Singularity, Modal

3. Prerequisites

  • Create an API key in the GravitexAI console
  • A server or workstation: Linux / macOS / WSL2 / Android (Termux)
  • Windows users: PowerShell (early beta)
Hermes Agent requires a model with ≥ 64K tokens of context. Claude, GPT, Gemini and DeepSeek all qualify.

4. Install

One command handles everything:
All dependencies are placed under ~/.hermes/hermes-agent. No manual pip install needed.

5. Configure GravitexAI

Hermes Agent connects to any OpenAI-compatible service via its Custom Endpoint path.
Pick Custom endpoint (self-hosted / VLLM / etc.) and fill in: Settings persist to ~/.hermes/config.yaml.

Option B — Edit config.yaml manually

Open ~/.hermes/config.yaml and add:
When base_url is set, Hermes ignores provider and calls the endpoint directly. The API key is read from model.api_key, falling back to the OPENAI_API_KEY environment variable.

Option C — Environment variables

Option D — Multiple named endpoints

Declare several endpoints in advance and switch at runtime:
Switch with hermes model, or set model.provider: gravitex directly.

6. Run & Verify

You can now chat with Hermes from any connected channel — CLI, Telegram, Discord, Slack, etc. Browse all models in the GravitexAI marketplace.

8. Messaging Channels

9. Extensions

Skills

Hermes automatically synthesises Skills from your sessions and reuses them later — the feature that sets it apart from most agent frameworks.

MCP servers

Add MCP tools to ~/.hermes/config.yaml:

Sandbox backends

10. Commands

11. Troubleshooting

  • Verify api_key in ~/.hermes/config.yaml has no stray characters
  • When several *_API_KEY env vars exist, remember Hermes scopes each key to its own base URL
  • chat_completions mode: base_url must end with /v1
  • For native Claude protocol use https://api.gravitex.ai/anthropic with api_mode: anthropic_messages
Hermes requires ≥ 64K context. Use claude-sonnet-4-6, gpt-5.4, gemini-3.1-pro-preview, etc.
config.yaml is the single source of truth. If old OPENAI_BASE_URL lingers in .env, run hermes setup to trigger the migration.