前言¶
在 DeepSeek Harness (DSH) 的智能體開發場景中,上下文窗口是核心約束。傳統的 Transcript 插件記錄了“發生了什麼”,但往往缺乏對“結論是什麼”的持久化存儲,導致在後續會話中需要重複解釋既定的決策或口徑。dsh-plugin-fact-vault 旨在解決這一問題,提供一個跨會話的事實便籤庫。
插件介紹¶
這是一個由 121212165 維護的 MIT 許可插件。它的核心價值在於將“決策”與“過程”分離:用戶或模型可以通過工具記錄帶標籤的決策,並在任何後續會話中按需召回。相比於 Pinboard 等無條件注入系統提示的插件,本插件採用按需召回機制,不佔用系統提示預算。
核心功能¶
插件提供了以下核心能力:
- 記錄決策:通過
/fact save命令記錄帶標籤的決策。 - 關鍵詞召回:通過
/fact find或fact_find工具按關鍵詞檢索。 - 列表查看:通過
/fact list查看最近記錄。 - 刪除功能:通過
/fact rm刪除指定記錄。 - 模型工具:
fact_find工具供模型在回答“之前說過/定過什麼”時自動調用。 - 容錯機制:讀取數據時跳過損壞的行,且永不改寫源文件中的損壞行。
安裝與啓用¶
安裝過程需要將插件包安裝到指定 Profile,併合並配置文件。
- 安裝插件包:
dsh plugin --profile web add github:121212165/dsh-plugin-fact-vault
此命令會通過 `pnpm` 自動運行構建。
-
合併配置文件:
打開$DSH_HOME/profiles/web/cordis.patch.yml。將插件倉庫根目錄下的cordis.patch.yml內容並進該文件中。- 注意:不要直接追加。追加會形成兩個 YAML 文檔,導致啓動時報錯
failed to parse overlay ... end of the stream or a document separator is expected。
- 注意:不要直接追加。追加會形成兩個 YAML 文檔,導致啓動時報錯
-
重啓 DSH:
配置層與客戶端均需重啓才能生效(客戶端按啓動時算出的內容下發,硬刷新瀏覽器無效)。
基本用法¶
1. 記錄決策¶
使用 /fact save 記錄一條決策,支持添加標籤。標籤以 # 開頭,可帶多個。
/fact save 這裏的預算上限是 500 #budget #money
2. 檢索決策¶
使用 /fact find 檢索記錄。系統會對關鍵詞進行空格分詞,並按權重排序:
* 標籤命中:記 3 分
* 正文命中:記 1 分
* 同分按時間倒序(新記錄優先)。
/fact find budget
3. 查看列表¶
查看最近 20 條記錄。
/fact list
4. 刪除記錄¶
使用 ID 刪除指定記錄。
/fact rm 3
5. 模型調用¶
模型在回答問題時,可以調用 fact_find 工具來自動檢索歷史決策。例如,當被問到“上週定過的口徑是什麼”時,模型會自動調用該工具獲取答案。
配置與數據結構¶
- 默認庫路徑:
~/.dsh/fact-vault/facts.jsonl - 數據格式:JSONL,每行包含
{v:1, id, text, tags, at}。 - ID 規則:ID 是自增數字字符串(
max(已存 id)+1),不是哈希,便於手動刪除。 - 配置項:
enabled:是否啓用,默認true。libraryPath:庫文件路徑。limit:find和fact_find最多返回的條數,默認10。
注意事項¶
- 寫庫與讀庫邏輯:寫庫是插件自己的邏輯;讀時容錯(壞行跳過並計數),但永不改寫源文件中損壞的行。
- Web UI 體驗:未驗證
/fact命令在 web UI 裏的手動輸入體驗(Headless 會話無輸入通道)。 - 環境要求:Node.js 版本需 >= 22.18。
適用場景¶
該插件適合回答“上週我在這個 harness 裏定過的口徑是什麼”這類問題,將臨時的對話結論轉化爲可檢索的知識庫。