DSH 用户级插件:在任何会话、任何目录下直接调用本机 Xiaomi MiMo 桌面 App 的 agent。
提供两个工具:
| 工具 | 说明 |
|---|---|
mimo_chat |
向 MiMo agent 会话发消息并等待回复(含生成图片的文件路径);可复用 session_id,缺省用最近会话;new_session: true 尝试新建会话 |
mimo_sessions |
列出最近会话 (id / 标题 / 目录) 和当前账号可用的文本模型 |
- MiMo 账号的可用模型是动态的(例如
mimo-v2.5-pro曾被下线,替换为mimo-x-flash-preview)。本插件的model参数缺省时每次实时读取model-catalog.json取第一个可用文本模型,不会用到已下线的模型。 - 插件直接对接 MiMo 桌面 App 的本地 desktop-api(
127.0.0.1,凭据来自 App 数据目录),无需额外配置。
- 发现:
~/Library/Application Support/Xiaomi MiMo/desktop-api.json(macOS;Windows/Linux 路径见lib/mimo-client.js) 提供{port, token}。 - 发送回合:
POST /v1/sessions/{sid}/turns{message, model, dir, origin}。 - 收取回复:轮询
GET /v1/sessions/{sid}/messages,提取 baseline 之后 assistant 消息的 text 部分与file:产出。 - 模型目录:
model-catalog.json中modelType === "TEXT"的条目,缺省取第一个。 - 新建会话:若 DSH 进程由 MiMo 桌面 App 派生(环境含
MIMO_DESKTOP_PORT/MIMO_DESKTOP_TOKEN),可通过引擎POST /session新建;否则回退最近会话并提示在 App 里新建。
git clone https://github.com/iptton-ai/dsh-plugin-mimo.git ~/.dsh/plugins/dsh-plugin-mimoDSH web profile(参考 ~/.dsh/profiles/web/package.json):
{
"dependencies": {
"dsh-plugin-mimo": "link:/Users/<you>/.dsh/plugins/dsh-plugin-mimo"
}
}并在 ~/.dsh/profiles/web/package.json 的 cordis.patch.yml 中加入插件条目(见本仓库 cordis.patch.yml),或将其 insert 合并进现有 patch。CLI 会话同样从 ~/.dsh/plugins 加载。
- 需要保持 Xiaomi MiMo 桌面 App 运行并已登录。
- 会话级图片/文件产物以路径形式返回;
present等 GUI 行为由调用方会话处理。 - 若 MiMo 未通过环境注入引擎凭据,
new_session不可用(回退最近会话)。
MIT