DSH Hub

lihang-lh/dsh-task-panel

dsh-task-panel

UIWeb UI1 GitHub stars· updated 2026-08-21

dsh-task-panel is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add github:lihang-lh/dsh-task-panel

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-task-panel DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-task-panel.svg)](https://dshhub.dev/plugins/dsh-task-panel)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from lihang-lh/dsh-task-panel, cleaned of badges and images.

老板任务面板 (Boss Task Panel)

一个运行在 DeepSeek Harness (DSH) 里的任务面板插件:把「聊天气泡」升级成「任务流水线」。

  • 老板角色:你只负责两件事 —— 发布任务验收结果
  • 插件角色:领取、规划、开发、复核全部由插件动态调度子代理完成。
  • 不再翻聊天记录:发布任务时插件自动蒸馏全部历史会话,把匹配的旧会话关联到任务上;任务每个阶段都有独立 prompt 和自动读取器,完成后自动进入「待验收」,面板角标提醒你。

1. 任务流水线(七个状态 + 彩色状态点)

Tab状态指示点颜色含义
待领取todo任务已登记,等待插件领取(或排队等待执行名额)
待澄清clarify规划代理发现需求不明确,产出问题清单,等待老板回答后定稿计划
待确认confirm琥珀规划代理已产出实施计划,等待老板确认(仅当任务关闭「自动确认」时出现)
开发中develop开发代理正在执行
暂停中paused老板点「暂停」后进入;可「继续执行」恢复原阶段,或「重新编辑」调整方向
复核中review自动复核完成,等待老板验收
已完成done绿老板验收通过

每个阶段是任务状态机的一环,迁移由「自动读取器」或老板按钮驱动,见 §3。发布粗需求(方向型任务)时,规划代理会先澄清(产出问题清单进「待澄清」)再定稿,避免自行假设。


2. 老板的工作流

发布任务 ──▶ 自动蒸馏历史会话(匹配的旧会话自动挂到任务上)
   │
   ├─ 自动领取 ──▶ 规划代理产出「实施计划 + 问题清单 questions[]」
   │                    │
   │                    ├─ 有澄清问题 ──▶ 待澄清 Tab:老板逐条回答(至少 1 个)
   │                    │                     └─▶ 澄清定稿轮(结合回答重规划)──┐
   │                    └─ 需求清晰(questions 为空)──────────────────────────┤
   │                                                                           ▼
   │                      计划定稿:写入 OpenSpec 产物 specs/proposals/<任务id>/
   │                          ├─ 自动确认(默认) ──▶ 开发代理实施(按 tasks.md 逐项勾选)
   │                          └─ 需确认 ──▶ 待确认 Tab,老板点「确认计划」
   │
   ├─ 开发完成 ──▶ 自动进入复核 ──▶ 复核代理对照验收标准 + tasks.md 逐项自检
   │
   └─ 复核通过 ──▶ 复核中 Tab ──▶ 老板点「验收通过」──▶ 已完成
                        └─ 老板点「打回开发」──▶ 带反馈重回开发

任意阶段(已完成除外)都可点「暂停」──▶ 暂停中 Tab
      ├─「继续执行」──▶ 恢复到暂停前状态(若暂停时正在执行,自动重踢对应阶段)
      └─「重新编辑」──▶ 修改标题/描述/验收标准,旧计划与产物清空,按新方向重新生成

发布时的自动蒸馏tasks.create 内部):

  1. 用任务标题+描述对全部会话做全文检索(sessionQuery.searchSessions);
  2. 取排名前 6 个命中自动挂载,读出会话标题与命中片段(面板「扫描关联会话」最多返回 8 个候选供勾选);
  3. 挂到任务的 relatedSessions —— 规划/开发代理开跑前会先读这些历史上下文,等于「接着上次的会话继续做」。

面板里还有「扫描关联会话」按钮:发布前先检索,勾选你想挂载的历史会话,再发布。


3. 阶段 prompt 与自动读取器

每个阶段一个专属 prompt(index.jsbuildPrompt

  • 领取/规划 (claim):要求子代理先读关联历史会话,以 OpenSpec 风格输出完整可执行的实施计划 {plan, steps, risks, questions}(steps 编号列出:做什么 / 涉及文件 / 如何验收),明确「不要开始实施」。
  • 澄清定稿 (refine):老板回答澄清问题后触发的规划轮,结合回答输出最终计划(不再提问)。
  • 开发 (develop):要求按已确认计划实施并自测(给出可验证证据),按 tasks.md 逐项勾选,输出 {done, summary, changedFiles, blocker}
  • 复核 (review):要求对照验收标准和 tasks.md 逐项核对实现,输出 {passed, issues, verdict}

各阶段都通过 outputSchema(JSON Schema)约束子代理的输出,结果结构化、可被读取器机械解析 —— 不靠猜文本。

澄清环节(粗需求 → 完整步骤的第一步)

规划代理发现以下任一不明确点时,必须questions 中向老板提问(每问一句话可答,why 说明为什么需要),不得自行假设:

  1. 验收标准缺失或含糊,无法判断「做完」;
  2. 目标仓库 / 改动范围不明;
  3. 与现有实现或历史会话的关系不明;
  4. 技术方案有明显分叉需要老板拍板;
  5. 需求范围过大,需要确认优先级或拆解。

存在问题时任务进入「待澄清」Tab,老板逐条回答(至少 1 个)后触发澄清定稿轮;需求清晰时 questions 为空数组,直接定稿。整个流程保证:粗方向 → 澄清 → 完整开发步骤 → 才动手。

OpenSpec 产物(计划定稿时自动写入仓库)

计划定稿时,Host 在目标仓库写入 OpenSpec 风格产物:

<repoPath>/specs/proposals/<任务id>/
├── proposal.md   # 背景与动机 / 目标与方案 / 风险 / 验收方式
└── tasks.md      # 编号任务清单,开发代理每完成一项把 [ ] 改为 [x]

开发代理与复核代理的 prompt 都会引用 tasks.md(逐项实施 / 逐项核对),实现过程与验收都有仓库内可追踪的清单。目标仓库不可写时回退到面板目录,并在卡片上标注「(目标仓库不可写,回退于面板目录)」。

自动读取器(每阶段一个,Host 侧自动驱动)

读取器触发行为
领取读取器任务进入待领取且有空闲执行名额启动规划代理;产出计划后自动流入下一步
开发读取器规划完成(自动确认)或老板确认启动开发代理;done=true 时自动转入复核
复核读取器开发代理报告完成启动复核代理;产出报告后任务停在「复核中」并点亮面板角标
恢复读取器每 20s 巡检一次检测到开发子会话已不在线(进程重启)时,在任务上标注「可重新执行」

并发控制:默认同一时间只跑 1 个开发任务,其余自动排队,队列在「待领取」Tab 可见。

暂停 / 继续 / 重新编辑

Related plugins