前言¶
在 DeepSeek Harness(DSH)里,智能体常用 todo_write 维护会话任务清单,内置任务面板能列出待办,但每条任务只有状态点,很难一眼看出「做到哪一步」、整单又完成了多少。长回合、多步骤工作时,你需要的是按状态可视化的进度,以及在任务完成时的可选提醒,而不是反复扫清单。
下面介绍社区客户端插件 dsh-task-progress(维护者 4133chen):在 Web UI 输入框上方的任务区域,为每个会话任务渲染迷你进度条与百分比,标题行展示整体进度,并可打开完成提醒。插件以 MIT 许可发布,当前 GitHub 星标为 0;目录见 SkillHub 插件页,源码见 GitHub 仓库。
这是什么¶
dsh-task-progress 是 DeepSeek Harness 的 客户端(Web)插件,包名 @local/task-progress,版本 1.0.0。它读取会话的 todos 投影(由 @deepseek-ai/dsh-tool-todo 与 todo_write 维护),替换内置任务面板同一 dock cell,不出现两份列表;禁用插件后内置面板恢复。
一句话:给每个 session 任务一条进度条,并提供可选的任务完成提醒(应用内 toast,系统通知在可用时额外发送)。
核心功能¶
单任务与整体进度¶
任务面板中,每条任务显示:状态点、任务名、迷你进度条、百分比。
| 状态 | 进度展示 |
|---|---|
pending(待处理) |
0% |
in_progress(进行中) |
50%,带呼吸动画 |
completed(已完成) |
100%,成功色 + 删除线 |
标题行常驻整体进度条,文案形如「已完成 x/y · 百分比」。总进度按加权估算:(完成数 + 0.5 × 进行中数) / 总数,属于按状态估算的「大概进度」,不是按耗时或子任务拆分的精确百分比。
可选完成提醒¶
面板右上角铃铛按钮,默认关闭,点击开启;偏好保存在浏览器本地。
- 某条任务变为已完成时,弹出应用内提醒。
- 全部完成时提示「全部任务完成 🎉」并附会话名。
- 切换到其他会话时,仍监控原会话任务完成(跨会话);面板侧有兜底检测,5 秒内去重,避免重复提醒。
- 系统通知在环境支持时会额外发送;应用内提醒始终可用。Windows 上系统通知是否弹出取决于系统与应用通知设置。
交互与主题¶
- 点击标题行可展开/收起任务列表;折叠状态与提醒开关会记住。
- 样式只使用 Harness 的
--dsw-alias-*主题 token,随明暗主题切换。 - 界面与插件列表文案支持 8 种语言:中文、English、日本語、Español、Français、Deutsch、Русский、Português。
环境要求¶
安装前请确认:
- DeepSeek Harness(Web UI / Desktop),版本在
0.2.2-rc.1附近。 - 当前 Agent 预设已挂载
@deepseek-ai/dsh-tool-todo(standand预设默认已挂载;todos投影即数据源)。 - 插件无构建步骤:
client.js为 Harness 客户端可直接加载的普通 JS 包。
安装与启用¶
插件在 DSH 进程与用户浏览器环境中运行,安装前建议通读仓库源码与 MIT 许可证。
方式一:在 Harness 内由智能体安装(README 推荐)¶
先把插件目录放到本机(README 给出的获取方式如下):
git clone https://github.com/4133chen/dsh-task-progress.git
在任一 DSH 会话中把该目录路径告诉智能体,例如:
用 plugin_manager 把
dsh-task-progress目录安装为本地插件。
智能体会调用 plugin_manager install_bundle(绝对路径指向该目录):写入 profile 的 bundle 并热加载,通常无需重启。成功后输入框上方出现带进度的任务面板。
方式二:手动写入 profile¶
- 编辑
~/.dsh/profiles/<你的profile>/package.json,加入依赖与 bundle:
{
"dependencies": { "@local/task-progress": "link:/path/to/dsh-task-progress" },
"dsh": { "profile": { "bundles": ["...", "@local/task-progress"] } }
}
- 在 profile 目录执行
pnpm install(或使用 Harness 插件管理界面安装本地包)。 - 重启 Harness 或等待 HMR 后生效。
卸载¶
在 设置 → 插件 中禁用或移除本插件;内置任务面板会自动恢复。
典型用法¶
- 让智能体维护任务清单(调用
todo_write),面板出现在输入框上方。 - 观察每条任务的进度条:
in_progress约一半,completed满格。 - 需要提醒时,点右上角铃铛开启;再点一次关闭。
- 全部完成后标题行显示 100%;下一回合开始时,旧清单会随
todo_write生命周期清空。
实现要点(便于排查)¶
| 文件 | 作用 |
|---|---|
index.js |
Host 侧空插件,供 dsh.client 声明进入浏览器插件表 |
client.js |
读取 todos 投影、渲染面板、注册提醒 toast |
cordis.patch.yml |
bundle 补丁 |
locale/*.json |
多语言标题/描述 |
icon.svg |
插件图标 |
面板占用 conversation.input.dock 中 id: "todo"、priority: -100 的 cell,与内置面板互斥。提醒注册在 shell.overlay(id: "task-progress.toasts")。
适用场景与注意¶
适合:依赖 todo_write 的多步骤会话,希望在 Web UI 里直观看到任务推进与整单进度,并可选在完成时收到提醒的开发者与用户。
不适用或需知晓的限制(来自 README):
- 数据源是会话
todos投影,不是 Agent Teams 的共享任务板。 - 进度按状态估算,不是精确耗时百分比。
- 若不想替换内置任务面板,可自行改
client.js中的 cellid并调整样式,作为附加面板使用。
DSH 生态主张「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。本文事实均出自上述仓库 README 与 package.json。
结尾¶
dsh-task-progress 在不改变 todo_write 工作流的前提下,给会话任务清单加上 per-task 进度条、加权整体进度与可选完成提醒,并随 Harness 主题与语言设置适配界面。需要试用或贡献代码时,可打开 插件目录页 与 GitHub:4133chen/dsh-task-progress。