dsh-openpeon:为 DSH Web 客户端接入 OpenPeon 音效与通知

前言

用 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 中暂无对应事件,插件未提供开关。

配置与交互

  1. 音效包:已安装列表与 registry 约 370 个包;可按名称、作者、标签、语言搜索。目录行展示作者、许可证、信任层级、体积与音效数量。Download 安装;安装后 Preview 试听、Use 设为当前包、Delete 删除。仅下载内容保存在本机。
  2. 每个时点:sound 与 notify 独立开关,另有 Preview。可只开声音、关弹窗。
  3. 子智能体:开启 Ignore subagent alerts 后,委派子会话不发声、不通知,避免多个子任务同时结束时的重复提示。
  4. 总开关与音量:顶部开关启用提醒,滑块调音量;偏好写入浏览器 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 安装。

  1. 在 ~/.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 或解压后的实际目录。

  1. 在该 profile 目录执行 pnpm install,并在插件目录执行 pnpm build 生成 lib/。

安装前请阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限访问网络与 $DSH_HOME,自行评估信任边界。

典型用法

经过安装与构建后,打开 DSH Web 侧边栏 Plugins,进入 dsh-openpeon:

  1. 搜索并 Download 一个音效包,Use 设为活动包。
  2. 对关心的时点分别打开 sound / notify,用 Preview 确认音色。
  3. 若同时使用子智能体委派,按需开启 Ignore subagent alerts。
  4. 打开顶部提醒总开关,调节音量,回到正常工作流等待事件触发。

适用场景与注意

适合需要「离开主屏仍能感知 DSH 会话状态」的开发者:长回合编码、批量子任务、等待审批等。不适合需要完整九类 CESP 或插件未映射的三类事件的场景。

注意:

  • 与 PeonPing / OpenPeon 官方无关联;registry 内容由第三方维护,安装前查看包的许可证与信任层级。
  • /openpeon 读取面对前端与非索引资源同级开放;写操作仅防跨站浏览器请求,不替代主机网络安全配置。
  • 偏好仅存浏览器;换设备或清站点数据需重新配置。

结尾

dsh-openpeon 把 OpenPeon 音效生态接到 DSH Web:registry 选包、六类事件可听可见、子智能体可静音。进一步了解可在社区目录与仓库查看说明与实现细节。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye