zhu1090093659/dsh-web--packages-dsh-task-board ↗★ 5.8k
@linxin666/dsh-client-ui-task-board
Host-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhu1090093659/dsh-web#8d02146df032e6de8d54b7a0aba2c9da039d47e4&path:packages/dsh-task-board说明文档
阅读完整 README ↗dsh-task-board — DSH web GUI 任务看板插件
English | 中文
一个可热插拔的 DeepSeek Harness (DSH) Web GUI 插件,提供 Host 权威任务账本、真实 DSH 会话执行、Host cron 调度和可选的跨平台空闲睡眠保护。插件只通过 cordis.patch.yml 与 profile 机制挂载,不修改 DSH 源码。
- 浏览器只是异步视图;关闭页面不会停止 Host 调度或执行结算。
- 每次运行创建独立 DSH 会话,并在发送任务 Prompt 前应用钉住的工作区、agent 预设与权限。
- 可选电源保护允许显示器熄灭,同时阻止整机因空闲进入系统睡眠。
功能
- 任务看板 UI:新会话按钮下方的侧边栏入口在宽栏显示图标和文字、在折叠 rail 显示图标;看板提供五列布局、搜索、任务详情、归档/恢复、执行历史和执行会话跳转。归档任务除恢复、删除和查看 transcript 外保持只读,恢复前不能手动或定时执行。
- Host 权威账本:任务、计划和执行记录存于
$DSH_HOME/task-board/ledger-v2.json;浏览器动作只有经 Host 确认后才成为 UI 状态。 - 有界执行历史:每个任务只保留最近 20 条执行记录;新运行开始时截掉最旧的记录,使账本大小与每次写入成本不随任务历史无限增长。
- 真实执行:手动运行和定时运行共用 Host runner,新建独立会话、重命名、应用 agent 预设和
/permission,再以 queue 模式发送任务 Prompt。 - 钉子失败即关闭:工作区缺失、预设缺失或损坏、权限命令被拒绝时,任务 Prompt 不会发送。
- Host 调度器:5 段 cron 支持
*、*/n、范围、逗号列表、周日0/7和标准的日期/星期 OR 语义,时间基准为 Host 本地时区。 - 确定性恢复:已有 session id 的 running execution 在重启后继续观察;没有 session id 的启动中断会取消且不会重发。
- 实时同步:变更返回完整 revision snapshot;SSE 只提示 revision、scheduler 与 power 变化,重连和页面恢复可见时重新拉完整 snapshot。
- 可选空闲睡眠保护:默认关闭;开启后覆盖全部运行中的 DSH 会话、已启用且未归档的任务计划和未知会话状态。
- 系统提示词注入:Host 通过
SystemPrompt.section注册 order 200 的plugin:task-board段;任务看板设置可单独关闭声明而不关闭看板。该提示也会提醒 agent 在最终回复前收尾可见的todo_write计划列表。
架构与协议
src/index.ts通过官方@deepseek-ai/dsh-host-apiproxy与@deepseek-ai/dsh-host-webserverSDK 挂载 Host 服务。src/host-ledger.ts串行动作,并用临时文件加原子 rename 持久化{ schemaVersion: 2, revision, tasks, scheduler, recentRequests }。src/host-service.ts负责 cron tick、错过触发跳过、runner 启动、重启对账和电源保护理由。src/client/host-api.ts单次导入旧浏览器数据、提交幂等动作,并把 Host snapshot 当作唯一已确认 UI 状态。