Provider API Reference
A trace-it-fast reference for every AI provider / coding-CLI that Cyberine integrates directly. Each provider has its own page with the official API/CLI surface (endpoints, auth, models, gotchas, doc links). This index maps those providers onto how the Cyberine codebase wires them so you can jump from "which env var / adapter / flag" to "the upstream API doc" in one hop.
For "anything new upstream?" jump straight to CHANGELOG-WATCH.md — one table
mapping every vendor to its live changelog/releases URL. For the MCP SDK 1.x -> 2.x package
split, see mcp-2.0-audit.md -- but read its correction banner first: the
migration landed 2026-09-05 and three of that audit's predictions did not survive contact with
the stable 2.0.0 packages.
For "which of these models is strongest", see model-strength.md: a dated, sourced 1 to 5 rank per model id that the router reads and fleet.json can override.
Source of truth for the wiring section is the code, not this doc — if they drift, trust:
src/core/config.ts,src/orchestrator/buildAdapters.ts,src/adapters/LoopAgentAdapter.ts,src/adapters/CliAgentAdapter.ts,.env.example. Last synced: 2026-06-07.
A provider page here is not a promise that its worker dispatches today. Seven worker ids were RETIRED (2026-08-27 onward) for account/credential reasons, not for lack of support — the adapters and these reference pages stay, the workers are skipped. See Retired workers below and
RETIRED_WORKERSinsrc/core/workerProfiles.ts, which is the authority.
Provider pages
| Provider | Kind | Cyberine adapter | Page |
|---|---|---|---|
| DeepSeek (direct) | raw API (OpenAI-compatible) | LoopAgentAdapter | deepseek.md |
| OpenRouter | raw API (OpenAI-compatible aggregator) | LoopAgentAdapter | openrouter.md |
| Moonshot AI / Kimi | raw API (OpenAI-compatible) | LoopAgentAdapter | moonshot-kimi.md |
| LiteLLM gateway | OpenAI-compatible proxy | LoopAgentAdapter | litellm.md |
| OpenAI | raw API (behind gateway + Codex) | LoopAgentAdapter / Codex | openai.md |
| Anthropic Claude | raw API (behind gateway + Claude Code) | LoopAgentAdapter / Claude Code | anthropic.md |
| Claude Code CLI | headless coding agent | CliAgentAdapter | claude-code-cli.md |
| OpenAI Codex CLI | headless coding agent | CliAgentAdapter | codex-cli.md |
| Google Gemini CLI | headless coding agent | CliAgentAdapter | gemini-cli.md |
| OpenCode CLI | headless coding agent (multi-provider) | CliAgentAdapter | opencode-cli.md |
OpenCode 2.0 beta (opencode2) | headless coding agent (beta, no GA date) | CliAgentAdapter (makeOpenCode2Adapter) | opencode2-v2-beta.md |
| Muse Code (Meta) | headless coding agent (flat-rate subscription) | CliAgentAdapter (makeMuseAdapter) | muse-cli.md |
| Cursor Agent CLI | headless coding agent (subscription) | CliAgentAdapter (makeCursorAgentAdapter) | cursor-agent.md |
| CLI Coding Agents (survey) | headless coding agents (integration reference) | CliAgentAdapter | cli-agents.md |
| Ollama (local) | local inference server (OpenAI-compatible + native) | LoopAgentAdapter | ollama.md |
| Ollama Cloud | hosted inference (OpenAI-compatible) | LoopAgentAdapter | ollama-cloud.md |
| MiniMax | raw API (OpenAI-compatible, api.minimax.io) | LoopAgentAdapter | minimax.md |
| Command Code | coding CLI (cmd) + raw API (OpenAI-compatible Provider API, api.commandcode.ai) | LoopAgentAdapter (loop-commandcode-build, loop-commandcode-free-build) + CliAgentAdapter (command-code) | command-code.md |
Cyberine integration map
Three adapter families implement the same Agent port; the core never special-cases a provider.
(LoopAgentAdapter — OpenAI-compatible loop; CliAgentAdapter — headless coding CLI; and
AnthropicAgentAdapter — the native Anthropic Messages API, the key-only path to Claude with no
gateway/CLI, see anthropic.md and the build-fleet table below.)
1. LoopAgentAdapter — raw OpenAI-compatible Chat Completions
A hand-run tool-calling loop against any OpenAI-compatible endpoint, using the openai npm SDK
(chat.completions.create, stream: true, stream_options.include_usage). Provider independence
is pure constructor config: swap baseURL + apiKey + model, no code change.
Adapter instances built in buildDefaultAdapters() (selection order favours paths needing NO gateway):
| Adapter id | Provider | Base URL (env) | Model (env) | When registered |
|---|---|---|---|---|
loop-deepseek-direct | DeepSeek | DEEPSEEK_BASE_URL | DEEPSEEK_MODEL | DEEPSEEK_API_KEY set |
loop-deepseek-openrouter | OpenRouter | OPENROUTER_BASE_URL | OPENROUTER_MODEL | no DeepSeek key, OPENROUTER_API_KEY set |
loop-gateway-a | LiteLLM → LOOP_MODEL_A | GATEWAY_BASE_URL | LOOP_MODEL_A | any GATEWAY_*/LOOP_MODEL_* env set (incl. defaults) |
loop-gateway-b | LiteLLM → LOOP_MODEL_B | GATEWAY_BASE_URL | LOOP_MODEL_B | any GATEWAY_*/LOOP_MODEL_* env set (incl. defaults) |
loop-ollama | Ollama (local, keyless) | OLLAMA_BASE_URL | OLLAMA_MODEL | OLLAMA_BASE_URL or OLLAMA_MODEL set (env opt-in; static bearer ollama) |
Reasoning models stream chain-of-thought in a separate reasoning_content delta field (DeepSeek
extension). Cyberine surfaces it in the peek view but never folds it into the answer, and replays it on
the assistant tool-call turn when present (required by Kimi k2.6).
2. CliAgentAdapter — headless coding-CLI subprocess
Spawns a coding CLI as a black-box subprocess, captures JSONL/stdout, normalises into a Result.
Each runs under a host sandbox (hostSandbox.ts: seatbelt/bubblewrap) and with auto-approve flags
so it never stalls on a permission prompt headless. The real work product is the file diff left in
task.cwd.
| Factory | CLI | Headless invocation (argv) | Auth dir |
|---|---|---|---|
makeClaudeAdapter | claude | -p <prompt> --output-format stream-json --verbose --model <m> --dangerously-skip-permissions --add-dir <cwd> (opt-in: --effort, --forward-subagent-text, --json-schema; unconditional on the default-prompt path: --exclude-dynamic-system-prompt-sections) | ~/.claude |
makeCodexHeadlessAdapter | codex | exec --skip-git-repo-check --cd <cwd> -m <m> [--output-schema <path>] --dangerously-bypass-approvals-and-sandbox --dangerously-bypass-hook-trust <prompt> | ~/.config/codex |
makeGeminiAdapter | gemini | -p <prompt> -o json --approval-mode yolo --skip-trust -m <m> | ~/.gemini |
makeOpenCodeAdapter | opencode | run --model <prov/model> [--variant <v>] [--agent plan|build] --dir <cwd> --format json [--dangerously-skip-permissions] <prompt> | ~/.local/share/opencode (XDG) |
makeCodexAdapter | codex | exec --json [--output-schema <path>] <prompt> (LIBRARY-ONLY read-only variant, T656 — no production call site; the build-fleet codex worker is makeCodexHeadlessAdapter above) | ~/.config/codex |
CLI workers are gated on install and headless login (cliAvailability.ts); an installed but
logged-out CLI is skipped with a note. opencode is treated as trusted-if-installed (its own
stored auth / free-model path).
Build fleet (file-writing workers, opt-in via CYBERINE_BUILD_FLEET)
Comma-separated worker ids registered by buildFleetAdapters():
| Worker id | Backed by | Needs |
|---|---|---|
loop-deepseek-build | DeepSeek API + implementer tools (sandbox-pinned, zero CLI) | DEEPSEEK_API_KEY |
loop-openrouter-build | OpenRouter API + implementer tools | OPENROUTER_API_KEY |
loop-kimi-build | Moonshot/Kimi API + implementer tools | MOONSHOT_API_KEY |
loop-mimo-build | Xiaomi MiMo API + implementer tools (api.xiaomimimo.com) | XIAOMI_API_KEY |
loop-minimax-build | MiniMax API + implementer tools (api.minimax.io) | MINIMAX_API_KEY |
loop-openai-build | OpenAI direct API + implementer tools | OPENAI_API_KEY |
loop-gemini-build | Google Gemini direct API + implementer tools | GEMINI_API_KEY |
loop-xai-build | xAI Grok direct API + implementer tools | XAI_API_KEY |
loop-groq-build | Groq direct API + implementer tools | GROQ_API_KEY |
loop-mistral-build | Mistral direct API + implementer tools | MISTRAL_API_KEY |
loop-together-build | Together AI direct API + implementer tools | TOGETHER_API_KEY |
loop-fireworks-build | Fireworks AI direct API + implementer tools | FIREWORKS_API_KEY |
loop-qwen-build | Qwen/DashScope direct API + implementer tools | QWEN_API_KEY |
loop-zhipu-build | Zhipu GLM direct API + implementer tools | ZHIPU_API_KEY |
loop-perplexity-build | Perplexity Sonar direct API + implementer tools | PERPLEXITY_API_KEY |
loop-cerebras-build | Cerebras direct API + implementer tools | CEREBRAS_API_KEY |
loop-nvidia-build | NVIDIA NIM direct API + implementer tools | NVIDIA_API_KEY |
loop-cohere-build | Cohere direct API + implementer tools | COHERE_API_KEY |
loop-azure-build | Azure OpenAI instance endpoint + implementer tools | AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT |
loop-copilot-build | GitHub Copilot (OAuth device-code) + implementer tools | Copilot subscription; run cyberine auth login copilot |
loop-claude-build | Anthropic Claude via LiteLLM gateway + implementer tools | gateway configured (LOOP_MODEL_A) |
loop-gpt-build | OpenAI GPT via LiteLLM gateway + implementer tools | gateway configured (LOOP_MODEL_B) |
loop-claude-native-build | Anthropic Claude via the NATIVE Messages API + implementer tools (key-only, no gateway/CLI) | ANTHROPIC_API_KEY |
loop-ollama-build | local Ollama server + implementer tools (keyless, free, private) | OLLAMA_MODEL or OLLAMA_BASE_URL set; model pulled |
loop-commandcode-build | Command Code Provider API + implementer tools, paid catalog model drawing the plan's credit windows | CMD_API_KEY; CMD_MODEL (default deepseek/deepseek-v4-flash) |
loop-commandcode-free-build | Command Code Provider API + implementer tools on a zero-credit model resolved from the live catalog (the free lane) | CMD_API_KEY and at least one :free / -free id in GET /provider/v1/models; CMD_FREE_MODEL pins one |
loop-bedrock-build | AWS Bedrock Converse API + implementer tools | BEDROCK_ACCESS_KEY_ID + BEDROCK_SECRET_ACCESS_KEY, or BEDROCK_PROFILE |
loop-vertex-build | Google Vertex AI (Gemini / Claude-on-Vertex) + implementer tools | VERTEX_PROJECT_ID; ADC or VERTEX_SERVICE_ACCOUNT_KEY_JSON |
opencode-deepseek | OpenCode CLI (--agent build), DeepSeek model | opencode installed; CYBERINE_OPENCODE_DEEPSEEK_MODEL (default deepseek/deepseek-v4-pro) |
opencode-kimi | OpenCode CLI, Kimi model | DEAD 2026-08-25, self-skipping — opencode installed AND a moonshotai credential (opencode auth login) or a funded MOONSHOT_API_KEY; today neither holds and the account is suspended. CYBERINE_OPENCODE_KIMI_MODEL (default moonshotai/kimi-k2.7-code). See opencode-cli.md |
claude | Claude Code CLI | claude installed + logged in |
codex | Codex CLI | codex installed + logged in |
gemini | Gemini CLI | gemini installed + logged in |
aider | Aider CLI (litellm backend, any provider) | aider installed + provider API key; CYBERINE_AIDER_MODEL selects model |
qwen-code | Qwen Code CLI (@qwen-code/qwen-code) | DASHSCOPE_API_KEY; CYBERINE_QWEN_MODEL (default qwen3-coder-plus) |
crush | Crush CLI (charmbracelet, openai-compat) | crush installed + provider key; CYBERINE_CRUSH_MODEL selects provider/model |
cursor-agent | Cursor Agent CLI (subscription) | cursor-agent installed + Copilot/Cursor subscription |
amp | Amp CLI (ampcode.com) | AMP_API_KEY |
goose | Goose CLI (Block, 40+ providers) | goose installed + metered key; CYBERINE_GOOSE_PROVIDER / CYBERINE_GOOSE_MODEL |
openhands | OpenHands CLI (All-Hands AI, model-agnostic) | openhands installed; LLM configured at first run; CYBERINE_OPENHANDS_MODEL overrides per-run |
command-code | Command Code CLI (command-code -p --yolo, subscription credit pool) | command-code installed + ~/.commandcode/auth.json apiKey or COMMAND_CODE_API_KEY; CYBERINE_COMMANDCODE_MODEL (default deepseek/deepseek-v4-flash), CYBERINE_COMMANDCODE_MAX_TURNS (default 60) |
mmx-text-build | MiniMax mmx CLI (text chat) | mmx installed + MMX_TOKEN_KEY; CYBERINE_MMX_MODEL (default MiniMax-Text-01) |
loop-*-build workers are sandbox-pinned (cannot leave their worktree); CLI workers run with full
host privileges (worktrees isolate concurrency, not the host) — enable only for trusted tasks.
Environment variables
From src/core/config.ts (defaults) and .env.example.
| Env var | Default | Purpose |
|---|---|---|
GATEWAY_BASE_URL | http://localhost:41400/v1 | LiteLLM proxy base URL (uncommon on-demand host port) |
GATEWAY_API_KEY | sk-litellm-master-key | LiteLLM master key |
LOOP_MODEL_A | anthropic/claude | gateway model alias A |
LOOP_MODEL_B | openai/gpt | gateway model alias B (proves provider independence) |
OPENAI_API_KEY | (empty) | OpenAI direct loop adapter / loop-openai-build; also consumed by gateway to route openai/* |
OPENAI_BASE_URL | https://api.openai.com/v1 | OpenAI direct base URL |
OPENAI_MODEL | gpt-4o | OpenAI model id (loop-openai-build) |
GEMINI_API_KEY | (empty) | Google Gemini direct loop adapter / loop-gemini-build |
GEMINI_BASE_URL | https://generativelanguage.googleapis.com/v1beta/openai | Gemini OpenAI-compatible base URL |
GEMINI_MODEL | gemini-2.5-pro | Gemini model id (loop-gemini-build) |
XAI_API_KEY | (empty) | xAI Grok direct loop adapter / loop-xai-build |
XAI_BASE_URL | https://api.x.ai/v1 | xAI base URL |
XAI_MODEL | grok-3 | xAI Grok model id (loop-xai-build) |
GROQ_API_KEY | (empty) | Groq direct loop adapter / loop-groq-build |
GROQ_BASE_URL | https://api.groq.com/openai/v1 | Groq base URL |
GROQ_MODEL | llama-3.3-70b-versatile | Groq model id (loop-groq-build) |
MISTRAL_API_KEY | (empty) | Mistral direct loop adapter / loop-mistral-build |
MISTRAL_BASE_URL | https://api.mistral.ai/v1 | Mistral base URL |
MISTRAL_MODEL | mistral-large-latest | Mistral model id (loop-mistral-build) |
TOGETHER_API_KEY | (empty) | Together AI direct loop adapter / loop-together-build |
TOGETHER_BASE_URL | https://api.together.xyz/v1 | Together AI base URL |
TOGETHER_MODEL | meta-llama/Llama-3.3-70B-Instruct-Turbo | Together AI model id (loop-together-build) |
FIREWORKS_API_KEY | (empty) | Fireworks AI direct loop adapter / loop-fireworks-build |
FIREWORKS_BASE_URL | https://api.fireworks.ai/inference/v1 | Fireworks AI base URL |
FIREWORKS_MODEL | accounts/fireworks/models/deepseek-v3 | Fireworks AI model id (loop-fireworks-build) |
QWEN_API_KEY | (empty) | Qwen/DashScope direct loop adapter / loop-qwen-build |
QWEN_BASE_URL | https://dashscope-intl.aliyuncs.com/compatible-mode/v1 | Qwen international base URL (mainland: dashscope.aliyuncs.com/compatible-mode/v1) |
QWEN_MODEL | qwen3-coder-plus | Qwen model id (loop-qwen-build) |
ZHIPU_API_KEY | (empty) | Zhipu GLM direct loop adapter / loop-zhipu-build |
ZHIPU_BASE_URL | https://open.bigmodel.cn/api/paas/v4 | Zhipu base URL |
ZHIPU_MODEL | glm-4.6 | Zhipu GLM model id (loop-zhipu-build) |
PERPLEXITY_API_KEY | (empty) | Perplexity direct loop adapter / loop-perplexity-build |
PERPLEXITY_BASE_URL | https://api.perplexity.ai | Perplexity base URL |
PERPLEXITY_MODEL | sonar-pro | Perplexity model id (loop-perplexity-build) |
CEREBRAS_API_KEY | (empty) | Cerebras direct loop adapter / loop-cerebras-build |
CEREBRAS_BASE_URL | https://api.cerebras.ai/v1 | Cerebras base URL |
CEREBRAS_MODEL | llama-3.3-70b | Cerebras model id (loop-cerebras-build) |
NVIDIA_API_KEY | (empty) | NVIDIA NIM direct loop adapter / loop-nvidia-build |
NVIDIA_BASE_URL | https://integrate.api.nvidia.com/v1 | NVIDIA NIM base URL |
NVIDIA_MODEL | meta/llama-3.3-70b-instruct | NVIDIA NIM model id (loop-nvidia-build) |
COHERE_API_KEY | (empty) | Cohere direct loop adapter / loop-cohere-build |
COHERE_BASE_URL | https://api.cohere.ai/compatibility/v1 | Cohere OpenAI-compatible base URL |
COHERE_MODEL | command-r-plus | Cohere model id (loop-cohere-build) |
AZURE_OPENAI_API_KEY | (empty) | Azure OpenAI key / loop-azure-build |
AZURE_OPENAI_ENDPOINT | (empty) | Azure instance endpoint (e.g. https://<name>.openai.azure.com/openai/deployments/<deployment>/) |
AZURE_OPENAI_DEPLOYMENT | gpt-4o | Azure deployment name — also the worker model id |
AZURE_OPENAI_API_VERSION | 2024-12-01-preview | Azure API version query parameter |
COPILOT_MODEL | gpt-4o | GitHub Copilot model id (loop-copilot-build); requires active Copilot subscription + cyberine auth login copilot |
ANTHROPIC_API_KEY | (empty) | consumed by the gateway to route anthropic/*; ALSO enables the native loop-claude-native-build worker (no gateway needed) |
ANTHROPIC_BASE_URL | https://api.anthropic.com | native Anthropic adapter base URL (override only for a proxy) |
ANTHROPIC_MODEL | claude-sonnet-4-6 | native Anthropic adapter model id (loop-claude-native-build) |
BEDROCK_REGION | us-east-1 (falls back to AWS_REGION / AWS_DEFAULT_REGION) | AWS region for Bedrock calls |
BEDROCK_MODEL | anthropic.claude-3-5-sonnet-20241022-v2:0 | Bedrock model id or inference-profile ARN (loop-bedrock-build) |
BEDROCK_ACCESS_KEY_ID | (empty, falls back to AWS_ACCESS_KEY_ID) | AWS access key for Bedrock (optional if using ADC profile) |
BEDROCK_SECRET_ACCESS_KEY | (empty, falls back to AWS_SECRET_ACCESS_KEY) | AWS secret access key for Bedrock |
BEDROCK_SESSION_TOKEN | (empty, falls back to AWS_SESSION_TOKEN) | AWS session token for temporary credentials |
BEDROCK_PROFILE | (empty, falls back to AWS_PROFILE) | Named AWS profile for Bedrock |
VERTEX_PROJECT_ID | (empty) | GCP project id for Vertex AI (loop-vertex-build) |
VERTEX_LOCATION | us-central1 | Vertex AI region |
VERTEX_MODEL | gemini-2.5-pro | Vertex AI model id — supports Gemini and Claude-on-Vertex |
VERTEX_SERVICE_ACCOUNT_KEY_JSON | (empty) | Service account JSON key string; when absent uses ADC |
XIAOMI_API_KEY | (empty) | Xiaomi MiMo direct loop adapter / loop-mimo-build |
XIAOMI_BASE_URL | https://api.xiaomimimo.com/v1 | MiMo base URL (regional: token-plan-cn/ams/sgp.xiaomimimo.com/v1) |
XIAOMI_MODEL | mimo-v2.5-pro | Xiaomi MiMo model id (loop-mimo-build) |
MINIMAX_API_KEY | (empty) | MiniMax direct loop adapter / loop-minimax-build |
MINIMAX_BASE_URL | https://api.minimax.io/v1 | MiniMax base URL (international platform) |
MINIMAX_MODEL | MiniMax-M3 | MiniMax model id (loop-minimax-build) |
MMX_TOKEN_KEY | (empty) | MiniMax mmx CLI Token Plan key — required for mmx-text-build and multimedia generation tools |
CYBERINE_OPENCODE_DEEPSEEK_MODEL | deepseek/deepseek-v4-pro | model for opencode-deepseek worker (pinned independently of OPENCODE_MODEL) |
OLLAMA_BASE_URL | http://localhost:11434/v1 | local Ollama OpenAI-compat endpoint; setting it (or OLLAMA_MODEL) opts the keyless adapters in |
OLLAMA_MODEL | llama3.1:8b | Ollama model id (loop-ollama / loop-ollama-build); must be pulled already |
CLI_AGENT_CMD | claude | binary for the generic CLI adapter |
OPENROUTER_API_KEY | (empty) | OpenRouter loop adapter / loop-openrouter-build |
OPENROUTER_BASE_URL | https://openrouter.ai/api/v1 | OpenRouter base URL |
OPENROUTER_MODEL | deepseek/deepseek-v4-pro-0813 | OpenRouter model id (vendor/model). Dated on purpose — the undated alias is a frozen 0423 GA on this route; see openrouter.md |
DEEPSEEK_API_KEY | (empty) | DeepSeek-direct loop adapter / loop-deepseek-build; preferred over OpenRouter |
DEEPSEEK_BASE_URL | https://api.deepseek.com | DeepSeek base URL |
DEEPSEEK_MODEL | deepseek-v4-pro (config) / deepseek-v4-flash (.env.example) | DeepSeek model in native naming |
MOONSHOT_API_KEY | (empty) | Moonshot/Kimi loop worker loop-kimi-build |
MOONSHOT_BASE_URL | https://api.moonshot.ai/v1 | Moonshot base (mainland: https://api.moonshot.cn/v1) |
MOONSHOT_MODEL | kimi-k2.7-code | Moonshot/Kimi model id |
OPENCODE_MODEL | deepseek/deepseek-v4-pro | OpenCode provider/model (canonical id) |
OPENCODE_VARIANT | high | reasoning effort: minimal/high/max |
OPENCODE_AGENT | plan (config) / build (interactive launcher) | OpenCode --agent |
OPENCODE_SKIP_PERMISSIONS | true | pass --dangerously-skip-permissions |
OPENCODE_TIMEOUT_MS | 1800000 | OpenCode subprocess timeout (30 min) |
CYBERINE_OPENCODE_MAX_RETRIES | 2 | retries on transient SQLite WAL-lock crash |
CYBERINE_OPENCODE_KIMI_MODEL | moonshotai/kimi-k2.7-code | model for opencode-kimi worker (default provider uncredentialled + suspended as of 2026-08-25) |
CYBERINE_CLAUDE_MODEL | claude-sonnet-4-6 | model for the claude build worker |
CYBERINE_CODEX_MODEL | (unset → codex default) | model for the codex build worker |
CYBERINE_GEMINI_MODEL | gemini-2.5-flash | model for the gemini build worker |
JUDGE_MODEL | deepseek/deepseek-v4-pro-0813 | model for LLM/adversarial judges (OpenRouter path) |
CYBERINE_JUDGE_BACKEND | auto | T651c: moonshot opts the LLM-judge panel into Moonshot-direct (requires MOONSHOT_API_KEY); any other value (default auto) keeps the DeepSeek-direct/OpenRouter precedence unchanged |
CYBERINE_MOONSHOT_JUDGE_MODEL | kimi-k3 | judge model used when CYBERINE_JUDGE_BACKEND=moonshot — deliberately distinct from MOONSHOT_MODEL (kimi-k2.7-code, the coding-specialized build-fleet default) |
LOOP_MAX_TOKENS | 16000 | max completion tokens per loop request |
LOOP_MAX_TOOL_ROUNDS | 25 | max tool-calling rounds in the loop |
CYBERINE_CHAT_CONTEXT_WINDOW | 65536 | planner context window (chat TUI warning only) |
CYBERINE_BUILD_FLEET | (empty) | comma-separated build-fleet worker ids |
CYBERINE_ROUTE | auto | router mode for auto fleet selection |
HOST_SANDBOX_MODE | auto | seatbelt/bubblewrap/none |
HOST_SANDBOX_NETWORK | allow | network inside the sandbox |
CYBERINE_TASK_TRUSTED | true | when false, CLI workers require a sandbox |
Note the one intentional discrepancy:
config.tsdefaultsDEEPSEEK_MODELtodeepseek-v4-pro, while.env.exampleshipsdeepseek-v4-flash(the cheaper model) as the suggested starter value.
Retired workers (2026-08-27)
Retirement is a cost/credential decision, not a capability one: the adapter, the provider page,
and the WORKER_PROFILES entry all stay in place — buildAdapters simply skips the id, and
cyberine doctor reports it as RETIRED rather than FAIL. Nothing is deleted, so re-enabling a
worker is a one-line edit once its account is funded again. RETIRED_WORKERS in
src/core/workerProfiles.ts is the authority; this table mirrors it.
| Worker id | Provider | Why retired |
|---|---|---|
loop-kimi-build | Moonshot / Kimi | Account out of balance — retired rather than funded (kn4vz) |
opencode-kimi | Moonshot / Kimi (via OpenCode) | Same credential as loop-kimi-build (kn4vz) |
loop-minimax-build | MiniMax | 402 insufficient balance 1008 on every dispatch (kf2mx) |
loop-minimax-direct | MiniMax | Same credential; adapter-only, gated in buildAdapters (kf2mx) |
mmx-text-build | MiniMax (mmx CLI) | Same unfunded MiniMax account (kf2mx) |
gemini | Google Gemini CLI | Google revoked the free-tier client (IneligibleTierError), no paid tier funded (kp7wq) |
loop-gemini-build | Google Gemini API | Same unfunded Google account as the CLI worker (kp7wq) |
loop-muse-build (2026-09-05) | Meta Model API | 402 billing_not_configured — key valid, no payment method; the muse CLI subscription does not cover the raw API (kjx6p) |
opencode2-deepseek (2026-09-06) | DeepSeek (via OpenCode 2.0) | Same exhausted DeepSeek account as loop-deepseek-direct — 402 Insufficient Balance (kzhyc) |
opencode-deepseek, opencode (2026-09-07) | DeepSeek (via OpenCode) | Operator is dropping the opencode binaries; cyberine run is the one-command edit tool now (ks4sf) |
Run cyberine route "<task>" and read its available: line for the fleet that can actually be
dispatched right now — that is the only answer that accounts for credentials, CLI login state, and
~/.cyberine/fleet.json gating at the same time.
Integration mismatches
Surfaced while cross-checking the official docs against the Cyberine code (2026-06-07). Items 1-3 were verified against ground truth and FIXED 2026-06-07 (commit lands with this note); item 4 is informational only.
reasoning_contentreplay conflicts with DeepSeek — FIXED.LoopAgentAdapterused to replay bufferedreasoning_contenton the assistant tool-call turn for every provider. Kimi k2.6 requires it (thinking on by default → 400 if missing); DeepSeek forbids it (echoing it back → HTTP 400). The replay is now gated byneedsReasoningReplay(provider, model)(matchesmoonshot/kimi), with areplayReasoningconstructor override for gateway-routed thinking models. Verified: DeepSeek + Kimi tool-call loops both complete (no 400). See deepseek.md and moonshot-kimi.md.- Codex config-dir path — FIXED.
CliAgentAdapter.cliConfigDirs()allow-listed only~/.config/codex, but Codex's officialCODEX_HOMEdefaults to~/.codex(the live dir on this host;~/.config/codexdid not exist) — so a codex build worker under seatbelt could not write its config/auth. Now honorsCODEX_HOMEwhen set, else allow-lists BOTH~/.codexand~/.config/codex. Verified: the generated seatbelt profile grants write to~/.codex. See codex-cli.md. codexusagecost_usd— clarified. Cyberine's Codex parse readsusage.cost_usd, which is not in Codex's documented usage schema (input_tokens/cached_input_tokens/output_tokens/reasoning_output_tokens). The read is kept as a harmless forward-compat fallback (stays undefined); the misleading comment that presentedcost_usdas the Codex shape was corrected. See codex-cli.md.- Model-id naming drift (informational). Repo uses
claude-sonnet-4-6(hyphen); OpenRouter's slug isanthropic/claude-sonnet-4.6(dot). Repo'skimi-k2.7-code(bumped 2026-07-01, T517) is the live Moonshot/OpenCode id but is NOT an OpenRouter slug (moonshotai/kimi-k2-0905there) — Cyberine doesn't route Kimi via OpenRouter, so this is informational only. See openrouter.md.
Task manifest format
This is the normative specification of the shared task-manifest format used by both the cyberine orchestrator (src/tasks/manifestReader.ts, src/tasks/statusWriter.ts, src/tasks/runnable.ts on the...
Upstream Changelog Watch List
Every upstream Cyberine follows, in one table, so "anything new upstream?" resolves to the right changelog in one hop. URLs are pulled from each provider's page in this folder (its "Official docs"...