Outcome
What you will configure
Hermes Agent can use any provider that implements the OpenAI-compatible /v1/chat/completions interface. ScriptEngine provides that interface at a single base URL, so the setup requires only an endpoint, an API key and a model ID.
Provider: Custom endpoint
Base URL: https://scriptengine.org/v1
API key: your private sk-se-… key
Model: a model ID currently available in ScriptEngine
Hermes queries the authenticated ScriptEngine /v1/models endpoint during setup. Choose an ID from that result rather than copying an old model name from another tutorial.
Step 1
Check the requirements
Before installing Hermes, prepare:
- A supported system: Windows 10/11, Apple-silicon macOS, Linux or Windows through WSL2.
- A ScriptEngine account with available credits.
- The full ScriptEngine API key shown after provisioning. It begins with
sk-se-. - A current model ID from the ScriptEngine model list.
Use placeholders in screenshots and shell history. Do not put the real key in a Git repository, support ticket, public prompt or shared configuration example.
Hermes’ official installer handles Python, Node.js and its other managed dependencies. Linux requires Git, curl and xz-utils; see the official installation guide for distro-specific details.
Step 2
Install Hermes CLI
Choose your operating system. These are the current commands published by Nous Research.
Linux or Apple-silicon macOS
Open Terminal and run the official shell installer:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Reload the shell when installation finishes:
source ~/.bashrc # Use ~/.zshrc when your shell is zsh
The current Hermes platform matrix lists Apple-silicon macOS as supported and Intel macOS as unsupported.
Native Windows 10 or 11
Open PowerShell or Windows Terminal and run:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
The installer does not require administrator rights. Open a new terminal after it finishes so the updated user PATH is available.
Windows through WSL2
Run the Linux installer inside the WSL terminal—not in Windows PowerShell:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
Native Windows and WSL2 installations have separate Hermes data directories. Configure ScriptEngine in the environment where you plan to run Hermes.
Step 3
Verify the installation
Run Hermes’ built-in diagnostic before adding the provider:
hermes doctor
If the shell reports hermes: command not found, start a new terminal first. On Linux or macOS, reload ~/.bashrc or ~/.zshrc and confirm that ~/.local/bin is on your PATH.
Step 4
Connect Hermes to ScriptEngine
Run the full provider wizard outside an active Hermes chat:
hermes model
Then enter the following values:
| Hermes prompt | Value |
|---|---|
| Provider | The option whose label begins Custom endpoint |
| API base URL | https://scriptengine.org/v1 |
| API key | Your complete sk-se-… key |
| API compatibility mode | Chat Completions |
| Model name | Choose an ID returned by the authenticated model probe |
| Context length | Leave blank for auto-detection unless ScriptEngine publishes a verified limit |
| Display name | ScriptEngine |
Hermes has changed the parenthetical wording beside Custom endpoint between releases. It may mention entering a URL manually or self-hosted / VLLM endpoints; both labels lead to the custom base-URL flow used here.
Do not append /chat/completions. Do not enter the homepage URL without /v1. The correct value is exactly https://scriptengine.org/v1.
Hermes saves the provider, base URL and model in config.yaml, while the current installer stores the secret separately in ~/.hermes/.env (or the native Windows Hermes home). The settings survive restarts.
Alternative
Configure it manually
Use this fallback when the interactive wizard cannot run. Edit ~/.hermes/config.yaml and ~/.hermes/.env on Linux, macOS or WSL2. Native Windows uses the equivalent files under %LOCALAPPDATA%\hermes.
HERMES_CUSTOM_SCRIPTENGINE_ORG_API_KEY=YOUR_SCRIPTENGINE_API_KEY
model:
provider: custom
default: YOUR_MODEL_ID
base_url: https://scriptengine.org/v1
api_key: ${HERMES_CUSTOM_SCRIPTENGINE_ORG_API_KEY}
api_mode: chat_completions
Replace both placeholders locally. Restrict access to the .env file and never commit it or publish a screenshot containing the key.
For current Hermes versions, use model.base_url for a custom provider. Do not rely on the legacy OPENAI_BASE_URL environment-variable route for this setup.
Step 5
Test the connection
Start a one-shot Hermes chat:
hermes chat -q "Reply with exactly: ScriptEngine connected"
A normal model response containing ScriptEngine connected confirms that Hermes loaded the custom provider, authenticated the key and reached the selected model.
Optional: test the API key directly
This request checks the ScriptEngine key and model-list endpoint independently of Hermes:
export SCRIPTENGINE_API_KEY="YOUR_SCRIPTENGINE_API_KEY"
curl https://scriptengine.org/v1/models \
-H "Authorization: Bearer $SCRIPTENGINE_API_KEY"
$env:SCRIPTENGINE_API_KEY = "YOUR_SCRIPTENGINE_API_KEY"
curl.exe https://scriptengine.org/v1/models `
-H "Authorization: Bearer $env:SCRIPTENGINE_API_KEY"
A successful JSON model list confirms that the key and base service are reachable. Remove the temporary environment variable or close that terminal when finished.
During a chat
Switch ScriptEngine models
Once the custom provider exists, type /model inside a Hermes session to choose among configured providers and models:
/model
Choose the saved ScriptEngine provider, then select a discovered model. The terminal command hermes model performs provider setup; the in-chat command only switches among providers and models that are already configured.
Fix common errors
Troubleshooting
hermes: command not found- Open a new terminal. On Linux or macOS, reload your shell profile and verify that
~/.local/binis on PATH. Then runhermes doctor. - HTTP 401 or “invalid API key”
- Re-run
hermes modeland replace the key with the complete activesk-se-…value. Check for spaces, quotes copied into the value, or a rotated/revoked key. - HTTP 404 or endpoint not found
- Confirm the base URL is exactly
https://scriptengine.org/v1. A duplicated/v1/v1or an appended/chat/completionsin the base-URL field will route incorrectly. - Model not found
- Use the exact model ID—not its display label. Check the ScriptEngine Models list or call
/v1/modelswith the API key, then update the provider throughhermes model. - Hermes still uses the old provider
- Exit the active chat, run
hermes modelagain, and start a fresh session. Inside a session, use/modeland choose the saved ScriptEngine provider explicitly.
Verification
Official sources
Hermes is developed by Nous Research; ScriptEngine is a separate custom API provider. Version-sensitive installation and configuration details were checked against these official sources: