前言¶
在 DeepSeek Harness (DSH) 的開發中,隨着對話輪次增加,上下文窗口會被歷史記錄和工具輸出填滿,導致推理成本上升且注意力分散。手動清理歷史不僅耗時,還容易丟失關鍵信息。dsh-clear-mind 旨在解決這一問題,它賦予模型自主管理上下文的能力,讓模型在合適的時機將冗餘的歷史記錄壓縮爲可審計的檢查點。
插件介紹¶
dsh-clear-mind 是一個由 john-walks-slow 維護的插件(類別:記憶),核心功能是“模型可調用上下文壓縮”。
它通過提供 mind_map 和 clear_mind 兩個工具,允許模型(特別是根代理)審視當前上下文表面,並自主將指定區間替換爲模型生成的檢查點。同時,插件提供主動閾值提醒,在上下文過長時提示模型進行清理。所有操作都會在 GUI 中生成可展開的“墓碑”記錄,且不依賴任何外部網絡服務。
核心功能¶
該插件提供以下能力:
- 模型可調用上下文壓縮:
mind_map:讓模型俯瞰上下文表面,展示消息的序列(seq)、角色、token 重量及邊界標記(▸、◂、◆),幫助模型判斷清理範圍。clear_mind(start, end, notes):將[start..end]區間的歷史記錄替換爲模型自寫的檢查點,走平臺原生的壓縮事務流程。
- 主動閾值提醒:當上下文 token 佔比達到設定閾值(如 70%)或單輪步數過多時,插件會在下個 step 邊界注入
<system-reminder>,引導模型清理。 - 可審計的 GUI 墓碑:每次清理操作都會在 GUI 中摺疊爲一行墓碑,保留 notes 內容,支持展開查看,確保操作可回溯。
- 零網絡與零外部依賴:插件完全本地運行,不發起網絡請求,不依賴外部服務。
- 平臺事務集成:利用平臺原生的 compaction transaction,確保 token meter 和後續自動壓縮邏輯正確識別這些操作。
- 對子代理零影響:子代理保持平臺自動壓縮機制,不開放手動修改歷史的工具。
安裝與啓用¶
在安裝前,請確保環境滿足要求:Node.js 版本不低於 22.5,且 DSH 版本與 dsh-tools 0.1.2-rc.1 對齊。
執行以下命令安裝插件:
dsh plugin --profile web add dsh-clear-mind
安裝後,插件會自動掛載 cordis.patch.yml,重啓 DSH 後,模型即可獲得 mind_map 和 clear_mind 工具。所有參數均內置合理默認值,無需手動配置即可使用。
典型用法¶
1. 調用 clear_mind 進行壓縮¶
模型在確認當前階段已結束或路徑明確後,可以調用 clear_mind。參數包括起始序列、結束序列和筆記內容:
clear_mind(start, end, notes)
例如,清理一段已解決的報錯排查歷史:
clear_mind(1, 8, "已解決構建報錯。問題出在 include 目錄漏了 scripts。後續測試通過。")
2. 調用 mind_map 審視上下文¶
在清理前,使用 mind_map 查看上下文表面:
mind_map()
這將返回當前 surface 的節點數、token 佔用以及每條消息的預覽,幫助模型識別清理區間。
3. 配置提醒閾值¶
在設置頁面(或配置文件)中,可以設置上下文佔模型窗口的比例閾值,默認爲 0.70(即 70%):
reminderThresholdRatio: 0.70
注意事項¶
在使用該插件時,請注意以下行爲規則與限制:
- 僅根代理可用:
mind_map和clear_mind僅註冊給根代理(root agent),子代理上下文由平臺自動管理,不開放手動修改歷史的工具。 seq是身份標識:seq是上下文表面的順序 ID,而非數值。在執行清理操作後,表面順序可能不再單調,提交時請使用seq作爲身份而非區間長度。- 自動摺疊:已提交的
clear_mind調用與返回結果,會在下一個 step 邊界自動摺疊爲一行墓碑,避免冗餘顯示。 - 日誌不可變:人類側的會話記錄是追加式日誌,不會因爲清理操作而被修改,保證事實源不變。
- Headless 模式兼容:如果 Web 設置服務不可用(如 Headless profile),插件會自動降級爲讀取配置文件生效。
- 版本兼容性:請確保使用
dsh-tools 0.1.2-rc.1版本,以確保與 DSH 平臺契約完全兼容。
總結¶
dsh-clear-mind 爲 DSH 提供了一套可控的上下文管理機制。通過讓模型自主決策何時壓縮歷史,並輔以可視化的審計日誌,它有效緩解了長對話帶來的 token 窗口壓力,同時保持了會話的可追溯性。對於需要處理複雜任務或多輪迭代的 DSH 用戶而言,這是一個實用的工具。