前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在開發智能體或調試會話邏輯時,我們經常需要回顧歷史對話的執行過程,而不僅僅是查看文本。現有的方式往往需要在多個窗口或標籤頁之間切換,或者僅僅依靠手動滾動來查找狀態變化。
bites-the-dsh 插件提供了一種更直接的方案:它將 DeepSeek Harness WebUI 的原生對話視圖轉化爲一個可回放的時間線。這意味着你可以在不離開當前會話界面、不打開額外面板的情況下,像播放視頻一樣重演歷史交互。
插件簡介¶
Bites the DSH 是一個爲 DeepSeek Harness WebUI 設計的只讀、可腳本控制的會話回放插件。
- 維護者:memorax-ai
- 許可證:MIT
- 核心價值:在 DSH 原生界面內提供歷史回放能力,同時保持會話源的完整性。
它通過 Harmony 補丁機制修改了 DSH 的 Conversation 和 Chat 服務,使得會話頭控制欄可以直接喚起回放模式。
核心功能¶
插件將原生對話視圖改造爲回放視圖,主要包含以下能力:
- 原生集成與入口:利用 DSH 原生的會話頭控制欄作爲入口,不開啓獨立面板。回放期間,原生編輯器、模型調用、停止、分支和助手寫入等操作均被禁用,確保視圖只讀。
- 播放控制:提供完整的播放控制,包括暫停、快進、倒放、單步執行(按事件跳轉)。支持調整播放速度和空閒間隙壓縮,以優化回放體驗。
- 直接跳轉:支持按事件、按輪次或按時間戳直接跳轉。
- 模擬打字預覽:在只讀模式下,原生編輯器會模擬顯示下一條直接的用戶消息,但不修改實際草稿。
- 腳本控制 API:插件暴露了
ctx.sessionPlayback控制器,允許其他插件或腳本通過代碼控制回放狀態。 - 歷史投影:通過 DSH 的原生
ChatView進行歷史投影,源會話與當前“回放指針”獨立運行,互不干擾。
安裝與啓用¶
在終端中執行以下命令安裝插件:
dsh plugin --profile web add @ch4acko3/bites-the-dsh
dsh harmony status --profile web
安裝完成後,確保所有補丁狀態爲 bound。然後重載 DeepSeek Harness WebUI,打開任意會話,在會話頭的控制欄中點擊 Replay session 即可進入回放模式。
典型用法:腳本控制¶
除了手動控制,插件提供的 ctx.sessionPlayback 服務允許其他插件或腳本自動化回放流程。
以下是一個使用 TypeScript 控制回放的示例:
const playback = ctx.sessionPlayback
// 進入指定會話的回放模式
playback.enter(sessionId)
// 跳轉到特定時間點(Unix epoch 毫秒)
playback.seekTime(sessionId, Date.parse('2026-08-20T12:00:00Z'))
// 設置播放速度並開始播放
playback.play(sessionId, 1)
// 暫停回放
playback.pause(sessionId)
// 退出回放模式
playback.exit(sessionId)
該服務還支持事件/輪次跳轉、反向播放、速率和空閒間隙設置、訂閱以及位置讀取。它有意不暴露任何會修改源會話的操作,確保回放過程是純粹的可視化。
適用場景與注意¶
- 適用場景:調試智能體在特定時間點的行爲、向非技術人員演示歷史對話流程、分析會話狀態機的歷史跳轉邏輯。
- 只讀約束:回放期間,原生編輯器和會話切換操作會被阻塞。插件僅修改視圖展示,不會對源會話數據產生副作用。
- 權限與安全:作爲 DSH 插件,它以 Harness 進程的權限運行。安裝前建議檢查其源碼與許可證。
總結¶
Bites the DSH 適配了 DSH 的 Harmony 生態系統,爲開發者提供了一個輕量級的會話回放工具。它通過原生 UI 的無縫集成和嚴格的只讀設計,解決了歷史會話復盤的痛點,配合腳本 API,可以作爲更復雜工作流的一部分。