前言¶
DeepSeek Harness (DSH) 的 Web 界面内置了回合计时器,位于对话底部,但存在 15 秒延迟,且测量的是整个回合的总时长。在执行长时间工具调用(如 bash)时,难以区分该步骤是刚刚启动还是已经卡顿许久。dsh-step-clock 插件针对这一场景,在 Web GUI 的输入框上方提供实时的步骤级计时器。
插件简介¶
名称:wste47/dsh-step-clock(包名:@climber47/dsh-step-clock)
维护者:climber47
定位:DSH Web GUI 的 Live per-step elapsed clock。
核心功能¶
该插件在 DSH Web 界面的 Composer Dock(输入框上方的 Dock 区域)显示计时条,包含以下能力:
1. 实时耗时显示:显示当前正在执行步骤的经过时间。
2. 状态与工具信息:显示工具名称、步骤编号以及当前状态(如“正在执行”、“模型正在思考”等)。
3. 紧凑时钟:右侧显示紧凑的 m:ss 格式时钟。
4. 并发支持:支持多个工具并行运行时的计时。
5. 思考步骤适配:专门处理 Thinking 步骤的计时锚点。
6. 已结束步骤保留:步骤完成后,计时条会保留在屏幕上直到下一次步骤启动,便于查看耗时较长的步骤。
7. 动态注入:通过创建 Tagged <style> 元素动态注入样式表。
安装与启用¶
确保你的 DSH 版本满足要求(dsh >=0.1.5-rc.1),在终端执行以下命令安装插件:
dsh plugin --profile web add @climber47/dsh-step-clock
安装完成后,重启 dsh web 服务。在下次运行步骤时,计时条将出现在输入框上方。
典型用法¶
插件会根据当前状态显示不同的文本描述。以下为可能的显示示例:
- 运行中:
● 正在执行 bash,已运行 1 分 12 秒 第 12 步 [bash] 1:12 - 已结束:
● 上一步(第 12 步)已完成,用时 3 分 45 秒 3:45 - 空闲:
● 空闲,等待下一步
适用场景与注意事项¶
该插件适合需要精确监控每个步骤执行耗时的 DSH 使用者。它不依赖轮询,而是直接读取 DSH 引擎提供的 Facts(引擎事实)。
注意事项:
1. 版本要求:需要 DSH 版本 >=0.1.5-rc.1,且宿主环境提供 React 18。
2. 无主机行为:插件的 Host half(lib/index.js)是空的,仅通过 Bundle 机制注册。
3. 数据源:仅读取引擎的 Chat timeline snapshot 和 Live running-call list,不自行轮询数据。
总结¶
dsh-step-clock 通过在 Web 界面提供实时的步骤级计时,解决了内置回合计时器延迟和粒度不足的问题。对于需要观察长耗时步骤或调试执行流程的开发者,这是一个实用的辅助工具。