Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.gravitex.ai/llms.txt

Use this file to discover all available pages before exploring further.

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:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc   # or source ~/.bashrc
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.
hermes model
Pick Custom endpoint (self-hosted / VLLM / etc.) and fill in:
FieldValue
API Base URLhttps://api.gravitex.ai/v1
API KeyYour GravitexAI key (sk-...)
Model nameclaude-sonnet-4-6 (or any GravitexAI model ID)
Settings persist to ~/.hermes/config.yaml.

Option B — Edit config.yaml manually

Open ~/.hermes/config.yaml and add:
model:
  provider: custom
  model: claude-sonnet-4-6
  base_url: https://api.gravitex.ai/v1
  api_key: sk-your-gravitexai-key
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

export OPENAI_BASE_URL=https://api.gravitex.ai/v1
export OPENAI_API_KEY=sk-your-gravitexai-key
hermes model   # the Custom Endpoint wizard will pick them up

Option D — Multiple named endpoints

Declare several endpoints in advance and switch at runtime:
custom_providers:
  - name: gravitex
    base_url: https://api.gravitex.ai/v1
    key_env: GRAVITEX_API_KEY
    api_mode: chat_completions
  - name: gravitex-anthropic
    base_url: https://api.gravitex.ai/anthropic
    key_env: GRAVITEX_API_KEY
    api_mode: anthropic_messages
Switch with hermes model, or set model.provider: gravitex directly.

6. Run & Verify

hermes setup     # first-run wizard (skip if already configured)
hermes doctor    # health check: validates key & /models
hermes start     # launch the gateway
You can now chat with Hermes from any connected channel — CLI, Telegram, Discord, Slack, etc.
Use caseModel IDNotes
Complex tasksclaude-sonnet-4-6Best tool calling & long tasks
Codingdeepseek-v3-2-251201Great code, great price
Daily chatgpt-5.5Strong all-rounder
Long contextgemini-3.1-pro-previewMassive context window
Low latencyclaude-haiku-4-5-20251001Fast responses
Heavy reasoningclaude-opus-4-7Complex reasoning, algorithms / logic
Browse all models in the GravitexAI marketplace.

8. Messaging Channels

PlatformConfig location
Telegramchannels.telegram.token
Discordchannels.discord.bot_token
Slackchannels.slack.bot_token
WhatsAppQR scan
Signallinked-device QR
EmailSMTP / IMAP
CLIhermes chat

9. Extensions

Skills

hermes skills search kubernetes
hermes skills install openai/skills/k8s
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:
mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

Sandbox backends

sandbox:
  backend: docker   # local / docker / ssh / singularity / modal

10. Commands

CommandPurpose
hermes setupFirst-run wizard
hermes modelChoose / switch provider & model
hermes doctorHealth check
hermes start / stop / restartControl the gateway
hermes chatTerminal chat
hermes skillsManage skills
hermes logs --followTail logs
hermes updateUpgrade

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, openai/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.