前言¶
在 DeepSeek Harness(DSH)里长时间跑会话时,Token 消耗往往只体现在账单或日志里,缺少一种可感知、可持久化的「副产品」。若你希望在对话界面旁做一点轻量的仪式感——敲击木鱼、逐句流转经文、把会话用量折算成可查询的「功德」——社区插件 dsh-plugin-muyu 就是面向这一需求的 Bundle。它由 Makesupper 维护,遵循 DSH 插件开发规范与 Cordis 架构,当前版本为 0.2.0,以 MIT 许可证发布。
这是什么¶
dsh-plugin-muyu 是跨平台的电子木鱼诵经与 Token 功德修持插件:工作区右下角常驻悬浮挂件,可与对话并行;服务端维护单一功德簿,会话 Token、工具调用与挂件操作写入同一份账本。内置 8 部经文、三种木鱼/清磬音色,并支持跨平台粤语/普通话诵经语音合成(Web Speech API)。
核心功能¶
会话 Token 自动度化功德¶
服务端监听 DSH 原生 session/event 里 assistant/message 的 usage,汇总 inputTokens、outputTokens、cacheReadTokens、cacheWriteTokens;忽略 assistant/attempt 重试,避免重复记账。默认每累计 10,000 Token 自动敲木鱼 1 次、功德 +1;未满阈值的余数保存在 pendingTokens,跨宿主重启不丢失。真实用量完整记入 todayTokens/totalTokens;单次敲击在实现上封顶 108 敲。挂件每 800ms 轮询 GET /dsh-muyu/state,Token 度化触发动画、音效与功德累积,不再依赖浏览器 localStorage 独立账本。
设置面板提供 Token 页,可调整「每多少 Token 增加 1 功德」;阈值为负时进入扣功德模式(每 |N| Token 扣 1 功德),持久化到 .state.json。
传世经文与挂件交互¶
内置《般若波罗蜜多心经》(玄奘译本 14 句)、《金刚般若波罗蜜经》、《大悲心陀罗尼神咒》、《六字真言与禅林名偈》、《药师灌顶真言》、《准提神咒》、《往生咒》、《楞严咒心赞偈》。客户端与服务端共享同一权威经文源。点击木鱼时,当前句诵完才推进下一句。展开面板含 3D 木鱼、经文气泡、功德计数,以及自动修持、诵经开关、禅修设置、功德簿等工具栏。
音色与诵经语音¶
三种物理音色:sandalwood(紫檀沉音)、whitewood(清脆白木)、bell(古刹清磬)。木鱼敲击与诵经语音可分别静音,互不干扰。语音自动识别系统粤语女声(zh-HK / yue / Sinji)或普通话女声,跟随 voice.lang。
功德簿持久化¶
存储路径优先级:显式 storagePath > $DSH_HOME/muyu-data/merit_history.json > ~/.dsh/muyu-data/merit_history.json。采用临时文件加 renameSync 原子写盘;损坏 JSON 会隔离为 .corrupt-<timestamp>。写盘前获取 <merit_history.json>.lock 独占锁,桌面端与 dsh web 同时运行不会互相覆盖。
六个 DSH Tools¶
| 工具名称 | 功能 |
|---|---|
muyu_knock |
敲击木鱼积攒功德(count 1~108),推进一句经文 |
muyu_auto_knock |
启动/停止/查询自动敲木鱼(支持 0/9/21/49/108/1080 周期) |
muyu_get_merit |
查询今日/累计功德、Token、pendingTokens 及按日明细 |
muyu_select_sutra |
浏览 8 部经典或切换当前诵读 |
muyu_play_sound |
获取或切换三种音色 |
muyu_feed_tokens |
手动补记 Token(单次最多 108 × abs(tokensPerMerit),默认上限 1,080,000) |
Host 路由(loopback,供挂件调用)包括 /dsh-muyu/state、/dsh-muyu/knock、/dsh-muyu/auto、/dsh-muyu/sutra、/dsh-muyu/tokens-per-merit。修改 Host 端代码后需重启 DSH 宿主;只改前端 bundle 时刷新页面即可。
安装与启用¶
推荐从 npm 安装,由 DSH 插件入口拉取包,cordis.patch.yml 会自动插入挂件行。
桌面端:侧边栏「插件」→「添加插件」→ 输入 dsh-plugin-muyu(可带版本,如 dsh-plugin-muyu@0.2.0)→ 安装。
CLI(web profile):
dsh plugin --profile web add dsh-plugin-muyu
macOS 桌面 profile 需完全退出 Desktop 后,可使用安装包内 CLI,例如:
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add dsh-plugin-muyu
本地开发可用 patch 载入:
pnpm dsh web --patch ./dsh-plugin-muyu/cordis.patch.yml
插件是否出现在 DSH 入口取决于包内 dsh.bundle.patch 指向 cordis.patch.yml,而非 npm 关键字 alone。
配置要点¶
在 cordis.patch.yml 中常见项包括:
| 配置项 | 默认值 | 说明 |
|---|---|---|
defaultSutra |
'heart_sutra' |
初始经文 ID |
defaultSound |
'sandalwood' |
默认音色 |
autoKnockIntervalMs |
1200 |
自动修持间隔(200~60000) |
autoKnockMaxDurationMs |
1800000 |
单次自动修持最长 30 分钟 |
tokenKnockEnabled |
true |
是否按会话 Token 自动敲木鱼 |
tokensPerMerit |
10000 |
每多少 Token ±1 功德 |
storagePath |
可选 | 自定义功德簿路径 |
resetRuntimeState |
false |
启动时清除 .state.json,让默认经文/音色重新生效 |
voiceEnabled、voiceRate、voicePitch、volume 等控制服务端返回的诵经参数;挂件另有本地诵经开关偏好。
典型用法¶
- 安装并重启或刷新 DSH 后,在工作区右下角打开木鱼挂件,与 Agent 对话并行修持。
- 正常对话时,Token 由
session/event自动入账;需要补记时,让 Agent 调用muyu_feed_tokens。 - 查询进度:
muyu_get_merit;切换经文:muyu_select_sutra;批量自动敲:muyu_auto_knock。 - 在挂件「禅修设置」或 ⚡ Token 页调整阈值;需要恢复配置默认经文/音色时,将
resetRuntimeState设为true启动一次。
适用场景与注意¶
适合希望在 DSH 工作区增加可视化修持反馈、并把会话 Token 与可持久化账本绑定的开发者或个人使用。插件以当前 DSH 进程权限运行,功德数据写入本机 JSON;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系。
Host API 校验 Host 与 Origin,仅允许本机 Web 源、dsh-app://app 或同端口 loopback;POST 须 content-type: application/json。
结尾¶
dsh-plugin-muyu 把 3D 木鱼、8 部经文流转、三种音色与单一服务端功德簿收进一个 Bundle,并用六个 Tool 与 loopback Host 路由供 Agent 与挂件共用账本。进一步了解可访问目录页与仓库:
- https://www.skillhub.cn/plugins/Makesupper/dsh-plugin-muyu
- https://github.com/Makesupper/dsh-plugin-muyu