先拆解任务再派子 Agent 执行,随时查看进度
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add abbaababa/dsh-workplan该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/host.js:38
hash.update(readFileSync(join(dir, file))); - 读取本地文件lib/host.js:1131
const body = readFileSync(new URL('../vendor/chart.umd.js', import.meta.url)); - 发起网络请求client.js:1444
const response = await fetch(`/dsh-workplan/plans${query}`, { - 发起网络请求lib/client.js:1444
const response = await fetch(`/dsh-workplan/plans${query}`, { - 发起网络请求src/client.ts:1494
const response = await fetch(`/dsh-workplan/plans${query}`, { - 读取本地文件src/host.ts:49
hash.update(readFileSync(join(dir, file))) - 读取本地文件src/host.ts:1238
const body = readFileSync(new URL('../vendor/chart.umd.js', import.meta.url))
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
自动任务分解 + 真实部门子 Agent + 「任务进度」面板,给 DeepSeek Harness 用;没有任何第三方运行时依赖。
README
由 DeepSeek 最新模型翻译生成任务进度(dsh-workplan)
English (US) — plain-language guide: README.en.md
给 DeepSeek Harness(DSH) 加一项能力:先拆任务,再真的派人去做,最后让你一眼看懂进度。
不用装 App,不改 DSH 源码,不替换页面。 装上以后多三样东西:对话里的计划、真的部门子 Agent、左侧栏一个「任务进度」面板。
它到底做了什么(用大白话讲)
平时你给 AI 一个复杂任务,它经常「一边想一边做」,做到一半你才发现方向不对。
这个插件把节奏改成三拍:
1. 先排计划:你发出任务后、AI 真正动手前,它先写一份计划——分几个阶段、每个阶段几件具体工作、每件工作交给哪个部门、怎么做、什么算做完、可能卡在哪。
2. 计划先给你看:这份计划以「任务分解」的形式出现在对话里,包含每一步的依据与验收标准,而不是一句话糊过去。
3. 真的派人去做:确认后,每一件具体工作交给一个真实的 DSH 子 Agent 去执行(最多 5 个同时跑),结果写回会话;你在左侧栏「任务进度」里随时能看到谁在做、做到哪、哪件卡住了。
计划不是装饰品:主 Agent 必须先派发、等到部门结果回来,才能继续往下答。
展开完整文档(README 剩余 1 节)
任务进度(dsh-workplan)
English (US) — plain-language guide: README.en.md
给 DeepSeek Harness(DSH) 加一项能力:先拆任务,再真的派人去做,最后让你一眼看懂进度。
不用装 App,不改 DSH 源码,不替换页面。 装上以后多三样东西:对话里的计划、真的部门子 Agent、左侧栏一个「任务进度」面板。
它到底做了什么(用大白话讲)
平时你给 AI 一个复杂任务,它经常「一边想一边做」,做到一半你才发现方向不对。
这个插件把节奏改成三拍:
1. 先排计划:你发出任务后、AI 真正动手前,它先写一份计划——分几个阶段、每个阶段几件具体工作、每件工作交给哪个部门、怎么做、什么算做完、可能卡在哪。
2. 计划先给你看:这份计划以「任务分解」的形式出现在对话里,包含每一步的依据与验收标准,而不是一句话糊过去。
3. 真的派人去做:确认后,每一件具体工作交给一个真实的 DSH 子 Agent 去执行(最多 5 个同时跑),结果写回会话;你在左侧栏「任务进度」里随时能看到谁在做、做到哪、哪件卡住了。
计划不是装饰品:主 Agent 必须先派发、等到部门结果回来,才能继续往下答。
装之前你需要什么
| 要求 | 说明 |
| DeepSeek Harness | 官方 Web 版(dsh web / --profile web 跑的这套) |
| Node.js | 22 或更高(node -v 自查) |
| 网络 | 安装时需要能访问 npm registry |
一键安装
dsh plugin --profile web add dsh-workplan@1.4.3
装完重启一次 DSH Web(或重新载入当前页面)让插件生效。
没有 dsh 命令的话,先确认它在 PATH 里;用 npx 起的 DSH 可以直接用完整路径调用同一个 dsh。
从源码安装(可选,想改代码时用)
git clone https://github.com/abbaababa/dsh-workplan.git
cd dsh-workplan
npm ci && npm run build
dsh plugin --profile web add "$(pwd)"
装好以后怎么用(小白版)
1. 打开 DSH Web,随便发一个有实际目标的任务,例如「帮我把这个目录的测试补到 80% 覆盖」。
2. 等一两秒,对话里会出现一块【任务分解】:阶段、子任务、部门、验收标准齐全。
3. 你只需要正常对话;主 Agent 会按规则派发计划,遇到要拍板的地方会问你。
4. 点左侧栏的「任务进度」,就能看到:
- 顶部五个数字:几个任务 / 分配了多少件工作 / 做好了 / 正在做 / 卡住了;
- 计划卡:分「进行中」「已结束」「已完成」三组,右上角是完成率。「已结束」= 这一轮已经停了(没有东西在跑)但计划还没做完,卡片会写清停在哪儿(预算用完 / 卡住了 / 还没开始),说一句「继续」即可接着推进;
- 展开任意计划:每个阶段的进度、每件具体工作由哪个部门负责、当前状态。
5. 进度数字背后的每一行,都来自同一份任务状态——不会再出现「显示 0 个正在做、但下面明明写着正在做」这种自相矛盾(1.4.3 专门修的就是这个,见下文)。
纯打招呼、道谢、问「做到哪了」不会触发拆解,不会平白多出一堆子 Agent。
三个模型工具(你不用直接调用)
| 工具 | 作用 |
| dsh_workplan_dispatch | 派发当前计划,等各部门子 Agent 完成,把结果写回会话。重复调用是幂等的。 |
| dsh_workplan_update | 主 Agent 核对结果、修正某个子任务状态与证据。子 Agent 不能调用。 |
| dsh_workplan_cancel | 取消还没派发的计划,不会伪造任何「已完成」。 |
在 plan 模式下只会给你看计划,dispatch 会被明确拦下并说明原因,不会偷偷开跑。
预算、超时与续跑(知道这些就不会误以为卡死)
| 项 | 默认值 | 怎么改 |
| 单轮派发预算 | 20 分钟 | DSH_WORKPLAN_TOTAL_TIMEOUT_MS |
| 单个子 Agent 上限 | 15 分钟 | DSH_WORKPLAN_CHILD_TIMEOUT_MS |
| 子 Agent 无进展判定 | 5 分钟 | DSH_WORKPLAN_IDLE_TIMEOUT_MS |
| 自动续跑次数 | 4 次 | DSH_WORKPLAN_MAX_RESUMES |
| 并发子 Agent | 5 个(固定) | — |
预算用尽不是失败:计划会变成「本轮预算用尽,可续跑」,已完成的不重跑,剩下的下次接着做。被判定卡住的子任务只卡它自己,不会拖垮整个计划。
环境变量写在启动 DSH 的那个 shell 里,或者写进插件配置:
// cordis.patch.yml 里的 config 字段 { "totalTimeoutMs": 1800000 } // 30 分钟
安全与隐私(可以自己复核)
- 没有第三方运行时依赖:dependencies 是空的;装出来的只有这个插件自己的 JS、配置、图标和说明。
- 不写你的磁盘:源码里没有任何 writeFileSync / appendFileSync / mkdirSync(可 grep 验证);结果只写进 DSH 会话记录。
- 不向外发数据:源码里没有 child_process、没有对外 fetch/http.request;唯一的一次 fetch 是浏览器端请求同源的 /dsh-workplan/plans。
- 面板数据要登录:该路由走 DSH 自己的鉴权,未登录直接返回 401。
- 图表库是本地自带:vendor/chart.umd.js(Chart.js 4.6.1,MIT)随包分发,不加载任何 CDN 脚本。
自己复核:
npm view dsh-workplan@1.4.3 dependencies # 应为空
grep -RInE "writeFileSync|child_process|eval\(" src # 应无命中
npm audit --omit=dev
1.5.0 改了什么(进度一眼可见)
1.5.0 只改展示层:计划卡折叠态那行「本计划 0/8 做好了 + 一根 54×5px 的小条」,换成图表组合。
| 位置 | 改前 | 改后 |
| 折叠中的计划卡 | 12px 灰字 + 迷你条 + 「0 卡住了」;百分比只在鼠标悬停的 title 里 | 44px 环形图 + 24px 百分比 + 本计划 X/Y 做好了 + 一行「现在在做什么」(卡住优先,带任务名)+ 8px 四段构成条 + 状态图例 + 阶段步进条 |
| 展开后的面板 | 一根计划级进度条 | 「分步进度」:每个阶段一行(名称、完成/总数、细条、状态),外加加权总体进度 |
| 0% 的计划 | 迷你条填充宽度为 0,轨道又与卡片底色用同一个 token,等于没有图 | 四层信号:加粗的环轨、24px「0%」、整条灰色的「还没开始」构成条、虚线阶段槽 + 当前阶段描边 |
| 0 个工作项的组头 | 未完成 0 / 已完成 0(完成率暂无数据) | 整句删除,只留环上的 —;组内空态仍在(展开可见) |
「卡住了」这类数字一个都没少,只是换了呈现:图例始终是 做好了 / 正在做 / 卡住了 / 还没开始 四项带数字。
怎么看到效果:插件的前端在 client.js 里,DSH Web 进程启动时加载它,所以先重启 DSH Web,再刷新 <http://127.0.0.1:3080>。不想改环境也能离线看对比:打开 docs/preview/progress-visual-1.5.0.html(npm run preview 可重新生成,它用同一份 CSS 渲染 1.4.3 与 1.5.0 的卡头)。
没有新增依赖,plan.ts / runtime.ts 无改动;回滚方式见 CHANGELOG.md。
1.4.3 修了什么(为什么值得升级)
1.4.3 是一次计数一致性修复:插件曾同时维护「实时任务状态」和「缓存的统计快照」两份真相,导致面板数字和实际状态对不上(截图里「0 个正在做」但下面有任务正在做,就是它)。
| 缺陷 | 表现 | 根因 |
| D1 | 面板数字长时间不更新 | 统计只在整批子 Agent 跑完后才重算,运行期间冻结 |
| D2 | 同一份数据里两个数字互相矛盾 | 计数来自缓存,部门聚合来自实时状态 |
| D3 | 「还没开始」的任务却显示 100%、带着上一次的执行者 | 预算重置绕过了状态机,旧字段没清 |
| D4 | 同一类失败,进度有时 100 有时 0 | 两处代码对「卡住」的进度语义不一致 |
修法是删掉缓存快照,只保留一份状态源:所有数字在序列化时由同一函数现场派生,并配了 7 条不变量 + 变异测试防止回退。完整报告:docs/fix-report-derived-counts-1.4.3.md。
常见问题
装完没反应? 先重启 DSH Web;再确认 ~/.dsh/profiles/web/package.json 的依赖里有 dsh-workplan。
面板一直是空的? 面板只显示当前会话的计划。换一个会话、或这个会话还没产生计划时是空的,这是正常的。
数字和以前不一样了? 1.4.3 之后数字来自真实状态而不是缓存,所以会比旧版本「更小、但更准」(旧版本的完成率经常虚高)。
子 Agent 卡住不动? 5 分钟没有任何新事件会被判定卡住并单独标红;对主 Agent 说「续跑这个计划」即可从受阻处继续。
卸载
dsh plugin --profile web remove dsh-workplan
开发与验证
npm ci
npm run check # tsc --noEmit
npm test # 99 个测试,含计数不变量、变异测试与进度图表用例
npm run build # 编译 src/.ts → lib/.js、client.js
npm run preview # 重新生成 docs/preview 里的 1.4.3 / 1.5.0 卡头对比页
lib/ 与 client.js 是提交进仓库的构建产物,CI 会重建并校验二者无差异。
许可证
MIT,见 LICENSE。Chart.js 亦为 MIT。
English (US) — plain-language guide: README.en.md预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
abbaababa/dsh-workplan
先拆解任务再派子 Agent 执行,随时查看进度
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目