providers-config.json
Discovery URL: https://ccs.the1studio.org/providers
Providers
Section titled “Providers”codex — disabled (remote-proxy)
Section titled “codex — disabled (remote-proxy)”Endpoint: https://ccs.the1studio.org
| Model | Enabled | Tier | Context window |
|---|---|---|---|
gpt-5.1 | no | premium | 128000 |
o3 | no | premium | 200000 |
kimi — enabled (remote-proxy)
Section titled “kimi — enabled (remote-proxy)”Endpoint: https://ccs.the1studio.org
| Model | Enabled | Tier | Context window |
|---|---|---|---|
gpt-5.4 | no | standard | 128000 |
gpt-5.4-mini | yes | standard | 128000 |
gpt-5.5 | no | premium | 128000 |
gpt-image-1.5 | yes | standard | 0 |
gpt-image-2 | yes | standard | 0 |
grok-imagine-image | no | budget | 0 |
grok-imagine-image-quality | no | standard | 0 |
kimi-for-coding | no | premium | 256000 |
kimi-k2 | no | budget | 128000 |
kimi-k2-thinking | no | standard | 256000 |
kimi-k2.5 | no | budget | 256000 |
kimi-k2.6 | no | premium | 256000 |
kimi-k2.7-code | no | premium | 256000 |
opencode-go — enabled (remote-hosted)
Section titled “opencode-go — enabled (remote-hosted)”Endpoint: https://ccs.the1studio.org
| Model | Enabled | Tier | Context window |
|---|---|---|---|
deepseek-v4-flash | yes | budget | 128000 |
deepseek-v4-pro | no | standard | 128000 |
glm-5 | no | standard | 200000 |
glm-5.1 | no | premium | 200000 |
glm-5.2 | no | premium | 200000 |
gpt-5.6-luna | no | premium | 200000 |
mimo-v2-omni | no | budget | 256000 |
mimo-v2-pro | no | standard | 128000 |
mimo-v2.5 | no | budget | 256000 |
mimo-v2.5-pro | no | standard | 128000 |
minimax-m2.5 | no | budget | 1000000 |
minimax-m2.7 | no | standard | 1000000 |
minimax-m3 | no | standard | 1000000 |
qwen3.5-plus | no | budget | 128000 |
qwen3.6-plus | no | budget | 128000 |
qwen3.7-max | no | standard | 128000 |
qwen3.7-plus | no | standard | 128000 |
Raw JSON (ground truth)
{ "_comment": "Real-catalog config. Originally 12 oc-go + 4 kimi models verified 2026-05-25; expanded 2026-06-19 from CCS /v1/models. POLICY (kit-owner whitelist): only the newest model per family is shipped enabled — qwen3.7-plus (standard), minimax-m3 (long-context), deepseek-v4-pro (standard), deepseek-v4-flash (budget). UPDATED 2026-08-22 (explicit studio deepseek-only reasoning-routing decision, overriding the family-newest default for these specific families): glm-5.2 and the Kimi reasoning models (kimi-for-coding, kimi-k2.6) are DISABLED regardless of family-newest/premium status, so a reasoning-tagged delegation now resolves to deepseek-v4-pro, the highest-tier enabled `reasoning` candidate — see each model's own `_comment` for the studio-policy + measured-dead-kimi evidence. Everything else is disabled by default. Consumers can re-enable any disabled model locally but the shipped default is the whitelist.", "auth": "gh-token", "capabilityPipes": { "_comment": "Ordered preference for capability-gated selection, consumed by mr-task-interceptor.cjs pickFromCandidates(): when a task requires a capability listed here, ENABLED candidates are sorted by their index in that pipe (models not listed fall back to the tier/quality rules; disabled models are simply never candidates). vision pipe = value-first order from the empirical benchmark 2026-06-01 (all 4 scored 3/3 correct; cheap+diverse-upstream first). Shipped-enabled vision models are gpt-5.4-mini + kimi-k2.6; gpt-5.4/gpt-5.5 are listed for when consumers enable them. glm-5.1 deliberately excluded (0/3, confabulates). image-generation is NOT consumed by pickFromCandidates() (#92 — no detectRequiredCapabilities() path ever adds 'image-generation' to requiredCaps, and every model here deliberately omits 'text' from its own capabilities, so an ordinary Task delegation can never route here regardless); it is read directly by mr-imagine.sh as the default --model when the caller doesn't pass one. Order is verification-strength, not a benchmark (none run yet, unlike vision) -- gpt-image-1.5 has two independent live confirmations (2026-08-06, 2026-08-18) against gpt-image-2's one; grok-imagine-image(-quality) are listed disabled for when a consumer re-enables them.", "image-generation": [ "gpt-image-1.5", "gpt-image-2", "grok-imagine-image", "grok-imagine-image-quality" ], "long-context": [ "deepseek-v4-flash", "minimax-m3" ], "vision": [ "gpt-5.4-mini", "kimi-k2.6", "gpt-5.4", "gpt-5.5" ] }, "discoveryUrl": "https://ccs.the1studio.org/providers", "providers": { "codex": { "_disabled_reason": "Upstream auth dead — see #44. All OpenAI-owned models (gpt-5.x, codex-auto-review) return 502. Stays in the config for explicit --provider codex callers (aliveness probe surfaces the failure cleanly); the rule-based selector skips it.", "auth": "gh-token", "budget": { "_comment": "Opt-in per-provider daily limits. When 95% of either limit is reached the selector skips this provider for the rest of the UTC day. Set dailyRequests/dailyBudgetUsd to null to disable.", "dailyBudgetUsd": null, "dailyRequests": null, "resetUtcHour": 0 }, "enabled": false, "endpoint": "https://ccs.the1studio.org", "models": { "gpt-5.1": { "capabilities": [ "text", "reasoning", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "premium" }, "o3": { "capabilities": [ "text", "reasoning", "tool-use" ], "context_window": 200000, "enabled": false, "tier": "premium" } }, "type": "remote-proxy" }, "kimi": { "_comment": "Direct Moonshot route via CCS, served through the flat /v1/messages endpoint routed by model name (the legacy /api/provider/kimi prefix was removed upstream — now 404). Adds Kimi variants the former oc-go-cc route did NOT honor. ALSO serves OpenAI vision models (gpt-5.4-mini/gpt-5.4/gpt-5.5) via the CCS unified catalog — CLIProxy routes by model name, not path — verified working + 3/3 on the vision benchmark 2026-06-01, even though the dedicated codex endpoint is down (#44). Only text+vision verified on this route (reasoning/tool-use untested → not tagged). Per the one-per-family whitelist, only gpt-5.4-mini ships enabled (benchmarked vision primary: cheap + 3/3); gpt-5.4/gpt-5.5 are disabled fallbacks consumers can enable.", "auth": "gh-token", "budget": { "_comment": "Opt-in per-provider daily limits. When 95% of either limit is reached the selector skips this provider for the rest of the UTC day. Set dailyRequests/dailyBudgetUsd to null to disable.", "dailyBudgetUsd": null, "dailyRequests": null, "resetUtcHour": 0 }, "enabled": true, "endpoint": "https://ccs.the1studio.org", "models": { "gpt-5.4": { "_comment": "OpenAI via CCS. Vision benchmark 2026-06-01: 3/3, fastest (~2.6s). Disabled per one-per-family whitelist; enable for a faster vision primary.", "capabilities": [ "text", "vision" ], "context_window": 128000, "enabled": false, "tier": "standard" }, "gpt-5.4-mini": { "_comment": "OpenAI model via CCS unified catalog. Vision benchmark 2026-06-01: 3/3 correct, clean output, ~4.8s — vision-pipe primary. tier=standard so it does NOT win plain-text routing over budget models.", "capabilities": [ "text", "vision" ], "context_window": 128000, "enabled": true, "tier": "standard" }, "gpt-5.5": { "_comment": "OpenAI flagship via CCS. Vision benchmark 2026-06-01: 3/3 (~3.6s). Disabled per whitelist; enable for highest-quality vision fallback.", "capabilities": [ "text", "vision" ], "context_window": 128000, "enabled": false, "tier": "premium" }, "gpt-image-1.5": { "_comment": "Image generation via CCS POST /v1/images/generations. Verified 2026-08-06: HTTP 200, data[0].b64_json (~1.1MB PNG) for a 1024x1024 prompt. NOT usable on the chat-completions path — capabilities intentionally omit \"text\" so capability-based selection can never pick it for a normal delegation.", "capabilities": [ "image-generation" ], "context_window": 0, "enabled": true, "tier": "standard" }, "gpt-image-2": { "_comment": "Image generation via CCS POST /v1/images/generations. Advertised by the endpoint 2026-08-06; not individually benchmarked.", "capabilities": [ "image-generation" ], "context_window": 0, "enabled": true, "tier": "standard" }, "grok-imagine-image": { "_comment": "Disabled 2026-08-20: CCS no longer advertises this id on /v1/models (the endpoint still serves the gpt-image-* generators, so this is the model being withdrawn, not the image path). Added 2026-08-06 from the endpoint's own advertisement and never re-checked. Caught by mr-validate-model-catalog.cjs. Re-enable only when /v1/models lists it again.", "capabilities": [ "image-generation" ], "context_window": 0, "enabled": false, "tier": "budget" }, "grok-imagine-image-quality": { "_comment": "Disabled 2026-08-20: CCS no longer advertises this higher-quality grok variant's id on /v1/models (the endpoint still serves the gpt-image-* generators, so this is the model being withdrawn, not the image path). Added 2026-08-06 from the endpoint's own advertisement and never re-checked. Caught by mr-validate-model-catalog.cjs. Re-enable only when /v1/models lists it again.", "capabilities": [ "image-generation" ], "context_window": 0, "enabled": false, "tier": "standard" }, "kimi-for-coding": { "_comment": "RE-ENABLED 2026-08-24 for the STATIC failover.pipe ONLY, superseding the 2026-08-22 DISABLED text below (kept for history). Re-probed live: `bash .claude/scripts/mr-probe-providers.sh --tool-use --provider kimi --model kimi-for-coding --runs 3` -> PASS 3/3 (0 violations, responded as kimi-k3-256k), directly contradicting the 08-22 measured-dead note two days later — that note is now stale. Re-enabled to give modelRouter.failover.pipe a SECOND provider: opencode-go was the pipe's only provider, so one open circuit breaker on it skipped the ENTIRE pipe (see t1k-config-mr.json _pipeComment). The `reasoning` capability tag is DELIBERATELY DROPPED (was text/reasoning/tool-use, now text/tool-use) so this re-enable does NOT reopen the studio's deepseek-only reasoning-routing POLICY decision (2026-08-22, see glm-5.2/kimi-k2.6's _comments): mr-task-interceptor.cjs's capability-based PRIMARY selection only offers reasoning-tagged premium candidates to reasoning-tagged tasks, while the static failover.pipe (this model's actual use here) is never capability-filtered at all — dropping the tag costs the pipe nothing. Re-add `reasoning` only if the studio policy changes AND a fresh probe confirms it under that tag. DISABLED 2026-08-22 (superseded): measured dead — HTTP 000000 (curl got no response within 30s, 2026-08-22T12:12:48Z), 2x AUTH-FAIL (403), 3x PROTOCOL-FAIL (a tool_use content block emitted with stop_reason != \"tool_use\", the #215 predicate) — 25 pass-all-providers-failed rows in 7d and nothing else. ALSO superseded independently by the studio's deepseek-only reasoning-routing decision (glm-5.2 disabled the same day for the same policy reason, see its _comment) — even if this id recovers, it is no longer eligible for reasoning-tagged routing by POLICY, not just by liveness. Superseded ENABLED text 2026-08-19: was the routed kimi coding primary, replacing the #272 kimi-k2.6 stopgap; this is the id the Kimi Code docs sanction across model generations. 2026-08-25 (USER DECISION, same change as t1k-config-mr.json failover.pipe): this model was removed from the pipe, so it no longer ships enabled. The failover.pipe is now opencode-go-only (single provider), so keeping this hop enabled would be dead weight. NOTE: disabling it removes the only live non-opencode-go provider hop available to the failover pipe (codex is enabled:false, #44 auth-dead) — the accepted single-provider risk this creates is recorded in t1k-config-mr.json failover._pipeComment. The other models under this provider key are UNTOUCHED by this change, but they are NOT all enabled and an earlier revision of this sentence wrongly said they were. Actual state: gpt-5.4-mini is enabled and is the SOLE enabled vision model in the entire catalog; gpt-5.4 and gpt-5.5 are enabled:false and were already so before this change (one-per-family whitelist); gpt-image-1.5 and gpt-image-2 are enabled and are the only image-generation models. That is why the provider stays in security.allowedProviders even though every kimi-* model is now disabled: the provider key is a misnomer, and dropping it would empty the vision and image-generation pipes outright. Vision is therefore a single-model, single-provider pipe — pre-existing, not caused by this change, but worth knowing.", "capabilities": [ "text", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "premium" }, "kimi-k2": { "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "budget" }, "kimi-k2-thinking": { "capabilities": [ "text", "reasoning", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "standard" }, "kimi-k2.5": { "_comment": "DISABLED 2026-08-13 (#222) on measured evidence: 100 recorded hops, 6 successes (6%), 73 timeouts — 89% of every timeout the router has ever logged — at a 240s median, i.e. the typical hop never completes and burns the whole ceiling before failing over. Its 6 successes took 120/164/173/174/231/240s, so it is not merely slow-but-working. Left enabled it stays reachable via capability-based selection even though modelMapping no longer names it. Re-enable only with evidence it can complete a request.", "capabilities": [ "text", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "budget" }, "kimi-k2.6": { "_comment": "DISABLED 2026-08-22: same studio deepseek-only reasoning-routing decision as kimi-for-coding/glm-5.2 (see their _comments). This id carried BOTH the premium `reasoning` tag AND the vision-pipe fallback slot (providers-config.json capabilityPipes.vision, 2nd after gpt-5.4-mini) — disabling it removes that vision fallback, but gpt-5.4-mini remains the enabled vision primary so vision routing is NOT broken, only its single backstop is gone. Re-enable only if the deepseek-only policy changes. Superseded ENABLED text 2026-08-18 (#272): was the kimi premium primary, replacing the retired kimi-k2.7-code; NOT kimi-k2.5, which stays disabled on its own measured 6%-success evidence (#222).", "capabilities": [ "text", "reasoning", "vision", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "premium" }, "kimi-k2.7-code": { "_comment": "DISABLED 2026-08-18 (#272): RETIRED UPSTREAM. CCS returns HTTP 400 {\"type\":\"invalid_request_error\",\"message\":\"unknown provider for model kimi-k2.7-code\"} — the whole k2.7 family is gone (kimi-k2.7 and kimi-latest 400 identically; k2.6/k2-thinking/k2.5/k2 all answer 200). This is a model retirement, not a quality call, so unlike kimi-k2.5 there is no evidence bar for re-enabling: re-enable only if CCS lists it again. It was the shipped kimi primary AND hop 2 of failover.pipe AND a loadBalance target, so every kimi hop was a guaranteed 400 that still had to fail before the pipe advanced.", "capabilities": [ "text", "reasoning", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "premium" } }, "type": "remote-proxy" }, "opencode-go": { "_comment": "Re-verified 2026-08-10: deepseek-v4-flash region lock CLEARED (workspace opted into the China-hosted latest) — now returns HTTP 200 via CCS (3/3 stable) and tool_use works; promoted to the primary delegation model (see t1k-config-mr.json modelMapping). gpt-5.6-luna is currently unreachable (HTTP 000 via CCS) and was demoted from primary — re-promote once its key tier is fixed (older keys 429). qwen3.7-max returns 200 and is eligible to re-enable. The .model field in responses is unreliable — the router log is the source of truth.", "auth": "gh-token", "budget": { "_comment": "Opt-in per-provider daily limits. When 95% of either limit is reached the selector skips this provider for the rest of the UTC day. Set dailyRequests/dailyBudgetUsd to null to disable.", "dailyBudgetUsd": null, "dailyRequests": null, "resetUtcHour": 0 }, "enabled": true, "endpoint": "https://ccs.the1studio.org", "models": { "deepseek-v4-flash": { "_comment": "Re-enabled 2026-08-10: region lock cleared. Verified 200 via CCS (3/3) + tool_use works. Primary delegation model (t1k-config-mr.json modelMapping claude-sonnet-4-6) — cheap budget tier, text+reasoning+tool-use, 128k ctx. 2026-08-24 (user decision): `long-context` ADDED so the growth agents (Explore/general-purpose) and any >50000-char prompt can route here instead of minimax-m3. This capability is INERT ON ITS OWN — the wantsLongContext branch of pickFromCandidates sorts context_window DESC, so minimax-m3's 1,000,000 window beats this 128,000 one every time. It only takes effect paired with capabilityPipes[\"long-context\"] listing this model FIRST, because pipeForCaps is consulted before that sort. Remove either half and long-context reverts to minimax-m3. RISK: #249 measured Explore pulling ~830k tokens through a 128k-window model with 0/7 hops surviving; minimax-m3's 1M window only reached 3/7 on ~318k payloads (client-side autocompact thrashing), so the wide model was never a reliable save.", "capabilities": [ "text", "reasoning", "tool-use", "long-context" ], "context_window": 128000, "enabled": true, "tier": "budget" }, "deepseek-v4-pro": { "_comment": "DISABLED 2026-08-25 (USER DECISION): the studio narrowed routing to deepseek-v4-flash ALONE, reasoning-tagged delegation included. Previously this was the highest-tier enabled `reasoning` candidate and won every reasoning-tagged selection (see #368's carve-out and tests/test-reasoning-routes-deepseek.sh, whose Case 1 asserted exactly that and is INVERTED in this same change rather than deleted). The reasoning pipe does NOT empty: deepseek-v4-flash carries the `reasoning` capability tag itself, so selection falls to it. What is given up is the TIER, not the capability — audit, security, architecture and root-cause work now runs on the budget model. Re-enable if that quality trade proves wrong; nothing structural depends on it being off. ", "capabilities": [ "text", "reasoning", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "standard" }, "glm-5": { "capabilities": [ "text", "long-context", "tool-use" ], "context_window": 200000, "enabled": false, "tier": "standard" }, "glm-5.1": { "_comment": "vision tag removed 2026-06-01: scored 0/3 on an empirical vision benchmark. Disabled 2026-06-19 because glm-5.2 is the newer GLM family member (one-per-family whitelist).", "capabilities": [ "text", "reasoning", "long-context", "tool-use" ], "context_window": 200000, "enabled": false, "tier": "premium" }, "glm-5.2": { "_comment": "DISABLED 2026-08-22: explicit maintainer decision — the studio routes reasoning-tagged delegation to DeepSeek only, so glm-5.2 no longer ships enabled regardless of its family-newest/premium status. This is a POLICY choice, not a quality or liveness finding (contrast the kimi-for-coding/kimi-k2.6 disables below, which are also measured-dead) — re-enable only if that policy changes. With this disabled, deepseek-v4-pro (standard) is the highest-tier enabled `reasoning` candidate and `wantsQuality` sort (mr-task-interceptor.cjs pickFromCandidates, premium-tier-first for reasoning) resolves to it.", "capabilities": [ "text", "reasoning", "long-context", "tool-use" ], "context_window": 200000, "enabled": false, "tier": "premium" }, "gpt-5.6-luna": { "_comment": "DISABLED 2026-08-14 (#229): emits a tool_use content block with stop_reason \"end_turn\" in 7 of 10 probes — an Anthropic tool-use contract violation. A client reads end_turn as \"turn finished\", so it never executes the tool and never sends a tool_result: the call is silently dropped and a tool-driven agent returns HTTP 200 having done nothing. Intermittent (3/10 correct), which reads as flakiness rather than a broken model. deepseek-v4-flash and kimi-k2.7-code measured 0/5 violations on the identical request, so this is model-specific, not the CCS path. Re-enable only when a probe run shows stop_reason=tool_use consistently. RE-MEASURED 2026-08-21T18:38Z (UTC; 2026-08-22 local): 9 of 10 runs VIOLATION — unresolved and worse than the 7/10 first recorded. Control on the same endpoint, same request, same run: deepseek-v4-flash 10/10 OK, so this stays model-specific, not the CCS path. Evidence produced by `bash .claude/scripts/mr-probe-providers.sh --tool-use --provider opencode-go --model gpt-5.6-luna --runs 10` — the contract probe added for this, which can target a DISABLED model precisely because the liveness plan cannot (it filters enabled == true, so the model needing evidence was the one it could never measure). Re-check with that command; it exits 0 only when EVERY run is OK, 1 on any violation, and 2 when the runs are inconclusive.", "capabilities": [ "text", "reasoning", "long-context", "tool-use" ], "context_window": 200000, "enabled": false, "tier": "premium" }, "mimo-v2-omni": { "capabilities": [ "text", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "budget" }, "mimo-v2-pro": { "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "standard" }, "mimo-v2.5": { "capabilities": [ "text", "tool-use" ], "context_window": 256000, "enabled": false, "tier": "budget" }, "mimo-v2.5-pro": { "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "standard" }, "minimax-m2.5": { "capabilities": [ "text", "long-context" ], "context_window": 1000000, "enabled": false, "tier": "budget" }, "minimax-m2.7": { "capabilities": [ "text", "long-context" ], "context_window": 1000000, "enabled": false, "tier": "standard" }, "minimax-m3": { "_comment": "DISABLED 2026-08-29 (user decision: route everything to deepseek-v4-flash). Not a quality or liveness finding - it probed 10/10 with zero tool-use contract violations on 2026-08-28, tied with the flash control. Disabled because deepseek-v4-flash's capabilities are a strict SUPERSET of this model's, so routing loses nothing by excluding it, and a single routing target is the stated preference. Re-enable only on an explicit decision to widen routing again - the tool-use evidence is already clean. Prior comment: tool-use added 2026-08-15 (#249) from measurement, not assumption. The omission was a catalog error: 5/5 probes returned a BUILD_ID value obtainable ONLY by calling Read on a file created after the model's training cut-off, so the tool call demonstrably happened. It matters because this is the widest window in the catalog (1M) and the long-context candidate sort is context_window DESC — while `tool-use` was missing, this model was silently ineligible for every agentic long-context delegation, leaving glm-5.2 (200K) as the sole candidate for ~830K-token payloads. Caveat for reviewers: it interleaves visible <think> reasoning into its reply in roughly half of runs (3/5 here) — cosmetically noisy, correctness unaffected. Distinct from #229's gpt-5.6-luna defect, which was a protocol violation (tool_use block emitted with stop_reason=end_turn, so the call was silently dropped); this model completes the tool round-trip correctly.", "capabilities": [ "text", "long-context", "tool-use" ], "context_window": 1000000, "enabled": false, "tier": "standard" }, "qwen3.5-plus": { "capabilities": [ "text" ], "context_window": 128000, "enabled": false, "tier": "budget" }, "qwen3.6-plus": { "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "budget" }, "qwen3.7-max": { "_comment": "Disabled 2026-06-19: the model name does not exist on the CCS flat /v1/messages endpoint (HTTP 401). It was added from the legacy oc-go-cc catalog 2026-05-28. Re-enable only after CCS actually serves it.", "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "standard" }, "qwen3.7-plus": { "_comment": "DISABLED 2026-08-29 (user decision: route everything to deepseek-v4-flash). Not a quality or liveness finding - it probed 10/10 with zero tool-use contract violations on 2026-08-28, tied with the flash control. Disabled because deepseek-v4-flash's capabilities are a strict SUPERSET of this model's, so routing loses nothing by excluding it, and a single routing target is the stated preference. Re-enable only on an explicit decision to widen routing again - the tool-use evidence is already clean. Prior comment: (none)", "capabilities": [ "text", "tool-use" ], "context_window": 128000, "enabled": false, "tier": "standard" } }, "type": "remote-hosted" } }}