DeepSeek Harness (DSH) 提供了一個通用的智能體運行環境。在處理長對話或複雜任務時,將所有歷史記錄一次性加載到上下文中往往效率低下,且容易引入無關噪聲。dsh-point 插件通過引入“Point”概念,將歷史記錄離散化,爲 DSH 提供了基於檢查點的會話管理與繼承機制。
插件簡介¶
dsh-point 是由 guix4ever 維護的 DSH 插件。它不將整個會話歷史作爲單一上下文,而是將其劃分爲不可變的“Point”單元。開發者可以保存當前的中間狀態,並在需要時從特定的 Point 恢復或繼續,模型可以通過 API 按需讀取祖先 Point 的原始事件,而無需重新處理所有歷史。
核心功能¶
-
分點保存 (
/point-stash)
通過/point-stash [title]命令,插件會保存自上一個 Point 以來所有參與者可見的事件。保存邊界會等待代理空閒、刷新 DSH 持久化,並在成功後推進游標。 -
Web 工作區視圖
插件爲 DSH Web 用戶提供了一個工作區視圖,用於渲染 Point 的父 DAG(有向無環圖)、節點詳情,並提供顯式的 Continue from this Point 操作。 -
確定性會話繼承
點擊“Continue”會創建或複用一個確定性的 DSH Session,並攜帶 Point 的繼承鏈。該機制不會將歷史事件複製到新的上下文中,而是通過繼承關係引用。 -
按需讀取祖先數據 (
point_read)
模型可以通過point_read(point_id)接口讀取祖先 Point 中的原始事件。該接口會拒絕無關的 Point ID,確保權限與繼承鏈的匹配。 -
崩潰恢復與游標同步
插件通過將本地游標與不可變的 Point 元數據進行協調來實現崩潰恢復,避免因意外中斷導致創建重複的 Point。 -
數據完整性保留
插件在處理過程中排除了壓縮記錄,但完整保留了可見的轉錄內容、內容塊、源元數據以及配對的工具調用與結果。
安裝與啓用¶
在安裝此插件前,請確保滿足以下前置條件:
* 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 界面提供直觀的檢查點管理能力。