merge: integrate origin/master (v0.5.50) into gitea/new_feature

- Resolve conflicts in chatCore handlers: keep apiKey/streamErrorPatterns
  from the details-filters feature, adopt origin's stripContinuityFields,
  customToolNames, cache-inclusive usage accounting, and Responses-API
  SSE→JSON conversion
- Adopt origin's provider usage handlers (codebuddy-intl, qoder creds)
  and modality detection (audio/video inputs)
- Keep requestDetails apiKey column (schema v2) + masked key persistence

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
This commit is contained in:
2026-08-06 09:54:31 +07:00
180 changed files with 8622 additions and 6233 deletions

View File

@@ -416,6 +416,45 @@ devin auth login
devin --version`,
},
},
opendesign: {
id: "opendesign",
name: "OpenDesign",
image: "/providers/opendesign.png",
color: "#7C3AED",
description: "OpenDesign — claude.ai/design open-sourced! Agent-native design skills pack",
docsUrl: "https://github.com/manalkaff/opendesign",
configType: "guide",
notes: [
{ type: "info", text: "OpenDesign ships as a plugin/skills pack installed into Claude Code, Cursor, OpenAI Codex, Gemini CLI, or OpenCode. It inherits the host agent's model config, so once your host points at 9Router, /opendesign design sessions route through 9Router automatically — no extra env vars needed." },
{ type: "info", text: "Invoke with /opendesign <brief>. Covers decks, wireframes, interactive prototypes, design-system extraction, and brand systems, with a verifier subagent that checks output against the brief." },
],
guideSteps: [
{ step: 1, title: "Install the plugin", desc: "Pick your host below and run the matching install command from the matrix." },
{ step: 2, title: "No config needed", desc: "OpenDesign runs inside your host agent and uses its model config. If the host already routes through 9Router, /opendesign traffic does too." },
{ step: 3, title: "Start designing", desc: "Invoke OpenDesign from your agent:", value: "/opendesign make a pitch deck for a seed-stage AI company, 10 slides", copyable: true },
],
codeBlock: {
language: "bash",
code: `# Claude Code
/plugin marketplace add manalkaff/opendesign
/plugin install opendesign@opendesign
# Cursor
/add-plugin opendesign
# OpenAI Codex CLI
/plugins # search "opendesign" -> Install Plugin
# OpenAI Codex App
# Plugins sidebar -> OpenDesign (Design section) -> +
# Gemini CLI
gemini extensions install https://github.com/manalkaff/opendesign
# OpenCode
# Fetch and follow .opencode/INSTALL.md from the repo`,
},
},
// HIDDEN: gemini-cli
// "gemini-cli": {
// id: "gemini-cli",

View File

@@ -135,4 +135,16 @@ export const TTS_PROVIDER_CONFIG = {
voiceKey: "gemini-tts-voices",
voicesPerModel: true,
},
"xiaomi-mimo": {
hasLanguageDropdown: false,
hasModelSelector: true,
hasBrowseButton: false,
hasVoiceIdInput: false,
hasStyleInput: true, // style/voice instructions (role: user)
hasLanguageHint: true, // language dropdown (Auto-detect default); voices are language-independent
languageOptions: ["Chinese", "English"],
voiceSource: "hardcoded",
modelKey: "xiaomi-mimo-tts-models",
voicesPerModel: true,
},
};