dsh-progress-caption:思维链进度字幕

前言

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 中按顺序取第一个有值的关键字:

  1. command / cmd
  2. path / file_path / files / notebook_path(只留文件名)
  3. description
  4. pattern
  5. 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 插件市场安装:

  1. 打开插件市场(发现页)。
  2. 搜索 dsh-progress-caption。
  3. 点击安装。

市场会从 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 在干嘛”的开发者使用。

目录页|GitHub

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜