@xiyiyiru/dsh-state:純文本會話筆記本與任務棧

前言

在 DeepSeek Harness (DSH) 環境中,上下文壓縮機制會清理工作記憶,導致智能體在壓縮窗口後丟失關鍵事實;而自動注入的上下文則會消耗 token 並訓練模型忽略該信息。@xiyiyiru/dsh-state 插件通過純文本文件提供持久化狀態管理,使工作事實在壓縮和恢復後依然存在,同時保持對請求的零自動注入。

核心功能

該插件提供兩個主要部分:
* 純文本會話筆記本:用於記錄和持久化工作事實。
* 任務棧工具:用於管理多步驟任務的執行順序和鎖定狀態。

安裝與啓用

安裝插件需要指定一個配置文件名稱。安裝完成後,插件會自動處理依賴項。

dsh plugin --profile <name> add @xiyiyiru/dsh-state

存儲機制

所有狀態數據以純文本形式存儲在會話工作區目錄下,路徑爲 <session-cwd>/.mycel/state/<sessionId>/。該目錄包含兩個核心文件:
* notebook.md:筆記本文件,每次調用 add_state 會追加一段內容。
* focus.json:任務棧文件,底部的幀爲當前正在進行的任務。

核心操作

插件提供的操作分爲筆記本操作和任務棧操作。

筆記本操作

工具 語義 說明
add_state 追加 向筆記本末尾添加一條記錄。若需修正錯誤,應追加新行而非覆蓋。
read_state 讀取 讀取完整筆記本內容及大小。當筆記本超過 8K 字符時,會追加壓縮提示。
compact_state 替換 壓縮操作。先讀取,然後用摘要重寫整個文件。

add_state 在以下情況應作爲硬觸發使用:
1. 用戶做出了決策或修正。
2. 建立了關鍵事實或根因。
3. 開始一個多步驟任務(包含目標與驗收標準)。
4. 完成了一個里程碑(包含結論與產物路徑)。

任務棧操作

工具 語義 說明
focus_task 入棧 鎖定當前任務,自動將其推入棧底,開始處理新任務。
focus_complete 出棧 宣佈當前任務完成,記錄一行結論,並回退到上一個任務。

當任務中斷時,可以使用 focus_task 鎖定阻礙點,解決後通過 focus_complete 返回主任務。

設計約束

該插件在設計上遵循以下原則:
* 零自動注入:筆記本不會在請求中自動出現,只有顯式調用 read_state 時纔會消耗 token。
* 僅追加/替換:不提供編輯或刪除動詞,確保語義的確定性。
* 零會話事件:插件不寫入會話日誌,避免與 DSH 的日誌詞彙表衝突。
* 無模式依賴:任務棧與工作模式解耦,僅負責任務順序。

適用場景與注意

該插件適合需要持久化工作事實且希望完全控制上下文注入行爲的 DSH 智能體項目。

注意:
* 插件以當前 DSH 進程的權限運行,請確保對工作區目錄有寫入權限。
* 安裝前建議檢查源碼與許可證(MIT)。
* focus.log 是輔助日誌,用於 grep 查看任務歷史,權威狀態以 focus.json 爲準。

參考資源

  • 插件目錄:https://www.skillhub.cn/plugins/xiyiyiru/dsh-state
  • 源代碼:https://github.com/xiyiyiru/dsh-state
羽毛球分组比赛记分
小程序二维码

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

小夜