连接小沐的 dsh 插件:和有持续状态的小沐聊天,小沐可调用本机 dsh 执行任务。
安装
# npm 包(预构建)
dsh plugin --profile web add muche-dsh-plugin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:NEINC1/muche-dsh-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
连接小沐(MuChe 数字生命)的 dsh 插件:可以和有持续状态的小沐聊天,小沐可调用本机 dsh 执行任务。
- 聊天浮层:左下角「小沐」入口,可拖动面板,微信式气泡,未读红点,主动消息实时弹入。
- 反向桥接:小沐可调用你本机 dsh 执行任务(出站常驻连接,不开入站端口)。
- 设置页:后端地址 + API key,每用户各自配置。
安装
在 DSH Desktop 的 DSH Terminal 里执行(裸命令默认装到当前激活 profile, 装完在托盘重启 DSH Desktop 即用):
dsh plugin add muche-dsh-plugin
升级是同一条命令(重跑即升到最新版)。当前插件版本见 package.json 的 version(现为 0.4.6),dsh 本体须为上游锁定的 0.1.5-rc.2 同 cohort(见 pnpm-workspace.yaml)。
注意 dsh --profile desktop plugin add 的父 flag 写法上游不接受(plugin
子命令自带 --profile,见上游 rejectParentOptions),必报
required option '--profile <name>' not specified——别写。
使用
- 打开 dsh 设置 → 小沐,填后端地址和 API key(小沐后台生成),保存。
- 点左下角「小沐」开聊。反向桥接配好 key 即在线,无需额外操作。
后端地址口径:远端用户填 <公网基址>/api(公网入口只把 /api 反代到后端,少写前缀会打到 SPA 首页);与后端同机时填 http://127.0.0.1:8000。
卸载
dsh plugin remove 'muche-dsh-plugin'
remove 只摘层与代码;本机配置(settings muche 命名空间)保留,重装免配。装完在托盘重启 DSH Desktop 生效。彻底清掉:按 dsh settings 用法删掉 muche 命名空间。
故障排查
| 现象 | 原因 | 做法 |
|---|---|---|
| 面板显示“连接不上” | 后端地址缺 /api 前缀,打到 SPA 首页 |
远端地址改为 <基址>/api |
| 面板 401,桥接也不在线 | API key 失效(账号重置或后台吊销) | 去小沐后台重签,到设置页更新 |
| 小沐说“dsh 没连上” | 本机 dsh 未运行,或插件版本低于桥接要求 | 先启动本机 dsh,再重跑安装命令升级插件 |
| 面板正常但桥接不工作 | dsh 本体缺本地执行依赖,或插件被加载两次(桌面端市场与 bundles 双挂载) | 看 dsh 日志有无反向桥接停用警告,升级 dsh 本体;桌面端到插件页确认小沐只装了一处 |
| 要看桥到底什么状态 | 面板“在线”只证明路由可达,工具要的是桥接池在线 | 同机 GET /api/muche/status(需过 dsh 鉴权),看 fibers[].mode/reason |
| 反向桥接任务无响应 | 同会话串行排队,或会话已失效 | 等待在途任务完成;sN 别名超 3 天消除后重开 |
| 安装时报 peer 缺失(cordis/schemastery) | 新 profile 的宿主镜像还没建,属一次性瞬态 | 不用管,重启 Desktop 后 dsh 启动镜像即补齐;dsh plugin list 见 muche-dsh-plugin 在列即正常 |
| 安装时报某子依赖 deprecated(如 node-domexception) | 警告来自桌面基础包的子树,不是本插件带的(本包零 bundle 依赖,ws 自身也零依赖) |
可忽略,不影响加载;等上游更新 |
反向桥接只调用户本机:后端把任务帧从该用户的桥接连递下来,插件在本地 dsh 进程内执行、结果原路回传。桥不在时后端明确失败,不回退服务器。
技术细节
小沐聊天 = 插件自绘面板 + 直连后端(HTTP 历史 + WS 双向),不进 dsh agent 循环、不建 dsh 会话(dsh 会话的隐藏机制与可聊天互斥,会话内 LLM 调用会注入 AGENTS.md 等噪音——面板形态从根上消除注入面)。
| 文件 | 职责 |
|---|---|
cordis.patch.yml |
组合包层:dsh plugin add 自动进 profile 层列表,免手写 YAML |
lib/index.js |
Host 入口(inject/apply) |
lib/config.js |
settings 命名空间 muche + 旧 JSON 配置迁移 |
lib/http.js |
后端 JSON 请求封装 |
lib/routes.js |
/api/muche/{chat,history,config,test} 同源路由 |
lib/backend_ws.js |
后端 WS 常驻客户端(桥接通道) |
lib/ws-proxy.js |
浏览器 WS 同源代理(backendUrl path 原样保留,远端须带 /api 前缀) |
lib/dsh-bridge.js + lib/dsh-call.js |
反向桥接:出站收 dsh_task,进程内直调 sessionController 执行,结果原路回传 |
反向桥接语义(一任务只执行一次):同 session_id 串行、task_id 去重、断连在途即失败;会话复用/新建由小沐在工作区别名里决定。message_id 幂等(服务端 Redis SET NX 300s)。
执行核按上游锁定的 0.1.5-rc.2 接口编写:进程内直调 sessionController.create/prompt(与人用客户端同一实现),回复走 session/event 事件订阅(assistant/message 累积文本,turn/end 按 reason.kind 判定完成)。turn/end 共六种终态(completed/aborted/blocked/error/max-tokens/interrupted),调用方按种收敛,不静默。
依赖:@deepseek-ai/schemastery 为 peer(用宿主那份);ws 自带。改动依赖前后必跑 pnpm test(deps.test.js 守卫);重启 Desktop 前必跑全量测试,全绿才动。
开发
cd dsh && pnpm test # 重启 Desktop 前必跑,全绿才动
许可
MIT
链接
同类插件
FuRongJun-1999/dsh-memory★ 244
白箱AGI架构探索:元认知(自我认知循环)、持续学习(知识飞轮)、世界模型(条件空间+语义时空图)、自我改进(自举纪律)、零LLM白箱管线与可审计信任护栏。
kenz1117/dsh-engram★ 7
跨会话长期记忆插件,以「记忆宫殿」隐喻重构 agent 长期记忆:双层 SQLite 分库(用户级 + 按 git origin 隔离的项目级)、FTS5 + 本地向量 RRF 融合与新鲜度/命中排序 boost、从会话日志自动摄取(含末轮)、来源审计链、巩固蒸馏与衰减遗忘,以及设置页「记忆库」面板(走廊拓扑、导览管家、翻新清单)。
Jonah-Wu23/dsh-gungnir#dsh-plugin★ 5
面向 DeepSeek Harness 的证据驱动目标校验插件。通过 /ultragoal 锁定目标,并依据命令退出码与生成产物验证完成状态,防止模型虚报任务完成。
MichengAI/dsh-pua★ 5
提供 /pua,在 Agent 失败后促使其换方法,并在宣称完成前核验收据;含 15 种公司风格、角色模式、全局与会话设置,以及可选验收循环(直到验收命令通过、达到迭代上限或用户取消)。
dsh-answer-reviewer★ 4
智能体回答审查器:每一轮 agent 的最终输出由独立 LLM 重新打分(1-100),低于阈值时携带具体反馈引导 agent 自我修正;评分以角标形式展示在该回答的操作行上(通过=绿、未达标=红,悬停可见重试次数与原因)。闸值配置经 127.0.0.1 本地 HTTP 服务实时修改,并支持输入框上方的折叠面板与 dsh-better-sidebar 侧栏配置页。
Kanadego/dsh-heartbeat★ 4
心跳循环:默认每 20 分钟自己醒一次——维护一份关于你兴趣与偏好的本地画像,按你设的兴趣范围上网搜新东西并存下来。攒到值得分享的内容,就向你绑定的会话送一份简短的素材包。能不能开口由代码里的规则决定(静默时段、忙时窗口、每日上限、冷却),说不说由那个会话里的 agent 自己判断。仅支持 Windows。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。