Skip to main content

Documentation Index

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

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

Hermes Agent is Nous Research’s multi-provider AI agent framework. It supports OAuth, API key, and custom endpoint authentication, and can deliver to Telegram, Discord, Slack, WhatsApp, Signal, and more. The cleanest way to point Hermes at RuAPI is its “Custom endpoint” flow (OpenAI-compatible).

Prerequisites

1

RuAPI account + API key

Console → Tokens → create a sk-... key.
2

OS

Linux / macOS / WSL2 are well-supported. Native Windows is still early beta — use WSL2 if you hit rough edges.

Install Hermes

One-liner:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Reload your shell:
source ~/.bashrc    # or: source ~/.zshrc
Confirm:
hermes --version

Configure RuAPI

Launch the provider wizard:
hermes model
Follow these steps:
1

Pick 'Custom endpoint'

The wizard lists every built-in provider (Nous Portal / OpenRouter / Anthropic / OpenAI / …). Scroll to the bottom and select Custom endpoint (self-hosted / VLLM / etc.).
2

Base URL

https://www.ruapi.ai/v1
OpenAI-compatible protocol — the URL must end in /v1.
3

API key

Paste your RuAPI token sk-.... Hermes writes it to ~/.hermes/.env.
4

Name the endpoint

For example, RuAPI. Hermes creates a matching credential pool.
5

Choose a model

Common picks:
  • gpt-5 (OpenAI-family)
  • claude-sonnet-4-6 (callable via the OpenAI-compatible protocol on RuAPI)
  • deepseek-chat, kimi-k2.5, glm-5, etc.
Full list at the model gallery.
The wizard writes ~/.hermes/config.yaml:
model:
  provider: "custom"
  default: "gpt-5"
  base_url: "https://www.ruapi.ai/v1"

First call

Start the CLI:
hermes
Inside the prompt:
> In one sentence, introduce yourself.
A normal reply plus a matching RuAPI Console → Logs entry = success.

Switch models

Inside a session:
/model gpt-5
/model claude-opus-4-7
/model custom:any-model-id-on-RuAPI
Or exit and rerun hermes model to change the default.

Wire up Telegram / Discord / etc.

Once the model is configured, set up the gateway:
hermes gateway setup
hermes gateway start
Follow the prompts (Telegram bot token, etc.). Once the gateway is up, messages will route through RuAPI. See the Hermes Messaging Gateway docs for details.

Troubleshooting

  • Confirm the API key line in ~/.hermes/.env is your RuAPI token, copied correctly.
  • Check the key status in RuAPI Console → Tokens.
  • That model ID isn’t on RuAPI — check the model gallery.
  • base_url must end in /v1.
Hermes’s built-in Anthropic flow is built around Claude Max OAuth — overriding the base URL for third-party gateways isn’t reliable. Custom endpoint (OpenAI-compatible) is the cleanest path on RuAPI, and Claude models work over it too.
Hermes supports multiple providers. Run hermes model again to add another, and use /model mid-session to switch.
Function calling passes through the OpenAI-compatible protocol unchanged. If a tool call fails, first verify the model supports tool use (gpt-5, claude-sonnet-4-6 all do).

Advanced

  • Auxiliary models: Hermes uses an auxiliary model for vision / web summarization / MoA, defaulting to your main model. To save money, override it to a cheaper one — see Auxiliary Models.
  • Credential pools: round-robin keys and auto-failover — see Credential Pools.