前言¶
在 DeepSeek Harness(DSH)里跑 Agent,对话区往往只反映「说了什么」,很难一眼看出它此刻在执行哪一步、已经做了多少、有没有某步失败还没恢复。翻完整日志可以核对,但成本高,也容易打断你本来的节奏。
下面介绍社区插件 dsh-work-status(维护者 xsllo425,分类:客户端)。它把 Harness 会话里已经发生的事件折叠成输入框上方的一行状态;点开可看目标、当前步、最近记录与上一轮。插件不调模型、不写提示词、不对外发网络请求,只读本机会话事件流做展示。
这是什么¶
dsh-work-status 是一个 DSH bundle 插件,用尽量少的界面占用回答三个问题:它现在在做什么、已经做完了什么、有没有卡住。
默认只在输入框上方占一行,例如干活时显示当前动作与已用时,结束后显示本轮完成步数;不往对话区上浮卡片。再点一行可展开工作状态面板,再点可收起。
仓库:https://github.com/xsllo425/dsh-work-status
社区目录:https://www.skillhub.cn/plugins/xsllo425/dsh-work-status
许可:MIT(package.json 当前版本 0.13.0)。
核心功能¶
一行摘要与展开面板¶
- 默认一行:进行中显示当前动作与已用时;轮次结束后显示本轮步数等信息。
- 目标与当前问题:展示你提的要求、Agent 正在处理的小问题,过长可截断并展开。
- 三个分开的时钟:模型推理、工具调用、上下文压缩各自计时,不合并成单一「已用时」;单步耗时按类别(本地 / 网络 / 后台)区分。
- 进度条有条件才出现:仅当 Agent 维护了 todo 清单且有真实总数时,才显示类似「确定 3/4 · 75%(按当前清单)」;没有清单则不画进度行,不做 0% / 100% 装饰,也不对整轮外推 ETA。
- 动作用人话描述:如「运行测试」「修改文件」「压缩上下文」,带目标与耗时;失败标「未恢复」或「已恢复」(同一目标后来成功时);能识别时给一句说明,不甩栈。
- 上下文维护与工具行按时间混排:压缩 / 恢复 / 检索与工具步骤排在同一时间轨上,便于看出插在哪一步,且不虚增步数。
- 上一轮:上一轮折叠成一行放在分割线下,轮次结束后仍能回答「刚做了什么」。
- 会话日志:轮次、步数、调用次数、每轮推理/工具用时、压缩次数与失败、最近 24 轮等,可一键复制成纯文本。
- 步骤大白话(可选展开):按动作类型解释这一步在干什么;词典里没有的工具类型则不加解释行。
可选:本机下载进度¶
若本机存在按约定写 status.json 的下载器(状态目录 ~/.agent-downloads/jobs/),面板可多一块「下载」:文件名、百分比、速度、剩余时间、阶段等,最多列 4 条;进程已不在却仍显示下载中的会标为中断。没有该目录则不显示。读写契约见仓库内 docs/DOWNLOAD-STATUS-SPEC.md;卡片本身不下载、不取消。
刻意不做的事¶
- 不调模型、不注入提示词;数据不出本机(下载进度只读本机约定路径)。
- 不还原「思考内容」,只报告可观察事件;不知道就写不知道。
- 不评价 Agent 想得对不对。
安装与启用¶
插件通过 DSH 插件管家安装。与插件中心「安装」按钮相同的主路径是从 npm 安装:
dsh plugin --profile web add dsh-work-status
其它来源(README 原文):
| 来源 | 命令 |
|---|---|
| 本地目录 | install link:E:/path/to/dsh-work-status |
| 打包文件 | npm pack 后 install file:./dsh-work-status-<version>.tgz |
| GitHub | dsh plugin --profile web add github:xsllo425/dsh-work-status(插件内可简写为 install github:xsllo425/dsh-work-status) |
桌面端也可在 插件 → 添加插件 中直接填写仓库地址。
说明:
- 改动宿主侧(如
lib/activity.js、stateVersion)需重启 Harness;只改客户端则刷新页面即可加载。 - 卸载即移除这一行;插件不写自己的会话数据。
- 没有需要配置的项。
更新方式取决于装法:npm / GitHub 来源重跑对应 add 命令即更新到最新;本地 link: 目录内 git pull 后重启;确认已装版本可看 ~/.dsh/profiles/<profile>/node_modules/dsh-work-status/package.json 里的 version。
典型用法¶
1、安装并重载 Web UI(或按上文说明重启 Harness)。
2、正常与 Agent 对话。会话进行时,输入框上方会出现一行状态;点击展开面板,查看目标、当前步、推理/工具/压缩用时、失败是否恢复、可选 todo 进度等。
3、需要交接或排查时,在面板底部使用 日志 · 复制,得到最近多轮的纯文本摘要。
4、若与本机下载器联用,确保下载器按 docs/DOWNLOAD-STATUS-SPEC.md 写入 ~/.agent-downloads/jobs/ 下的状态;面板会自动多出下载块,无需额外配置。
5、与 dsh-claude-style 联用时:若桌宠放在输入框上方,插件会隐藏自己的徽标,改为 右键桌宠 打开同一面板;不需要联动时可在 HTML 上设 data-dws-pet="off",徽标会恢复。
本地数据与兼容性¶
步耗时参照(可选)¶
为在面板中显示「同类通常耗时」等参照,插件在本机维护小统计文件:
- 路径:
~/.dsh/work-status/step-stats.json(Windows:%USERPROFILE%/.dsh/work-status/step-stats.json) - 内容仅为工具归类键与整数毫秒,不含路径、命令、提示词、会话 id、时间戳;有样本与类别上限,体积通常为几 KB。
- 可随时删除该文件回到冷启动;设环境变量
DSH_WORK_STATUS_NO_HISTORY=1可彻底关闭历史参照。 - 仓库提供
npm run reset-stats(可先-- --dry查看路径)。
兼容性¶
- DeepSeek Harness >= 0.2.1-rc.2,Web UI。
- 主题:颜色与字体取宿主 CSS 变量(
--dsw-alias-*),浅色/深色/第三方主题跟随宿主,不绑定单一皮肤。
适用场景与注意¶
适合谁:经常在 DSH Web UI 里长时间跑 Agent、需要低干扰地观察「当前在干什么、是否卡住、上一轮做了什么」的开发者;不想为了看进度再开一套调模型或外网监控的方案。
安装前请注意:
- 插件以当前 DSH 进程权限运行,会读取会话事件与本机可选统计/下载状态文件;安装前应自行查看源码与 MIT 许可证,确认符合你的环境策略。
- 显示内容均来自会话事件流;工具结果未返回时,对应行会写「结果未知」,不猜测。
- 桌宠联动依赖 dsh-claude-style 的 DOM 类名,属于 best-effort;主题变更可能失效。
结尾¶
dsh-work-status 把 Agent 的工作状态收进标题栏一行:在做什么、做到哪、失败过没有;展开后是目标、当前步、最近记录与上一轮。它不替代日志审计,但把「可观察进度」放在输入框旁边,减少来回翻对话的成本。
- 社区目录:https://www.skillhub.cn/plugins/xsllo425/dsh-work-status
- GitHub:https://github.com/xsllo425/dsh-work-status
DSH 生态强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。选插件时以仓库 README、许可证与自身安全要求为准。