DeepSeek Harness 中綴重跑插件:重跑任意輪次並保留後續上下文

前言

DeepSeek Harness (DSH) 的模型上下文在每次調用時都會從會話 surface 重新推導。官方現有的“回退到末尾”式的編輯(如 dsh-edit-turn 的默認行爲)在替換一條消息時會丟棄該消息之後的所有內容。這是因爲 assistant/message 被格式明令禁止攜帶 sourceEventSeqs,無法在原地替換。

dsh-rerun-turn 插件通過官方的 surface-replace 契約實現了“中綴重跑”:重跑任意一輪模型回答,並保留後續輪次,使後續調用讀到的是修改後的歷史上下文。

核心功能

  • 中綴重跑:重跑任意一輪迴答並保留後續輪次,實現中綴拼接。
  • 官方契約:僅使用官方 surface-replace 契約,無自定義事件類型,確保兼容性。
  • 靜默載體:遮蔽載體不佔輪次、不佔步驟,對用戶不可見。
  • 重放保真:逐事件複製,丟棄 usage、內嵌 stream、系統消息等,確保上下文一致。
  • 崩潰可恢復:基於日誌狀態可恢復中斷的重跑。
  • 圖片支持:原提示詞中的圖片可重新發送。
  • UI:中英雙語,跟隨 DSH 當前語言,皮膚友好。

安裝與啓用

從官方目錄安裝:

dsh plugin --profile web add dsh-rerun-turn

從本地目錄安裝(開發用):

dsh plugin --profile web add /path/to/dsh-rerun-turn

patchReload: live 的 profile 會熱加載;否則重啓該 profile 對應的 DSH 進程。

典型用法

  1. 懸停觸發:把鼠標移到想重跑的那條模型回答上。
  2. 點擊執行:點擊動作條裏的 ↻(重跑這一輪)。
  3. 後臺處理:後臺立刻開始執行。舊的一輪及其後內容先從模型上下文移除,提示詞重新發給模型,生成結束後後續輪次自動重放回來。
  4. 結果呈現:界面上被退役的舊行隱藏,新生成的回答與重放的行正常出現,最終順序即爲模型讀到的順序。

配置

- id: dsh-rerun-turn
  config:
    confirm: false            # 默認 false:一次點擊即執行
    autoResume: true          # 默認 true:中斷的重放在會話空閒時自動續傳
    idleTimeoutMs: 600000     # 等待新回答落地的最長時間
    devTools: false           # 默認 false:端到端驗證用的 /dev/* 迴環路由
字段 默認 含義
confirm false 客戶端是否先彈一次確認。
autoResume true /state 是否在會話空閒時自動完成被中斷的重放。
idleTimeoutMs 600000 等待新回答閉合的最長時間。
devTools false 是否掛載驗證用迴環路由。

注意事項

  • 文件附件:文件附件暫時拒絕。
  • 載體形狀:靜默載體內容形狀由裝載時對已安裝適配器的一次探測決定(0.1.27)。如果無法證明適配器會丟掉空 user 消息,則使用零寬空格。
  • 重放保真:重放時會丟棄 usage、內嵌 stream、系統消息等,只保留核心事件。
  • 安全限制:宿主路由只限本機迴環,並校驗 Host 與 Origin。

結語

該插件通過中綴拼接的方式維護了模型的完整上下文,適合需要精細化調試或局部修正的場景。

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

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

小夜