前言¶
在 DeepSeek Harness (DSH) 中,長時間運行的目標會話在 Harness 重啓後通常無法自動恢復。單純的 agents.resume() 往往無法讓會話重新運行,因爲模型變量、工具集和目標驅動器在重啓後都會重置。
dsh-goal-auto 旨在解決這個問題,它提供了一套機制,讓用戶可以在會話頭部標記恢復狀態,並在 Harness 重啓時自動完成代理重載、預設掛載和目標驅動器的重新激活。
這是什麼¶
dsh-goal-auto 是一個爲 DeepSeek Harness (DSH) 提供的會話級自動恢復切換插件。
- 維護者:FuWenLianggit
- 許可證:MIT
- 定位:解決長運行目標會話在 Harness 重啓後自動恢復的問題。
核心功能¶
該插件提供了以下核心能力:
- 會話切換按鈕:在會話頭部的操作欄中增加一個 🔁 切換按鈕,用於標記當前會話。
- 自動恢復邏輯:重啓 Harness 後,被標記的會話會自動恢復運行。這包括重新加載代理、掛載代理預設、重新武裝目標以及保持目標驅動器的持續運行。
- HTTP API:提供接口用於查詢狀態和手動控制會話的恢復行爲。
安裝與啓用¶
安裝該插件需使用官方提供的安裝命令,指定本地倉庫路徑:
dsh plugin --profile web add file://<this repo path>
另一種方式是將插件文件放置在 <DSH_HOME>/plugins/dsh-goal-auto,並在 profile 的 package.json 中添加 file: 或 link: 依賴,同時在 profiles/<name>/node_modules/@huanlin/dsh-goal-auto 下創建符號鏈接。
典型用法¶
使用該插件主要涉及標記會話、切換恢復狀態以及強制恢復。
- 標記會話:在 DSH 界面中,通過會話頭部操作欄的 🔁 按鈕標記需要自動恢復的會話。
- 切換狀態:通過 HTTP API 切換會話的恢復標誌:
POST /__goal-auto/toggle
該接口會翻轉會話標誌,若開啓狀態則立即開始運行。
- 強制恢復:通過 API 強制對某個會話執行恢復操作(通常用於診斷):
POST /__goal-auto/resume-now
適用場景與注意¶
- 看門狗依賴:該插件僅負責在 Harness 啓動時恢復會話,並不保持 Harness 進程本身存活。如果 Harness 崩潰、掛起或被終止,插件無法重啓它。必須在外部部署一個進程看門狗來監控 Harness 進程的健康狀態(TCP 監聽與 HTTP 響應),並在進程異常時將其拉起。
- 狀態存儲:會話的自動恢復狀態保存在
<DSH_HOME>/goal-auto-state目錄下。 - 兼容性:插件依賴
@deepseek-ai/dsh-client-runtime進行客戶端注入,並支持 Web 平臺。
結尾¶
dsh-goal-auto 通過解決會話重啓後的三層問題(模型變量、工具集、目標驅動器),填補了 DSH 在長時間運行場景下的空白。