前言¶
DeepSeek Harness(DSH)在本地运行时,思考过程是纯文本流,开发者或新手很难判断当前处在哪一步、在做什么、结果如何。如果不展开查看,很容易误以为卡死或模型失控。
dsh-progress-caption 在 DSH 的输入框上方加一行圆角胶囊字幕,持续回答三个问题:现在第几步、在干什么、成没成。它只做本地规则推断,不调模型、不联网、不改 DSH 数据,适合需要时刻掌握思考进度的场景。
是什么¶
- 定位:DSH 客户端插件,在输入框上方显示思维链进度字幕。
- 维护者:wanted09527。
- 核心价值:让思考过程透明化,无需点开就能看到当前步骤、动作与结果,降低对模型行为的猜测成本。
核心功能¶
1. 三层信息展示¶
字幕按准确度排序,上一层能用就不用下一层:
- 工具事实:正在跑/刚跑完的工具 + argsRaw,如「正在执行命令 npm test」「正在读取 client.js」。
- 规则表:思考文本末尾 400 字中的 17 条规则,如「正在理解你的需求」「正在定位问题」「正在对比方案」。
- 阶段话术:本回合已完成工具的类型序列,如「看完了 3 个文件」「刚改完 client.js」。
- 空档事实:刚跑完的工具 + 耗时,如「npm test 跑完了 · 1.2s」。
- 俏皮词:112 个词轮换,前两层都说不出来时顶上,如「酝酿中 / 琢磨中 / 翻箱倒柜 / 摸鱼中」。
2. 工具动词分组¶
工具名按真实会话调用频率分组,避免机翻腔:
| 工具 | 运行中 | 完成 |
|---|---|---|
| bash / pwsh | 正在执行命令 | 跑完命令 |
| read / read_image | 正在读取 | 读完了 |
| glob / grep / search_context | 正在搜索 | 搜完了 |
| write | 正在写入 | 写好了 |
| edit | 正在编辑 | 改好了 |
| web_search / web_fetch | 正在搜网络资料 | 查完资料 |
| subagent / subagent_fork / send_message | 派了小助手 | 小助手回来了 |
| compress / mnemon_* | 正在翻记忆 | 翻到相关记录 |
| present | 正在整理交付 | 整理好了 |
| todo_write | 正在列计划 | 计划列好了 |
| job_output / job_kill / list_agents | 正在等后台任务 | 后台任务有结果了 |
| ask_user_question | 正在等你回话 | 你回话了 |
| skill | 正在调技能 | 技能调完了 |
3. 对象提取规则¶
从 argsRaw 中按顺序取第一个有值的关键字:
- command / cmd
- path / file_path / files / notebook_path(只留文件名)
- description
- pattern
- query
以上都取不到时,用工具自带的兜底名词补成完整句子(如「正在读取文件」「正在搜索代码」),不出现半句,不猜测。
4. 回合小结¶
每回合结束时,在对话流末尾那条汇总行前加一行:
本回合 · 3 次工具 · 2 成 1 败 · 用时 12.4s
只统计工具结果条数、成败、耗时,用 seq 卡住回合边界,没有工具调用时不显示。这样滚动回看历史时,能一眼看出那一回合干了多少活。
5. 动画与状态标记¶
- 左侧状态点:两种模式可选
- 经典三点:三颗点接力跳,周期 1.1s,主文案静止。
- Claude 三态:每 6 秒轮换一种形态(bounce 弹跳、line 斜线、orbit 绕圈)。
- 右侧俏皮词:三个点沿曲线匀速旋转,使用非匀速缓动(两头慢、中间快),Windows 开机转圈的手感。
- 扫光动画:可选,从左往右扫过整条字幕。
- 减少动态效果:系统开启时禁用动画,需手动补一点透明度兜底。
6. 宽度与不闪策略¶
字幕条宽度与输入框卡片对齐,但不是 100%,而是减去两侧留白并限制最大宽度,保证居中不撑满。动画只改 opacity/transform/box-shadow,不改宽高,避免重排。俏皮词一格宽度写死,防止换词时文字被推来推去。.pgc-band 必须裁剪,避免收起时内容溢出到上方消息。
安装与启用¶
推荐在 DSH 插件市场安装:
- 打开插件市场(发现页)。
- 搜索
dsh-progress-caption。 - 点击安装。
市场会从 npm 拉预构建包,无需编译、无需装依赖。
命令行安装也可以,让 agent 调用 plugin_manager → install_bundle,target 填插件目录。
npm 也可以:
npm i dsh-progress-caption
注意:只用 npm i 只是下载代码,不会自动注册为 DSH 插件;想让 DSH 加载,仍需走插件市场或 install_bundle。
手动安装(从源码):
git clone https://github.com/wanted09527/dsh-progress-caption.git
然后在插件管理器里用克隆下来的目录安装。装完不需要重启,新 bundle 会通过热加载生效;替换已装包的代码才需要重启。
典型用法¶
字幕条默认显示主文案,如:
第 3 步 · 正在执行命令 npm test · 琢磨中
开启「思考原话」副行后,会从模型思考中挑一句有信息量的句子显示在下方:
第 6 步 看看配置里怎么写的
真正的问题是这条字幕没有固定宽度,每次换词都会把左边的字挤走 ◠ [盘算中]
回合结束时会显示小结:
本回合 · 3 次工具 · 2 成 1 败 · 用时 12.4s
适用场景与注意¶
适合需要持续掌握思考进度的开发者或团队,尤其是调试复杂任务、排查卡点时。
注意:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。插件只读界面快照,设置存储在浏览器本地 localStorage,不做历史归档。
总结¶
dsh-progress-caption 用本地规则推断和多层信息展示,把原本不可见的思考过程变成一行常驻字幕。它不调模型、不联网,只在 DSH 界面层做轻量封装,适合想要“看懂 AI 在干嘛”的开发者使用。