Command-line agents
Hermes
Set up Nous Research's Hermes Agent to use NoviaHub as a custom OpenAI-compatible endpoint.
Hermes Agent is an AI agent from Nous Research. You can chat with it in the terminal or use its desktop app, and connect it to messaging platforms such as Telegram, Discord and Slack (hermes gateway setup) and to editors (hermes acp). In Hermes’ own words, it works with any OpenAI-compatible API endpoint: if a server implements /v1/chat/completions, Hermes can use it. NoviaHub connects as a “Custom endpoint”.
Prerequisites
Section titled “Prerequisites”- A NoviaHub account with an API key. See API keys.
- Funds in your account. See Wallet and top-ups.
Install Hermes Agent
Section titled “Install Hermes Agent”curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashIn PowerShell:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)These commands install the command line only. There is also a desktop app: a DMG for macOS (Apple Silicon only; Intel Macs are not supported) and an .appinstaller for Windows. See the installation docs.
After installing, reload your shell config (source ~/.bashrc or source ~/.zshrc); then you can run hermes.
Configure NoviaHub
Section titled “Configure NoviaHub”The examples use deepseek-v4-flash. Use either method.
Method 1: the hermes model wizard (recommended by Hermes)
Section titled “Method 1: the hermes model wizard (recommended by Hermes)”-
In a terminal (not inside a Hermes chat), run:
终端窗口 hermes model -
Choose “Custom endpoint (self-hosted / VLLM / etc.)”.
-
Answer the prompts:
Prompt Value API base URL https://noviahub.com/v1(include/v1)API key Your NoviaHub key (starts with sk-)Model name deepseek-v4-flash -
The wizard also asks for the API mode and the context length:
- API mode (the prompt reads “Select API compatibility mode”): choose Chat Completions (stored in the config as
chat_completions). - Context length: enter the model’s context length, shown as Context on the model’s page under Models & Pricing (
deepseek-v4-flashlisted 1,000,000 on 2026-09-28). See Notes for why.
- API mode (the prompt reads “Select API compatibility mode”): choose Chat Completions (stored in the config as
Method 2: edit the config file
Section titled “Method 2: edit the config file”-
Save the key. Run the command below; Hermes stores it in
~/.hermes/.env(every UPPER_SNAKE name goes to.env, never toconfig.yaml):终端窗口 hermes config set NOVIAHUB_API_KEY "sk-..." -
Edit
~/.hermes/config.yamland write (or change) themodelsection:~/.hermes/config.yaml model:default: deepseek-v4-flashprovider: custombase_url: https://noviahub.com/v1key_env: NOVIAHUB_API_KEYapi_mode: chat_completionscontext_length: 1000000Setting Purpose defaultThe default model ID. It must match the model ID on NoviaHub exactly. providercustom, meaning a custom endpoint.base_urlThe API address, including /v1:https://noviahub.com/v1.key_envThe environment variable that holds the key (instead of writing api_keydirectly).api_modeThe protocol; chat_completionsmeans Chat Completions. Optional: Hermes already uses Chat Completions for an address like NoviaHub’s.context_lengthThe model’s context length, stated explicitly; see Notes for why. -
Run
hermes.
Verify
Section titled “Verify”-
Run
hermes. It starts with a welcome banner showing the current model, available tools and skills. -
Send something easy to check, such as “Introduce yourself in one sentence.” A reply means the setup works.
-
If something is wrong, run
hermes doctorto check the configuration. -
Check the call and its cost under Usage Logs in the NoviaHub console.
Switch models
Section titled “Switch models”- Within a chat: type
/model custom:<model ID>, for example/model custom:kimi-k3. - Two different commands:
hermes model(run in the terminal) is the full setup wizard for adding providers and entering keys;/model(typed in a chat) only switches between providers and models you have already set up and cannot add a new provider. - Which models: Hermes calls the Chat Completions API, so pick models that carry the Chat label under Models & Pricing. Every model on the site carried it on 2026-09-28.
- At least 64,000 tokens of context. Hermes says agent use with tools needs a model context of at least 64,000 tokens; smaller windows are rejected at startup. Check Context on the model’s page before choosing it.
- Set
context_lengthexplicitly. Hermes tries to read the context length from the endpoint’s/v1/models, but the model entries NoviaHub’s/v1/modelsreturns don’t include a context length. Hermes’ own fix for this is to pin it withcontext_lengthinconfig.yaml. - Use Chat Completions with a hand-written config. In Hermes’ source, a
provider: customconfig ignoresapi_mode: codex_responsesunless the address is one of a few official hosts such as OpenAI’s, and sends Chat Completions requests anyway. That is why this page covers Chat Completions only; pick models with theChatlabel. OPENAI_BASE_URLhas no effect on custom endpoints. That variable only applies to Hermes’ built-inopenai-apiprovider; set a custom endpoint withhermes modelormodel.base_url.
References
Section titled “References”Checked on 2026-09-28 and 2026-09-29:
- Installation: https://hermes-agent.nousresearch.com/docs/getting-started/installation
- Quickstart (verifying,
hermes doctor): https://hermes-agent.nousresearch.com/docs/getting-started/quickstart - Providers (custom endpoints,
/model, context length): https://hermes-agent.nousresearch.com/docs/integrations/providers - Configuration (
hermes config set,.env): https://hermes-agent.nousresearch.com/docs/user-guide/configuration model.api_modevalues, the wizard’s API mode choices, custom endpoints ignoringcodex_responses: Hermes Agent sourcehermes_cli/runtime_provider.py(_VALID_API_MODES,_resolve_plain_custom_api_mode),hermes_cli/main_provider_setup.py(_CUSTOM_API_MODES),hermes_cli/model_setup_flows_custom.py