前言¶
DeepSeek Harness(DSH)里,模型能调用的能力往往写在会话技能目录里。若你同时在小米 MiMo(MiMo Desktop 或 MiMoCode)里维护一套 skill,两套目录各写各的,Harness 侧看不到 MiMo 里已有的 SKILL.md,就要重复登记或手工拷贝。
下面介绍社区插件 dsh-skill-mimo(维护者 sbVAN,分类:工作流):只读扫描 MiMo 侧 skill 来源,注册到 DSH 的技能目录;不修改 MiMo 任何文件,写入仅限 DSH 自己的缓存目录。
这是什么¶
dsh-skill-mimo 是一个 DSH 插件(npm 包名 dsh-skill-mimo,当前资料中版本 0.1.0,MIT 许可证)。它把 MiMo Desktop / MiMoCode 以及引擎、扩展、兼容路径下的 skill 读入 DeepSeek Harness 会话技能目录,使新会话里可以直接使用已在 MiMo 生态里定义的技能。
仓库:https://github.com/sbVAN/dsh-skill-mimo
社区目录页:https://www.skillhub.cn/plugins/sbVAN/dsh-skill-mimo
核心功能¶
扫描范围¶
插件按固定规则收集 skill 根目录,再递归读取符合约定的条目:
- MiMoCode 全局:
~/.config/mimocode/skills/ - 项目级:
<项目>/.mimocode/skills/、<项目>/.mimocode/skill/(最多向下三层) - 引擎内置:
engine-config/skills/(通常由 MiMo 同步;若为空,会从 MiMo 安装包内解出技能到 DSH 缓存,见下文) - 扩展:
extensions.json里各扩展的placements.skillDirs - 品牌兼容路径:
~/.agents、~/.claude、~/.codex、~/.opencode下的skills/,仅当 MiMo 的preferences.json里skillPathCompat为对应项开启时扫描(默认只有 agents)
配置里还可通过 extraSkillDirs 追加目录;各 include* 开关可单独关闭某类来源。
引擎 skill 与 references¶
引擎内置 skill 一般在 MiMo 的 engine-config/skills。该目录为空时,插件会从 <MiMo 安装目录>/resources/app.asar 解压 /electron/lib/engine/skills 到 <DSH_HOME>/cache/dsh-skill-mimo/。skill 正文中引用的相对路径(例如 references/xxx.md)必须在磁盘上真实存在,模型才能读到。
格式与校验¶
- 支持一层目录包
<name>/SKILL.md与扁平文件<name>.md - 名称须为 kebab-case,描述不能为空;不符合的条目会跳过
- 正文在注册时读入;变更后由监听或轮询触发重新注册
文件监听¶
对每个 skill 根目录递归监听:修改 SKILL.md 正文或 frontmatter、增删 skill 目录时,约一秒内重新注册,事件合并间隔 120ms。根目录尚不存在时(例如项目首次创建 .mimocode/skills)无法立即挂监听,靠 3 秒轮询补齐。
Linux 注意:fs.watch 不支持递归,仅根目录的直接增删能被察觉;子目录内变更需重启 DSH 后才会刷新。Windows 与 macOS 无此限制。
配置项 watch: false 可关闭监听。
只读与缓存¶
插件不写入 MiMo 侧任何字节,仅在 DSH 缓存目录写入:
mounted.json:是否已成功 applylast-list.json:本次注册的 skill 列表last-error.json:出错时才有
安装与启用¶
官方安装命令如下(资料原文):
dsh plugin add github:sbVAN/dsh-skill-mimo
本地开发可将当前目录链进 profile:
dsh plugin add "file:$PWD"
改完配置后重载即可;HMR 开启时改配置立即生效。更换插件包版本需重启 DSH;模块监听默认跳过 node_modules。收录进插件市场后,也可在 SkillHub 等社区目录中搜索安装(与 DeepSeek / 幻方无官方从属关系,属独立生态站点)。
插件要求 DSH 引擎版本 >=0.1.0(见 package.json 中 dsh.engines)。
配置¶
配置文件路径:~/.dsh/skill-mimo.json。示例(字段以 README 为准):
{
"includeEngineSkills": true,
"includeUserSkills": true,
"includeProjectSkills": true,
"includeBrandRoots": true,
"includeExtensions": true,
"ignoreSkillPathCompatibility": false,
"extraSkillDirs": [],
"mimoDataDir": "C:\\Users\\你\\AppData\\Roaming\\Xiaomi MiMo",
"mimoAppDir": "Z:\\MimoPlatform\\Xiaomi MiMo",
"watch": true
}
mimoDataDir、mimoAppDir 需按本机 MiMo 数据目录与安装目录填写。ignoreSkillPathCompatibility: true 时会忽略 skillPathCompat 限制(与默认行为相反,按 README 字段名理解即可)。
典型用法¶
- 安装插件并完成
skill-mimo.json中的 MiMo 路径配置。 - 在 MiMo 或 MiMoCode 惯用位置维护 skill(例如项目
.mimocode/skills/或全局~/.config/mimocode/skills/)。 - 开启 DSH 新会话,向模型询问可用 skill,例如:「你有哪些 skill 可用」,核对是否出现预期条目。
不依赖完整 DSH 进程的冒烟测试:
node test/smoke.mjs
该脚本会挂载插件、列出注册到的 skill 并检查字段。
适用场景与注意¶
适合:已在 MiMo Desktop / MiMoCode 沉淀 skill,希望在 DSH 会话里复用同一套定义、减少双份维护的开发者。
运行权限:插件以当前 DSH 进程的用户权限读取本机 MiMo 配置、项目目录与安装包;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认路径与数据访问范围可接受。
卸载:在 plugin_manager 中移除该 bundle,或删除 cordis.patch.yml 里与 skill-mimo 相关的行后再卸依赖。
结尾¶
dsh-skill-mimo 把 MiMo 侧只读扫描、监听刷新和引擎 skill 解压缓存串成一条工作流,让 DSH 技能目录与 MiMo 生态对齐。需要细节时以 README 与仓库为准: