Skip to main content

Hermes

Hermes (Nous Research) is a command-line / TUI coding agent. It talks to any OpenAI-compatible provider, so it rides the ZeroSignal network like any other tool — and unlike the GUI apps in this section, the proxy can configure it for you.

There are two ways to wire it up, depending on where you are:

  • Already have Hermes installed? Run zs-proxy connect hermes — one command, done.
  • Setting Hermes up for the first time? Hermes won't run until you pick a provider, and its setup wizard has a Custom Endpoint option — point that at the proxy.

Either way, do the shared setup from How-to guides first: the proxy must be running (zs-proxy proxy start) and funded (zs-proxy fund).

The quick way: zs-proxy connect hermes

Hermes is a first-class connect target, so if it's already installed you don't touch a config file:

zs-proxy connect hermes # configure Hermes to use the proxy
zs-proxy connect hermes --model qwen3-coder # ...and pin a default model
zs-proxy connect hermes --print # preview the merged config, write nothing

This merges a zerosignal provider into your existing ~/.hermes/config.yaml (backing the original up to config.yaml.bak) and makes it the active provider — your other Hermes settings are preserved. What it writes:

providers:
zerosignal:
base_url: http://127.0.0.1:9376/v1 # your live proxy endpoint
api_key: zerosignal-local # placeholder — the proxy ignores it
type: openai
# default_model: qwen3-coder # only when you pass --model
model:
provider: zerosignal
# default: qwen3-coder # only when you pass --model
info

connect hermes configures Hermes even if it can't auto-detect the install — naming the tool explicitly is enough. So you can run it before or after installing Hermes; just re-run it any time to reset Hermes back to the proxy.

Confirm it took, then start a session:

hermes model # should show the active provider as "zerosignal"
hermes --tui # start Hermes (or plain `hermes`) and send a message

During Hermes' own setup wizard

If you're installing Hermes fresh, its first-run flow makes you choose a provider before you can chat — and one of the choices is a Custom Endpoint for "vLLM, SGLang, Ollama, or any OpenAI-compatible API." That's the proxy.

Install Hermes

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

(Or grab the Hermes Desktop installer from the Hermes site.)

Run the provider wizard

hermes model # interactive provider picker
# or: hermes setup — the full configuration wizard

Choose "Custom Endpoint" and enter the proxy

When the wizard asks for a provider, pick Custom Endpoint, then supply:

  • Base URL: http://localhost:9376/v1
  • API key: anything non-empty — the proxy ignores it

Pick or type a model id from the network (see Picking a model).

Start a session

hermes --tui # or plain `hermes`

Send a message; the first reply confirms the whole path — encrypt, pay, route — is working.

info

Prefer not to click through the wizard? Skip it and run zs-proxy connect hermes instead — it writes the same Custom Endpoint provider for you.

Troubleshooting

SymptomFix
connect says Hermes wasn't detectedName it explicitly: zs-proxy connect hermes configures the named tool even without detection. It writes ~/.hermes/config.yaml.
Hermes is using the wrong providerRun hermes model and select zerosignal, or check that model.provider: zerosignal in ~/.hermes/config.yaml.
Connection refused / can't reach the endpointThe proxy isn't running or the base URL is wrong. Confirm with curl http://localhost:9376/healthz and start it with zs-proxy proxy start.
wallet_unfunded / payment errorsAdd funds with zs-proxy fund — see Wallet & funding.

What's next