Day 2 · Pick a Brain: Model Selection and API Setup
Today’s Goal
Section titled “Today’s Goal”Configure a provider and model, then send Hermes a reasoning question and get the correct answer.
Prerequisites
Section titled “Prerequisites”Day 1 complete — the hermes command runs without errors.
Two commands — don’t mix them up
Section titled “Two commands — don’t mix them up”Hermes has two “model commands” with completely different jobs:
| Command | Where to run | What it does |
|---|---|---|
hermes model | Terminal (outside Hermes) | Full wizard: add a provider, enter API key, OAuth login, set default model |
/model | Inside a Hermes conversation | Quick-switch between already-configured providers only — cannot add new ones |
For first-time setup or adding a new provider, use hermes model. Exit your current session first (Ctrl+C or /quit), then run it in a regular terminal.
-
Choose a provider
Find your row:
Your situation Recommended provider How to configure Have a Kimi API key kimi-codingSet KIMI_API_KEYin.envHave a DeepSeek key deepseekSet DEEPSEEK_API_KEYin.envHave a Qwen (Alibaba) key alibaba(Qwen)Set DASHSCOPE_API_KEYin.envHave a GLM (Zhipu) key zaiSet GLM_API_KEYin.envFirst time, want the easiest start Nous Portal hermes model→ OAuthHave an Anthropic API key anthropichermes model→ enter keyHave ChatGPT / OpenAI openai-codexhermes model→ OAuthHave a GitHub Copilot subscription copilothermes model→ OAuth (no extra cost)Want to route multiple models OpenRouter Set OPENROUTER_API_KEYin.envLocal private deployment Custom endpoint (Ollama) hermes model→ Custom endpoint -
Run the configuration wizard
Terminal window hermes modelThe wizard walks you through: choose provider → enter API key (or OAuth browser login) → select default model from the list → save to config.
Prefer writing config by hand? Use
hermes config setdirectly:Terminal window # Example: Kimi (swap the key name and provider name for any other provider)hermes config set KIMI_API_KEY sk-xxxhermes config set model.provider kimi-codinghermes config set model.default kimi-for-coding -
Verify your config
View the full active configuration:
Terminal window hermes configHermes stores everything under
~/.hermes/:~/.hermes/├── config.yaml ← non-secret settings (provider name, model name, feature flags, etc.)└── .env ← secrets (API keys, bot tokens, etc. — never commit to git) -
Verify: send a reasoning test
Start Hermes:
Terminal window hermesSend a classic decimal reasoning test:
You: Which is larger: 9.8 or 9.11?Correct answer: Hermes should reply that 9.8 is larger, with reasoning (9.8 = 9.80 > 9.11).
If the reply is empty or wrong, the API key is invalid or the model is misconfigured — see troubleshooting below.
-
Switch models mid-conversation
Inside a conversation,
/modellets you quickly switch between configured providers and models:You: /modelAdd
--globalto persist the switch toconfig.yaml; without it, the switch lasts only for the current session:You: /model deepseek/deepseek-chat --globalCheck current token usage:
You: /usage
About helper tools and OpenRouter
Section titled “About helper tools and OpenRouter”Expected Output
Section titled “Expected Output”After this chapter, hermes config shows your provider and model, and Hermes answers the reasoning test correctly:
$ hermes configProvider: kimi-codingModel: kimi-for-codingStatus: ✓ Connected
$ hermesYou: Which is larger: 9.8 or 9.11?Hermes: 9.8 is larger. Since 9.8 = 9.80 and 9.11 = 9.11, we have 9.80 > 9.11.