Coding agent setup

Connect your coding agent.

Pick the tool your team already uses. OpenCode can connect directly from its /connect command. Cursor can use Model Oracle AI when your Cursor build exposes an OpenAI-compatible base URL override.

1. Get your endpoint and key

Use the hosted Model Oracle AI API endpoint, or replace it with your team's private deployment URL.

https://api.modeloracle.com/api/v1

Use your Model Oracle AI key in the coding agent. Provider API keys stay inside Model Oracle AI and are not configured in Cursor, Claude Code, Codex, or OpenCode.

Reasoning controls

Model Oracle AI accepts the top-level reasoning_effort field for reasoning-capable logical models and forwards or translates it for the selected upstream provider.

GPT-5.6 Luna, Sol, and Terra

Supported effort values: nonelowmediumhighxhighmax

Kimi K3

Kimi K3 always reasons. Supported effort values: lowhighmax

curl https://api.modeloracle.com/api/v1/chat/completions \
  -H "Authorization: Bearer $MODEL_ORACLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [{"role": "user", "content": "Plan a safe refactor."}],
    "reasoning_effort": "high"
  }'

2. Pick your coding agent

Default path

OpenCode

In OpenCode, run /connect, choose Model Oracle AI, and enter your Model Oracle AI API key when prompted. Use auto for most work so Model Oracle AI can choose the best available model for the request.

Add a provider entry like this to your OpenCode config. Adjust the baseURL and keep only the logical models your team wants developers to select.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "model-oracle-ai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Model Oracle AI",
      "options": {
        "baseURL": "https://api.modeloracle.com/api/v1"
      },
      "models": {
        "auto": { "name": "Auto (Decision Engine)" },
        "claude-fable-5": { "name": "Claude Fable 5" },
        "claude-haiku-4.5": { "name": "Claude Haiku 4.5" },
        "claude-opus-4.8": { "name": "Claude Opus 4.8" },
        "claude-opus-5": { "name": "Claude Opus 5" },
        "claude-sonnet-5": { "name": "Claude Sonnet 5" },
        "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
        "glm-5.2": { "name": "GLM 5.2" },
        "gpt-4.1": { "name": "GPT-4.1" },
        "gpt-4.1-mini": { "name": "GPT-4.1 Mini" },
        "gpt-5": { "name": "GPT-5" },
        "gpt-5.4": { "name": "GPT-5.4" },
        "gpt-5.4-mini": { "name": "GPT-5.4 Mini" },
        "gpt-5.4-nano": { "name": "GPT-5.4 Nano" },
        "gpt-5.5": { "name": "GPT-5.5" },
        "gpt-5.6-luna": { "name": "GPT-5.6 Luna" },
        "gpt-5.6-sol": { "name": "GPT-5.6 Sol" },
        "gpt-5.6-terra": { "name": "GPT-5.6 Terra" },
        "kimi-k3": { "name": "Kimi K3" },
        "kimi-k2.7-code": { "name": "Kimi K2.7 Code" },
        "o4-mini": { "name": "o4 Mini" }
      }
    }
  }
}

Stable logical model names such as kimi-k3 or deepseek-v4-pro are available when a workload needs a fixed model family.

Logical model IDs are case-sensitive. Do not copy provider namespaces or upstream model IDs into OpenCode. Model Oracle AI links each logical model to its provider-specific models and manages provider fallback behind the scenes.

OpenCode stores API keys in ~/.local/share/opencode/auth.json. The auth entry key must match the provider ID in the config.

3. Send a test prompt

Ask the agent to inspect a repository or make a small change. After the first request goes through Model Oracle AI, the dashboard will show request count, token usage, estimated spend, latency, errors, prompt details, completion details, provider, and model.