dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
把 DeepSeek Harness 的任务状态(失败、等待你处理、已完成)镜像到 macOS Atoll 灵动岛上的同一枚状态灯,并显示三种状态的计数。
把 DeepSeek Harness 的任务状态镜像到 macOS 的 Atoll 灵动岛:有任务失败、有任务在等你、有任务做完了——低头看一眼灵动岛就知道。
简体中文 | English
装了它但没装 Atoll,等于什么都没装。请在动手前确认两件事:
127.0.0.1:9020)把状态画到灵动岛;没有 Atoll,就没有灵动岛,插件会安静地什么都不做。Linux / Windows 上的 DeepSeek Harness 不需要、也用不了这个插件。
刻意做得极简:不接管任务、不执行命令、不收集数据,只把 Harness 已经产生的任务状态汇总成一枚状态灯。
状态 · 颜色 · 含义 失败 · 🔴 红 · 有任务报错了 待你处理 · 🟡 黄 · 有任务在向你提问 / 等待你授权 已完成 · 🟢 绿 · 有任务做完了
三种状态共存于同一枚灵动岛活动里,右边用 失败·待处理·完成 三个数字表示各自的数量(例如 1·0·0 表示一个失败、没有待处理、没有完成;0·0·2 表示完成了两个)。图标颜色取当前最要紧的那一档:失败 > 待处理 > 完成。
agent/error、approval/request、user-questions/request、agent/turn-stopping);Ctrl+C / 打断)既不算失败也不算完成,不会亮灯;git clone https://github.com/chenvinc/dsh-2-atoll-notice.git在 profile 目录(例如 ~/.dsh/profiles/web)里:
package.json 的 dependencies 增加 "dsh-2-atoll-notice": "link:/绝对路径/dsh-2-atoll-notice",然后 pnpm install;cordis.patch.yml 追加:- insert:
- id: atoll-notice
name: dsh-2-atoll-notice重启 dsh web 后生效。
npm install dsh-2-atoll-notice --save或直接在 Harness 的插件管理里搜索安装 dsh-2-atoll-notice——package.json 里的 dsh.bundle 会把 Host 半挂进 bundle patch,dsh.client 会把浏览器半挂进 Web GUI。
当前版本:
9020;改过的话,请在插件设置里同步。打开 设置 → Atoll 通知(设置面板左侧导航里的独立一项):
设置会即时生效,并持久化到 ~/.dsh/profiles//atoll-notice.json(只保存你改过的字段)。
装好后任何会话都能调用:
atoll_notice_status:读取连接、授权状态和三种状态的数量;atoll_notice_test:在灵动岛上点亮某个状态(failure / attention / done),用来确认链路;atoll_notice_clear:清空本地记录并撤下灵动岛。DeepSeek Harness ──事件──▶ 插件 Host 半 ──WebSocket JSON-RPC──▶ Atoll ──▶ 灵动岛
▲ 127.0.0.1:9020
└──── 设置页 = 插件 Client 半(React,走插件自己的 HTTP 路由)────┘/api/atoll-notice/* 路由,不碰其它数据。index.js、lib/*.js)要重启 dsh web;只改 client.js 会热替换,刷新页面即可;~/.dsh/atoll-notice-trace.log:module-loaded、apply-enter、routes-mounted、tools-registered,以及浏览器回报的 bundle-loaded / card-registered / section-registered;127.0.0.1 通信,不出网;node --test tests/*.test.mjs # 单元测试(92 个)
node scripts/smoke.mjs # 对着真实 Atoll 亮灯(会自己撤下)
node scripts/fake-atoll.mjs # 本地假 Atoll,供集成测试使用目录:index.js(挂载与事件绑定)、lib/atoll.js(WebSocket JSON-RPC 客户端)、lib/state.js(三态账本)、lib/format.js(线上格式)、lib/http.js(设置 API)、lib/tools.js(Agent 工具)、client.js(设置卡片)、docs/(架构与验证记录)。
有想法、遇到问题,都欢迎到 GitHub Issues 提意见。设置页里也有同一个入口。
Atoll 由 Ebullioscopic 开发;本插件只在它的第三方扩展协议之上做适配,与 Atoll 项目没有隶属关系。MIT 许可,见 LICENSE。