- 홈
- 플러그인
- 비전, 음성 및 멀티모달
- dsh-mimo-plugin
dsh-mimo-plugin
yyfather/dsh-mimo-plugin
MiMo (Xiaomi) tools as a DSH profile plugin: web search, image/audio/video understanding, ASR transcription, TTS, voice design and voice cloning — native agent tools with a Settings page for the API key.
설치
dsh plugin --profile web add github:yyfather/dsh-mimo-pluginREADME
dsh-mimo-plugin
MiMo (Xiaomi) capabilities packaged as a standard DeepSeek Harness (DSH) Cordis dynamic plugin — 8 native agent tools, no Python / MCP needed.
一个把小米 MiMo 能力(联网搜索、图片/音频/视频理解、专用 ASR 转写、语音合成、音色设计、音色克隆)封装成 DSH 原生插件工具的标准包。首次使用只需填一次 API Key 并保存。仓库不含任何密钥。
🧰 工具(Tools)
| 工具 | 说明 |
|---|---|
mimo_web_search | 联网搜索(带引用来源;country/region/city 定位、max_results、thinking) |
mimo_understand_image | 图片理解(本地路径 / http(s) URL / data URL) |
mimo_understand_audio | 通用音频理解(这是什么声音 / 风格 / 几个人说话) |
mimo_transcribe_audio | 专用 ASR 转写(mimo-v2.5-asr,language auto/zh/en,仅 wav/mp3 ≤10MB) |
mimo_understand_video | 视频理解(fps 0.1-10、resolution default/max) |
mimo_tts | 语音合成(冰糖 / 茉莉 / 苏打 / 白桦 / mimo_default / Mia / Chloe / Milo / Dean) |
mimo_design_voice | 台词设计 + 语音合成(可返回优化文本预览) |
mimo_clone_voice | 用 ≤10MB 样音克隆声线 + 合成(可选 style) |
📦 安装(让 AI 帮你装 / 手动装)
方案 A:让 Agent 自行注册(推荐,最快)
对 Harness 里的 AI 说一句(或直接粘贴 README 给它):
读取本仓库的
manifest.json和host.js/client.js,用cordis_define创建一个 Cordis 动态插件(code.host= host.js 全文,code.client= client.js 全文,即一个 Package 包含两半),然后cordis_run激活。
方案 B:手动
- 新建 Cordis Plugin:
idPrefix用mimo(4 个小写字母)。 code.host粘贴 host.js 全文,code.client粘贴 client.js 全文(两者在同一个 Package 里)。cordis_run激活(Client 部分需在 UI 点允许)。
🚀 首次使用(配置 API Key)
激活后两种方式填写并保存小米 MiMo API Key(获取地址:小米大模型开放平台):
- 对话中的 插件卡片(“首次使用:请填写小米 MiMo API Key”),或
- 设置 → MiMo(可改 Base URL、6 个模型名、默认输出目录、清除密钥)
密钥只回显掩码(sk-***);明文只保存在本机 <workspace>\.mimo\mimo-config.json(见 config.example.json),不会入库、不会回传。未配置时调用工具会提示你先去配置。
🧭 使用规则(自动注入)
插件激活时会把使用规则作为 systemPrompt 段(mimo-tools-usage,order 500)注入每次对话,AI 会自觉按流程使用:
- 语音生成 → 先用
ask_user_question一次性收集参数(文本/音色/语速/音调/格式/保存位置,已明确的跳过)→ 立即调mimo_tts并显式传output_dir→ 完成后必须报告文件路径。 - “设计 XX 风格音色” →
mimo_design_voice;给样本克隆 →mimo_clone_voice。 - “转写/转录/识别这段语音” →
mimo_transcribe_audio;对音频内容提问(什么声音/什么风格)→mimo_understand_audio。 - 语速 0.5-2.0(默认 1.0);音调 0.8-1.5(默认 1.0);格式 mp3|wav(默认 mp3)。
📁 目录结构
dsh-mimo-plugin/
├── README.md 本文档
├── manifest.json 机器可读清单(工具、模型默认值、配置键、UI 挂载点、提示词段)
├── host.js code.host 原文(工具注册 + 配置存取 + codeRuntime worker 程序)
├── client.js code.client 原文(首次使用卡片 + 设置页)
├── config.example.json 配置文件模板(不含真实密钥)
├── .gitignore 排除 .mimo/ 下含密钥的本地配置
└── LICENSE MIT
🔧 实现要点
- Host 通过
harness.defineTool+harness.registerTool注册工具;配置经fs服务持久化,相对路径以sandboxPolicy.workspaceRoot(工作区)为基准。 - API 调用(OpenAI 兼容
POST {base}/chat/completions)与音频写盘由ctx.codeRuntime(Node worker)完成:web search / 图·音·视频理解走 chat completions 的tools/image_url/input_audio/video_url,TTS 用audio参数、音频以 base64 写回output_dir。 - 与原始
mimo_mcp_server.py的差异:无需 Python /openai/mcp依赖与 MCP stdio;MIMO_API_KEY等环境变量改为配置文件字段;REASONIX_WORKSPACE概念即工作区根目录;工具名由mcp__mimo__*改为mimo_*,ask改为ask_user_question。 - 动态插件进程内生效、重启后丢失——用本仓库按上述“安装”步骤重建即可,配置无需重填。
📄 License
MIT © YYfather