Kimi K3 in Hermes Agent

Persistent open-source agent by Nous Research · OpenAI-compatible endpoint · about 3 minutes

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

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

SymptomCauseFix
401 Invalid tokenKey copied with a space, or key from another siteRe-copy from Token Management on microquickjs.com
403 quota / insufficient balanceWallet at zero or plan quota used upTop up in Wallet, or wait for the weekly plan reset
404 model not foundModel ID typed differentlyUse exactly Kimi-K3
429Rate limit for your tierReduce concurrency; limits rise with spend, or ask for a committed plan
Tool calls never happenTool calling disabled in the client, or thinking blocks strippedKeep 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.