Hermes Agent

Prerequisites

ItemValue
Hermes Agent version0.15.2
Config file~/.hermes/config.yaml
Env file~/.hermes/.env
Providerjoytoken
Model nameauto
API key envJOY_TOKEN_API_KEY

Hermes Agent supports both protocols through a named custom provider. Set transport to match the selected tab.

Step 1: Install

pipx install hermes-agent==0.15.2
hermes --version

Step 2: Set the API key and base URL

export JOY_TOKEN_API_KEY="sk-xxx"
export JOY_TOKEN_OPENAI_BASE_URL="https://api.joytokens.ai/openai/v1"

Create ~/.hermes/.env with the API key and keep the selected base URL in the shell or config file. Restrict the env file permissions:

mkdir -p ~/.hermes
printf '%s\n' 'JOY_TOKEN_API_KEY="sk-xxx"' > ~/.hermes/.env
chmod 600 ~/.hermes/.env

Step 3: Configure the provider

JOY_TOKEN_OPENAI_BASE_URL="${JOY_TOKEN_OPENAI_BASE_URL:-https://api.joytokens.ai/openai/v1}"
mkdir -p ~/.hermes
cat > ~/.hermes/config.yaml <<EOF
model:
provider: joytoken
default: auto
providers:
joytoken:
name: JoyToken
base_url: $JOY_TOKEN_OPENAI_BASE_URL
key_env: JOY_TOKEN_API_KEY
default_model: auto
transport: chat_completions
EOF

Step 4: Verify

hermes config check
hermes chat \
-q "Reply with exactly: pong" \
--provider joytoken \
-m auto \
-Q \
--ignore-rules

A successful response includes pong. Hermes may print Python package or security scanner warnings before the response; those warnings do not indicate a failed JoyToken request.

JoyToken Check

PlaceExpected result
LogsRequest path is /openai/v1/chat/completions
AuthBearer authentication
UsageTokens and credits are recorded

Common Errors

ErrorFix
401 UnauthorizedCheck JOY_TOKEN_API_KEY in ~/.hermes/.env
Hermes still calls another providerCheck model.provider: joytoken and the selected transport
Config check failsCheck providers.joytoken.key_env and base_url
No JoyToken logsCheck that the URL and transport match the selected protocol tab

Resources