OpenHands on Mingles Router

Run OpenHands on Mingles Router

Run the OpenHands coding agent on Mingles Router. It uses LiteLLM under the hood, so an OpenAI-compatible base URL and the openai/ model prefix are all it needs.

Pick your model and paste your key — every command and value on this page updates live.

Endpoint: https://router.mingles.ai/v1 · key stays in your browser · no key entered? commands show <your-key>.

Run + configure in the UI

1. Launch OpenHands

Start the app with Docker (or pip install openhands-ai && openhands), then open http://localhost:3000.

shell
docker run -it --rm --pull=always \
  -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:latest \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ~/.openhands:/.openhands \
  -p 3000:3000 --add-host host.docker.internal:host-gateway \
  --name openhands-app docker.all-hands.dev/all-hands-ai/openhands:latest

2. Open Settings → LLM and enable Advanced

In Settings → LLM, toggle Advanced so the custom-model and base-URL fields appear.

3. Fill the fields

Use the exact values in the table below. The openai/ prefix tells LiteLLM to talk the OpenAI dialect to our endpoint.

4. Save & start a conversation

Hit Save, then open a new conversation — OpenHands will route to Mingles Router.

Exact values

LLM Provider OpenAI Compatible
Custom Model openai/moonshotai/Kimi-K2.6
Base URL https://router.mingles.ai/v1
API Key <your-key>

Switch model

Switching models is just a different Custom Model value (keep the openai/ prefix) — same base URL, same key:

config.toml
model = "openai/moonshotai/Kimi-K2.6"

Before you file a bug: read the limits

Reasoning models spend the output budget on internal thinking, output is capped at 8192 tokens, there is no KV cache, and there are no built-in web tools. Most “it broke on Mingles Router” reports are one of these. See Model limits & behavior →

Frequently asked

Why the openai/ prefix on the model? +

OpenHands routes through LiteLLM. The openai/ prefix selects the OpenAI Chat Completions transport for a custom base_url; the rest of the string is our model id, e.g. openai/moonshotai/Kimi-K2.6.

UI or config.toml? +

Either works. The UI (Settings → LLM → Advanced) is easiest; config.toml [llm] is better for headless/CI. They set the same three values: model, base_url, api_key.

Which provider do I select in the dropdown? +

“OpenAI Compatible”, then enter the custom model and base URL. Do not pick plain “OpenAI”.