Bites the DSH:DSH WebUI 的只读会话回放工具

前言

在 DeepSeek Harness (DSH) 的开发与调试流程中,回溯历史会话、复现特定交互或分析逻辑跳转是常见需求。Bites the DSH 是一个插件,它将原生会话界面转换为只读的回放视图,无需打开额外的面板。它允许在不修改原始会话数据的情况下,通过 UI 或脚本控制时间线。

核心功能

该插件提供了以下能力:

  • 原生入口与控件:在 DSH 原生会话头部提供入口和紧凑的回放控件。
  • 完整的回放控制:支持暂停、快进、倒放、单步调试、速度选择、空闲间隙压缩以及直接跳转到事件/回合/时间点。
  • 脚本控制接口:每个会话暴露一个可观察控制器 ctx.sessionPlayback,用于通过脚本控制回放进度。
  • 预览与投影:提供可选的模拟打字预览下一个用户消息;通过 DSH 原生 ChatView 进行历史投影,源会话和当前活动状态独立运行。

安装与启用

在终端执行以下命令安装插件并检查状态:

dsh plugin --profile web add @ch4acko3/bites-the-dsh
dsh harmony status --profile web

确认所有四个补丁报告为 bound。随后重新加载 WebUI,打开一个会话,在原生会话头部使用 Replay session 进入回放模式。

脚本控制示例

其他 DSH 插件可以通过 ctx.sessionPlayback 服务控制回放:

const playback = ctx.sessionPlayback

playback.enter(sessionId)
playback.seekTime(sessionId, Date.parse('2026-08-20T12:00:00Z'))
playback.play(sessionId, 1)
playback.pause(sessionId)
playback.exit(sessionId)

seekTime 的参数使用 Unix 毫秒时间戳,与 JavaScript Date 对象和记录的事件时间戳一致。该服务还支持事件/回合跳转、倒放、速率和空闲间隙设置、订阅以及位置读取。

注意事项

  • 只读限制:回放期间,原生编辑器、模型控制、停止、分支和助手写入操作被禁用,但查看控件保持可用。
  • 兼容性:当前兼容性目标为 DSH 0.1.0-rc.8。
  • 运行环境:需要 Node.js ^22.22.3 || >=24.11.1 和 pnpm 11。

总结

Bites the DSH 在 DSH 原生界面内提供了完全只读、可脚本控制的历史回放能力。它适合需要在开发过程中安全地审查或重放会话流程的场景。插件目录与源码仓库见下方链接。

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

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

小夜