feat(capacity-adapter): default vision fallback to mimo-v2.6-flash-free
Register mimo-v2.6-flash-free on opencode-zen (chat lane) with a v2.6 capability pattern, and switch the vision adapter default from the old mimo-v2.5-free. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -373,6 +373,7 @@ export const PATTERN_CAPABILITIES = [
|
||||
{ pattern: "*minimax*", caps: { reasoning: true, thinkingFormat: "minimax", thinkingCanDisable: false, contextWindow: 200000, maxOutput: 131072 } },
|
||||
|
||||
// ── Xiaomi MiMo (vision + <think>-tag reasoning, always-on, can't disable) ──
|
||||
{ pattern: "*mimo*v2.6*", caps: { vision: true, audioInput: true, videoInput: true, reasoning: true, thinkingFormat: "deepseek", thinkingCanDisable: false, contextWindow: 1048576, maxOutput: 131072 } },
|
||||
{ pattern: "*mimo*v2.5*", caps: { vision: true, audioInput: true, videoInput: true, reasoning: true, thinkingFormat: "deepseek", thinkingCanDisable: false, contextWindow: 1048576, maxOutput: 131072 } },
|
||||
{ pattern: "*mimo*omni*", caps: { vision: true, audioInput: true, reasoning: true, thinkingFormat: "deepseek", thinkingCanDisable: false, contextWindow: 262144, maxOutput: 131072 } },
|
||||
{ pattern: "*mimo*", caps: { vision: true, reasoning: true, thinkingFormat: "deepseek", thinkingCanDisable: false, contextWindow: 262144, maxOutput: 131072 } },
|
||||
|
||||
@@ -106,6 +106,7 @@ export default {
|
||||
{ id: "union-alpha", name: "Union Alpha", supportedFormats: ["claude"] },
|
||||
// Free tier on the keyed lane (chat completions)
|
||||
{ id: "deepseek-v4-flash-free", name: "DeepSeek V4 Flash Free", supportedFormats: ["openai"] },
|
||||
{ id: "mimo-v2.6-flash-free", name: "MiMo V2.6 Flash Free", supportedFormats: ["openai"] },
|
||||
{ id: "mimo-v2.5-free", name: "MiMo V2.5 Free", supportedFormats: ["openai"] },
|
||||
{ id: "ling-3.0-flash-fin-free", name: "Ling 3.0 Flash Fin Free", supportedFormats: ["openai"] },
|
||||
{ id: "nemotron-3-ultra-free", name: "Nemotron 3 Ultra Free", supportedFormats: ["openai"] },
|
||||
@@ -113,7 +114,18 @@ export default {
|
||||
// Free tier on the keyed lane (responses)
|
||||
{ id: "muse-spark-1.3-contributor-free", name: "Muse Spark 1.3 Contributor Free", targetFormat: "openai-responses", supportedFormats: ["openai-responses"] },
|
||||
{ id: "muse-spark-1.2-contributor-free", name: "Muse Spark 1.2 Contributor Free", targetFormat: "openai-responses", supportedFormats: ["openai-responses"] },
|
||||
// System One (Jev) decision models on the native /systemone endpoint
|
||||
{ id: "jev-1.13", name: "Jev 1.13", kind: "decision" },
|
||||
{ id: "jev-1.13-free", name: "Jev 1.13 Free", kind: "decision" },
|
||||
],
|
||||
serviceKinds: ["llm", "systemone"],
|
||||
systemoneConfig: {
|
||||
baseUrl: "https://opencode.ai/zen/v1/systemone",
|
||||
headers: {
|
||||
"x-opencode-client": "desktop",
|
||||
"User-Agent": "opencode/1.18.31",
|
||||
},
|
||||
},
|
||||
modelsFetcher: { url: "https://opencode.ai/zen/v1/models", type: "opencode-free" },
|
||||
passthroughModels: true,
|
||||
features: {
|
||||
|
||||
@@ -12,7 +12,7 @@ import { getCapabilitiesForModel } from "../providers/capabilities.js";
|
||||
|
||||
const CAPABILITY_KEYS = ["vision", "pdf", "audioInput", "videoInput"];
|
||||
const HARD_CAPS = new Set(CAPABILITY_KEYS);
|
||||
const DEFAULT_FALLBACK_MODEL = "oc/mimo-v2.5-free";
|
||||
const DEFAULT_FALLBACK_MODEL = "oc/mimo-v2.6-flash-free";
|
||||
|
||||
// Normalize a capability entry to { enabled, roundRobin, models }. Backward-compat:
|
||||
// accept the legacy array form [{model, enabled}] (treated as enabled, fallback).
|
||||
|
||||
@@ -21,7 +21,7 @@ const CAPACITY_ADAPTER_CAPS = [
|
||||
// pdf, videoInput temporarily hidden — no translator support yet for those blocks.
|
||||
{ key: "audioInput", label: "Audio", icon: "graphic_eq", desc: "Audio input" },
|
||||
];
|
||||
const DEFAULT_FALLBACK_MODEL = "oc/mimo-v2.5-free";
|
||||
const DEFAULT_FALLBACK_MODEL = "oc/mimo-v2.6-flash-free";
|
||||
const EMPTY_CAP_ENTRY = { enabled: true, roundRobin: false, models: [] };
|
||||
const EMPTY_CAPACITY_ADAPTER = {
|
||||
vision: { ...EMPTY_CAP_ENTRY },
|
||||
|
||||
@@ -9,7 +9,7 @@ const CHAT_ONLY = ["deepseek-v4-pro", "deepseek-v4-flash", "deepseek-v4-flash-vi
|
||||
"minimax-m3", "minimax-m2.7", "minimax-m2.5",
|
||||
"kimi-k3", "kimi-k2.7-code", "kimi-k2.6", "kimi-k2.5",
|
||||
"big-pickle", "deepseek-v4-flash-free",
|
||||
"mimo-v2.5-free", "ling-3.0-flash-fin-free", "nemotron-3-ultra-free", "nemotron-3.5-lightning-free"];
|
||||
"mimo-v2.6-flash-free", "mimo-v2.5-free", "ling-3.0-flash-fin-free", "nemotron-3-ultra-free", "nemotron-3.5-lightning-free"];
|
||||
// Models that also expose the Anthropic /messages endpoint
|
||||
const CLAUDE_CAPABLE = ["claude-fable-5", "claude-fable-5-1", "claude-opus-5",
|
||||
"claude-opus-4-8", "claude-opus-4-7", "claude-opus-4-6", "claude-opus-4-5",
|
||||
|
||||
Reference in New Issue
Block a user