Kimi K3 in Hermes Agent
Before you start. Create an account (you get $2 to try), then open Token Management → Create token and copy the key. The key starts with sk-. Endpoints: OpenAI-compatible https://microquickjs.com/v1, Anthropic-compatible https://microquickjs.com. Model ID: Kimi-K3.
Configuration
Option A: plugin (one command)
We publish hermes-ainetcafe, a model-provider plugin that registers ainetcafe with the right base URL, vision support and K3's reasoning_effort mapping. Install it into your Hermes plugins directory, put the key in ~/.hermes/.env, and pick the provider:
curl -fsSL https://raw.githubusercontent.com/mario03690/hermes-ainetcafe/main/scripts/install.sh | bash
echo 'AINETCAFE_API_KEY=sk-your-ainetcafe-key' >> ~/.hermes/.env
hermes chat -q "Reply with exactly: OK" --provider ainetcafe -m Kimi-K3
A plugin-catalog entry is pending; once merged, hermes plugins install ainetcafe-provider does the same.
Option B: config.yaml (no plugin)
Hermes Agent keeps providers in ~/.hermes/config.yaml. Add ainetcafe as a provider with the OpenAI chat transport and make Kimi K3 the default model:
providers:
ainetcafe:
api: https://microquickjs.com/v1
api_key: sk-your-ainetcafe-key
transport: openai_chat
model:
provider: ainetcafe
default: Kimi-K3
Prefer not to put the key in the file? Leave api_key out and set OPENAI_API_KEY in ~/.hermes/.env; Hermes falls back to it for custom endpoints. You can also run hermes model for the interactive picker and choose the custom endpoint there.
Restart the agent. Its first heartbeat message shows the model name.
Why K3 fits Hermes
- Hermes keeps memory across sessions and calls forty-plus tools; K3 handles long tool loops and returns structured tool calls reliably.
- A persistent agent re-reads its memory every turn. With prompt caching most of that context bills at $0.30 per million.
- Vision is built in: screenshots from the browser tool go straight to the model.
Verify the key first
Thirty seconds now saves an hour of guessing later. Run this in a terminal; you should see a short reply and a usage block.
curl https://microquickjs.com/v1/chat/completions \
-H "Authorization: Bearer $AINETCAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"Kimi-K3","messages":[{"role":"user","content":"Say OK"}],"max_tokens":5}'If something goes wrong
| Symptom | Cause | Fix |
|---|---|---|
| 401 Invalid token | Key copied with a space, or key from another site | Re-copy from Token Management on microquickjs.com |
| 403 quota / insufficient balance | Wallet at zero or plan quota used up | Top up in Wallet, or wait for the weekly plan reset |
| 404 model not found | Model ID typed differently | Use exactly Kimi-K3 |
| 429 | Rate limit for your tier | Reduce concurrency; limits rise with spend, or ask for a committed plan |
| Tool calls never happen | Tool calling disabled in the client, or thinking blocks stripped | Keep the client's default tool settings; K3 returns a thinking block before tool_use, do not filter it out |
Still stuck? Email [email protected] with the request ID from the error body.