dsh-point: DeepSeek Harness 的分點檢查點與繼承式會話延續

DeepSeek Harness (DSH) 提供了一個通用的智能體運行環境。在處理長對話或複雜任務時,將所有歷史記錄一次性加載到上下文中往往效率低下,且容易引入無關噪聲。dsh-point 插件通過引入“Point”概念,將歷史記錄離散化,爲 DSH 提供了基於檢查點的會話管理與繼承機制。

插件簡介

dsh-point 是由 guix4ever 維護的 DSH 插件。它不將整個會話歷史作爲單一上下文,而是將其劃分爲不可變的“Point”單元。開發者可以保存當前的中間狀態,並在需要時從特定的 Point 恢復或繼續,模型可以通過 API 按需讀取祖先 Point 的原始事件,而無需重新處理所有歷史。

核心功能

  1. 分點保存 (/point-stash)
    通過 /point-stash [title] 命令,插件會保存自上一個 Point 以來所有參與者可見的事件。保存邊界會等待代理空閒、刷新 DSH 持久化,並在成功後推進游標。

  2. Web 工作區視圖
    插件爲 DSH Web 用戶提供了一個工作區視圖,用於渲染 Point 的父 DAG(有向無環圖)、節點詳情,並提供顯式的 Continue from this Point 操作。

  3. 確定性會話繼承
    點擊“Continue”會創建或複用一個確定性的 DSH Session,並攜帶 Point 的繼承鏈。該機制不會將歷史事件複製到新的上下文中,而是通過繼承關係引用。

  4. 按需讀取祖先數據 (point_read)
    模型可以通過 point_read(point_id) 接口讀取祖先 Point 中的原始事件。該接口會拒絕無關的 Point ID,確保權限與繼承鏈的匹配。

  5. 崩潰恢復與游標同步
    插件通過將本地游標與不可變的 Point 元數據進行協調來實現崩潰恢復,避免因意外中斷導致創建重複的 Point。

  6. 數據完整性保留
    插件在處理過程中排除了壓縮記錄,但完整保留了可見的轉錄內容、內容塊、源元數據以及配對的工具調用與結果。

安裝與啓用

在安裝此插件前,請確保滿足以下前置條件:
* Node.js 22.19 或更新版本
* DeepSeek Harness 版本 0.1.0-rc.6
* point CLI 工具已安裝並在 PATH 環境變量中可用(可通過 python3 -m pip install "git+https://github.com/guix4ever/point.git" 安裝)

使用以下命令將插件添加到 DSH Web 配置文件中:

dsh plugin --profile web add dsh-point

安裝完成後,需要重啓 DSH 才能使插件生效。

典型用法

1. 保存當前工作
在對話中輸入命令以保存當前進度:

/point-stash explain the change briefly

2. 查看與繼續會話
在 DSH 的對話視圖中打開 Points 選項卡,可以查看當前工作區的 DAG 結構。選擇某個節點進行查看是隻讀操作。若要繼續該節點的狀態,點擊 Continue from this Point 按鈕。

3. 模型讀取特定歷史
會話繼續後,僅繼承選中的 Point 的祖先鏈。如果模型需要更詳細的歷史信息,可以在代碼中調用:

point_read(point_id)

只有當前會話繼承鏈中的 Point ID 會被接受。

注意事項與場景

  • 失敗策略:投影操作在遇到非連續事件、開放回合、不完整的助手數據塊、重複或缺失的工具身份、懸空調用以及空可見 Point 時會觸發失敗關閉策略。
  • 瀏覽器限制:瀏覽器環境無法自主選擇文件系統路徑、Point 二進制文件或 Shell 參數。工作區路徑和代理預設由 Host 根據被尋址的 DSH Session 推導。
  • 適用場景:適用於需要頻繁中斷和恢復的長鏈路任務,以及需要嚴格控制上下文大小與歷史引用關係的智能體開發。

總結

dsh-point 通過引入不可變的 Point 單元和繼承式會話機制,優化了 DSH 在長對話場景下的資源使用。它讓開發者能夠更精細地控制歷史上下文的加載時機與範圍,同時利用 Web 界面提供直觀的檢查點管理能力。

GitHub 倉庫 | 技能雲目錄

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

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

小夜