HyphenHyphen
HomeConsole
  • Get Started
  • Connect your coding agent
  • Build with Hyphen
  • Chat UIs & automation
  • Recipes
  • Guides
  • API Reference
Claude CodeCodex CLIAiderZedKilo CodeOpenHandsGooseHermes agentOpenClawOther clients
powered by Zudoku
Connect your coding agent

Other OpenAI-compatible clients

Anything that speaks OpenAI Chat Completions can point at Hyphen. The recipe is always the same three values:

Code
Base URL https://api.hyphen-solution.com/v1 API key sk-... Model minimax-m3, minimax-m2.7, minimax-m2.5, or any of the ten in the catalog

Get a key at app.hyphen-solution.com (pick a plan or credit pack, then Dashboard → API Keys), set those three, and the client is pointed at Hyphen. The full model list is on the Models page.

Setup guide: these configs come from each client's official documentation and have not been run end to end against the gateway. Corrections to support@hyphen-solution.com.

opencode

opencode configures custom providers in its config file — opencode.json in your project root, or ~/.config/opencode/opencode.json globally. Add Hyphen as an OpenAI-compatible provider and set it as the default model:

Code
{ "$schema": "https://opencode.ai/config.json", "model": "hyphen/minimax-m3", "provider": { "hyphen": { "npm": "@ai-sdk/openai-compatible", "name": "Hyphen", "options": { "baseURL": "https://api.hyphen-solution.com/v1", "apiKey": "{env:HYPHEN_API_KEY}" }, "models": { "minimax-m3": { "name": "MiniMax M3" }, "minimax-m2.7": { "name": "MiniMax M2.7" }, "minimax-m2.5": { "name": "MiniMax M2.5" } } } } }

Then export the key and start opencode in your project:

TerminalCode
export HYPHEN_API_KEY="sk-..." opencode

The {env:HYPHEN_API_KEY} syntax reads the key from your environment at startup. Any model from the catalog can be added to the models map; the default is whatever model names, as provider_id/model_id. See opencode's provider docs if your version's config shape differs.

Roo Code

Roo Code is a VS Code agent extension. It is configured entirely in the UI, with no config file or environment variable.

Open Roo Code's settings (the gear icon), set API Provider to OpenAI Compatible, then fill in:

  • Base URL: https://api.hyphen-solution.com/v1
  • API Key: sk-...
  • Model: minimax-m3

Under the advanced per-model fields, set Context Window to 200000 and Max Output Tokens to 32000 or higher. Leave Image Support off. The catalog is text only.

Verify by opening the Roo Code panel and asking it to reply with a single word.

Roo Code's settings export contains your key in plaintext

Settings → Export writes roo-code-settings.json with API keys unencrypted. Do not commit it.

Cursor

Settings → Models → enable Custom OpenAI base URL:

  • Base URL: https://api.hyphen-solution.com/v1
  • API key: sk-...
  • Add a model named minimax-m3 (or another model from the catalog) and select it.

Cline

In Cline's provider settings choose OpenAI Compatible:

  • Base URL: https://api.hyphen-solution.com/v1
  • API key: sk-...
  • Model ID: minimax-m3

Continue

In ~/.continue/config.json (or the YAML config), add an OpenAI-compatible model:

Code
{ "models": [ { "title": "MiniMax M3 (Hyphen)", "provider": "openai", "model": "minimax-m3", "apiBase": "https://api.hyphen-solution.com/v1", "apiKey": "sk-..." } ] }

OpenAI SDK (raw)

Code
from openai import OpenAI client = OpenAI( base_url="https://api.hyphen-solution.com/v1", api_key="sk-...", ) resp = client.chat.completions.create( model="minimax-m3", messages=[{"role": "user", "content": "Hello!"}], ) print(resp.choices[0].message.content)
Code
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.hyphen-solution.com/v1", apiKey: "sk-...", }); const resp = await client.chat.completions.create({ model: "minimax-m3", messages: [{ role: "user", content: "Hello!" }], }); console.log(resp.choices[0].message.content);

Verify for your client

Exact setting names differ between tools and versions (e.g. OPENAI_API_BASE vs OPENAI_BASE_URL, JSON vs YAML config). The three values above never change — consult your client's docs for where to put them.

Give it output headroom

Whatever the client, find its max-output-tokens setting and make it generous. The M-series are reasoning models. They spend tokens thinking before they answer, and that thinking comes out of the same budget. A tight cap returns an empty response instead of a short one. Use 2000 as a floor for chat and 4000 for anything agentic. See Choosing a model.

Hitting the cap

Every client sees the same HTTP 429 with the reset date when the monthly budget is spent. No overage.

Related

These tools have their own pages: Aider, Kilo Code, OpenHands, Zed and Goose.

  • Chat UIs and automation: LibreChat, Open WebUI, Jan, n8n.
  • Build with Hyphen: writing your own app instead.
  • Choosing a model: which model for which job.
Last modified on July 28, 2026
OpenClaw
On this page
  • opencode
  • Roo Code
  • Cursor
  • Cline
  • Continue
  • OpenAI SDK (raw)
  • Give it output headroom
  • Hitting the cap
  • Related
JSON
JSON
TypeScript