前言¶
用 DeepSeek Harness(DSH)跑智能体时,状态多在后台切换:会话起止、模型开始干活、回合结束、报错或等待你审批。若不盯着界面,很容易错过「需要输入」或失败。社区插件 dsh-openpeon(维护者 0w0miki)在 DSH Web 侧实现 OpenPeon CESP v1.0 的非官方客户端:从 OpenPeon registry 浏览安装音效包,在六个时点播放声音,并可配合应用内横幅与系统通知。插件本身不捆绑任何音频,素材来自 registry,需自行下载选用。
这是什么¶
dsh-openpeon 是面向 DSH Web 客户端的 bundle 插件(package.json 版本 0.2.0,许可证 MIT)。它与 PeonPing 无隶属关系。核心价值是:会话状态变化时可听、可见——音效包来自 registry,配置在侧边栏 Plugins 页的 dsh-openpeon 条目下完成。
交付形态为双端:lib/index.js(宿主侧,仅 Node 内置能力)与 lib/client.js(浏览器侧);通过 cordis.patch.yml 写入 profile 的插件树,无需手写 patch 行。
核心功能¶
六个时点与 CESP 分类¶
| 音效 | 触发条件 | CESP category |
|---|---|---|
| Session start | 出现新会话 | session.start |
| Working | 智能体开始处理本回合 | task.acknowledge |
| Finished | 本回合结束(含中断) | task.complete |
| Failure | 执行出错 | task.error |
| Needs input | 等待审批或回答问题 | input.required |
| Session end | 会话消失 | session.end |
音效包不必覆盖全部六类;未提供的类别保持静音。CESP 标准另有三个类别在 DSH 中暂无对应事件,插件未提供开关。
配置与交互¶
- 音效包:已安装列表与 registry 约 370 个包;可按名称、作者、标签、语言搜索。目录行展示作者、许可证、信任层级、体积与音效数量。Download 安装;安装后 Preview 试听、Use 设为当前包、Delete 删除。仅下载内容保存在本机。
- 每个时点:sound 与 notify 独立开关,另有 Preview。可只开声音、关弹窗。
- 子智能体:开启 Ignore subagent alerts 后,委派子会话不发声、不通知,避免多个子任务同时结束时的重复提示。
- 总开关与音量:顶部开关启用提醒,滑块调音量;偏好写入浏览器 localStorage(键名
dsh-notifications)。
未安装音效包且未打开提醒时不会播放。浏览器策略要求用户先与页面交互,该页第一次提醒可能无声,之后同页生命周期内正常。
宿主侧数据与 API¶
通信统一在 HTTP 前缀 /openpeon。路由包括目录(state、registry、install、remove、active)、按 moment 取音(sound/<cesp-category>)、预览(preview/<pack>/<file>)。变更类接口(install、remove、active)校验请求来源为页面同源;无 Origin 的本地客户端(如 curl)不受此限,实际边界取决于 DSH 监听地址。
文件落在 $DSH_HOME/dsh-openpeon/:registry.json(索引缓存,约六小时有效)、state.json(当前选中包)、packs/<name>/(经 jsDelivr 按需拉取的音频与清单)。安装前校验 openpeon.json 与 registry 公布的 SHA-256;有声明时对每个音效文件做摘要校验。
安装与启用¶
README 说明:插件常放在 DSH 源码树外(示例路径 ~/coding/dsh-plugins/dsh-openpeon),作为 bundle 安装。
- 在
~/.dsh/profiles/<profile>/package.json加入依赖,并在dsh.profile.bundles中列出包名:
"dependencies": { "dsh-openpeon": "file:/Users/xzong/coding/dsh-plugins/dsh-openpeon" },
"dsh": { "profile": { "bundles": [ "…", "dsh-openpeon" ] } }
将 file: 路径改为你本机 clone 或解压后的实际目录。
- 在该 profile 目录执行
pnpm install,并在插件目录执行pnpm build生成lib/。
安装前请阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限访问网络与 $DSH_HOME,自行评估信任边界。
典型用法¶
经过安装与构建后,打开 DSH Web 侧边栏 Plugins,进入 dsh-openpeon:
- 搜索并 Download 一个音效包,Use 设为活动包。
- 对关心的时点分别打开 sound / notify,用 Preview 确认音色。
- 若同时使用子智能体委派,按需开启 Ignore subagent alerts。
- 打开顶部提醒总开关,调节音量,回到正常工作流等待事件触发。
适用场景与注意¶
适合需要「离开主屏仍能感知 DSH 会话状态」的开发者:长回合编码、批量子任务、等待审批等。不适合需要完整九类 CESP 或插件未映射的三类事件的场景。
注意:
- 与 PeonPing / OpenPeon 官方无关联;registry 内容由第三方维护,安装前查看包的许可证与信任层级。
/openpeon读取面对前端与非索引资源同级开放;写操作仅防跨站浏览器请求,不替代主机网络安全配置。- 偏好仅存浏览器;换设备或清站点数据需重新配置。
结尾¶
dsh-openpeon 把 OpenPeon 音效生态接到 DSH Web:registry 选包、六类事件可听可见、子智能体可静音。进一步了解可在社区目录与仓库查看说明与实现细节。