前言¶
DeepSeek Harness(DSH)在处理复杂任务时,模型会输出长串的 reasoning_content,但这串思考过程不会直接变成对用户可见的状态行。现有的 progress-narrator 类插件通过提示词引导主模型逐句叙述,这会挤占任务的输出配额,且 OpenAI 的 Codex 迁移指南也建议移除此类前导提示。
dsh-progress-summary 插件采用另一种思路:让一个辅助模型在后台读取最近的推理片段,生成一行简短的状态摘要,显示在 Web UI 的输入框上方和 dsh-tui 的状态行上。这样做不需要修改主模型的提示,也不会与任务争夺输出空间。
这是什么¶
dsh-progress-summary 是 DeepSeek Harness 的一个客户端插件,由维护者 tastynoob 开发。它的核心作用是「离线进度叙述」,即从模型的链上思考中提取关键信息,生成一行紧凑的状态行,在 Web 界面和 TUI 两种前端上呈现。
插件依赖 dsh.bundle.patch 配置,通过 cordis.patch.yml 插入状态行,并使用 dsh.client 让 Web 端加载浏览器侧代码。它不依赖任何 DSH 核心包,安装时不会与宿主的核心版本冲突。
核心功能¶
插件在两个地方显示同一行摘要:Web UI 的输入框上方,以及 dsh-tui 的状态行上方。它不会修改对话记录中的工作详情模式,也不增加第五种模式。
显示内容由两层触发策略决定:
- 免费行:在回合开始时和每次工具调用后输出。默认关闭,需要配置
quickLines: true才生效。 - 模型行:仅在工具调用前触发,且满足两个阈值:
- 时间间隔:距离上次模型行至少
minIntervalMs(默认 20 秒) - Token 数量:自上次模型行以来新增推理至少
minTokens(默认 600)
如果两个条件均未满足,插件会缓冲内容并在下一个工具边界重新检查。没有工具调用的回合不会产生模型行,这是为了不打断正在进行的推理块。
模型行的输出上限由 maxPerTurn(默认 40 次)、maxTokens(默认 96 个输出 token)和 effort: off 决定。每行最多 128 个字符,最多占用两行显示。
安装与启用¶
从 Git 标签安装(无需注册表):
dsh plugin --profile web add "github:tastynoob/dsh-progress-summary#v0.1.0"
dsh plugin --profile dsh-tui add "github:tastynoob/dsh-progress-summary#v0.1.0" # 可选
从 npm 安装(发布后可用):
dsh plugin --profile web add dsh-progress-summary
dsh plugin --profile dsh-tui add dsh-progress-summary # 可选
安装后,Web 端可在「设置 → 通用 → Show progress summary」中开关显示,TUI 端通过 tui: true 配置启用。配置项中的 enabled: true 是主开关。
配置项¶
| 键 | 默认值 | 含义 |
|---|---|---|
enabled |
true |
总开关,也是 Web 端设置中的开关 |
provider / model |
auto |
跟随会话自己的路由;否则固定一个路由 |
effort |
off |
辅助调用的推理 effort |
maxTokens |
96 |
单次输出的 token 上限 |
timeoutMs |
8000 |
单次调用超时时间 |
minIntervalMs |
20000 |
模型行之间的时间下限 |
minTokens |
600 |
工具边界上的 token 下限 |
charsPerToken |
3 |
用于估算 token 的字符数除数 |
excerptChars |
700 |
发送给模型的推理尾部长度 |
maxLineChars |
128 |
渲染行的字符硬上限 |
maxPerTurn |
40 |
每回合辅助调用的最大次数 |
lang |
auto |
语言设置:auto 跟随宿主区域,或固定为 zh / en |
publish |
true |
提交可忽略的记录,以便 Web UI 接收行 |
tui |
true |
向 TUI 贡献行 |
quickLines |
false |
启用回合开始和工具调用后的免费行 |
subagents |
false |
是否叙述子代理会话 |
debug |
true |
在 ~/.dsh/ 下追加有界诊断日志 |
标记为 live 的配置项是易变的:保存后会在下一个工具边界生效,无需重启。
适用场景与注意事项¶
适合需要在 Web UI 和 TUI 中快速掌握当前任务进度的 DSH 用户。插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证(MIT)。
已知限制包括:每行最多 128 字符、最多两行显示;每回合最多 40 次调用;没有工具调用的回合不会产生模型行;配置错误的 provider/model 会静默失败,界面不会显示行。
小结¶
dsh-progress-summary 通过一个轻量级辅助调用,将长串推理转化为一行状态摘要,既不挤占主任务的输出配额,也不会打断正在进行的推理。适合希望在 Web 界面和 TUI 中获得即时进度反馈的开发者。
- 插件主页:https://github.com/tastynoob/dsh-progress-summary
- SkillHub 目录:https://www.skillhub.cn/plugins/tastynoob/dsh-progress-summary