前言¶
在 DeepSeek Harness(DSH)里長期跑任務時,常見痛點不是「結論忘了」,而是「當時爲什麼這麼定」在上下文被壓縮後一起消失。會話摘要往往只留結果,依據、猶豫和取捨理由很難在下一輪對話裏自動回來。社區插件 canglight/dsh-chain(包名 dsh-chain-shared)面向這類問題:把判斷存成結構化記錄,每輪從磁盤重新渲染進系統提示,並用分級遺忘與檢索把相關條目拉回當前輪次。下面介紹它是什麼、能做什麼,以及如何安裝與使用。
這是什麼¶
dsh-chain 是 maintainer canglight 維護的 DSH 記憶類插件(GitHub 倉庫 canglight/dsh-chain,社區目錄 SkillHub 條目)。官方 README 的定位是:給 DeepSeek Harness 用的思維鏈記憶插件——記的不是「發生了什麼」,而是「當時爲什麼這麼定」;每條記憶是一句判斷,並附帶依據、猶豫與結論,按時間衰減,只有被重新想起纔會留住。
本倉庫發佈的是全會話通用版:任意會話裏看到的都是同一套記憶鏈。README 明確說明:「每條會話各一套、互不串味」的隔離版不在這個包裏。
當前 npm 包版本爲 2.4.1(見倉庫 package.json);功能說明以 README 與 CHANGELOG 爲準。
核心功能¶
四個設計目標(README 對照)¶
| 問題 | 插件做法 |
|---|---|
| 上下文壓縮後,決策理由丟失 | 判斷存成 JSONL,每輪從磁盤重新渲染進系統提示,與對話歷史無關 |
| 記了很多,用時想不起來 | 用當前用戶話檢索(jieba 分詞 + 通用 IDF 等),命中則把判斷行貼回提示詞 |
| 記憶堆積成噪聲 | 八個池分半衰期自動淡出;長期未想起的條目先淡、再歸檔 |
| 不知道自己記得什麼、哪條還可信 | 元記憶工具 chain_about 回答「關於 X 我知道什麼 / 多可信 / 變過幾次」 |
八個記憶池與遺忘¶
記憶按池分層,各池有不同的寬限期、半衰期與歸檔策略。核心層(原則 / 人格)永不衰減;事實、鐵律、經驗、核心日常、片面日常、情緒、海馬體等池各有時間表。權重衰減不只看時間:被檢索命中的次數會拉長半衰期(README 給出公式 1 + 0.6·log2(1+次數),封頂 4 倍)。
核心池默認最多 32 條(CORE_MAX / 設置項 coreMax)。滿了之後,再向核心層追加「原則/人格」會被拒絕,並提示改寫到 AGENTS.md。標籤若未命中任何池,不猜測,落入「海馬體」並標註「未歸類」,由夜巡審查。
每輪注入與字符預算¶
插件每輪向系統提示注入一段 ## 我的思維鏈(只對我可見),可包含當前情緒、各池摘要,以及「你這句話讓我想起來」的檢索結果。注入不是「取最近 N 條」,而是按 injectMaxChars(默認 24000 字符,約 8k token)裝箱:常駐候選池按權重全局排序逐條裝入;裝不下的條數寫在段標題裏(另有 N 條未展開(chain_recall 可查)),核心段不參與裝箱。README 稱這樣注入量相對穩定:例如 1000 條記憶時封頂約 24000 字符。
另有一塊工作記憶(待辦 / 承諾),由正則從用戶話中識別,最多 3 條、3 天未提起過期,存在 working.json,不進記憶鏈與星雲圖。
八個工具與一個可視化 Tab¶
| 工具 | 作用 |
|---|---|
chain_append |
寫一條判斷(judgement / evidence / hesitation / conclusion / tags / weight,可選 eventId) |
chain_recall |
按關鍵詞 / 日期 / 權重查詢;最多補帶 2 條同 eventId 記錄 |
chain_graph |
導出 Mermaid 圖譜 |
chain_touch |
對已有記錄標「確認」或「被推翻」 |
chain_mood |
寫當前情緒(單槽狀態,會過期) |
chain_patrol |
手動跑夜巡並出報告 |
chain_about |
只讀查詢「關於 X 我知道什麼」(被想起次數、確認次數、生命週期等);調用不算「想起」 |
chain_conflict |
比較指定 id 或同池矛盾候選 |
會話視圖提供 「思維鏈」 Tab:3D 星雲圖,八個記憶池各成一簇(另有決策 / 元記憶虛擬區),可拖拽旋轉、滾輪縮放、點節點看詳情。
檢索與可選語義路徑¶
chain_recall 與每輪「這句話讓我想起來」共用檢索:IDF 罕見詞命中與字符二元組重合兩路排名,再按 RRF 融合;沒有詞面證據的條目不進候選。若安裝可選依賴 @huggingface/transformers(約 400 MB),可走語義檢索;未安裝時語義路徑自動退回關鍵詞路,不報錯。
夜巡與自動喚醒¶
每天 18:00 後(可調 patrolHour),插件在滿足條件時自動跑一次夜巡,報告寫入 ~/.dsh/memories/.chain-shared/patrol/YYYY-MM-DD.md,含久未命中、疑似重複、矛盾候選、海馬體待整理等小節。默認會通過 DSH HTTP 接口向最近說話的那個會話投遞「請審覈報告」消息;可在 ~/.dsh/memories/.chain-shared/settings.json 中設置 wakeSessionId 或 wakeEnabled: false。
安裝與啓用¶
插件以當前 DSH 進程權限運行,安裝前應自行審閱 GitHub 源碼 與 MIT 許可證。數據默認落在本地 ~/.dsh/memories/.chain-shared/,README 說明插件不聯網、不發遙測。
依賴要求:Node ≥ 20、運行中的 DSH(任意 profile)。建議在插件目錄內安裝依賴(pnpm add link: 不會替插件安裝其自身依賴):
- 將插件源碼放到
~/.dsh/plugins/dsh-chain-shared(來源見上述 GitHub 倉庫)。 - 在插件目錄執行:
cd ~/.dsh/plugins/dsh-chain-shared
npm install --registry=https://registry.npmmirror.com
- 掛進 profile 並重啓 DSH(插件清單變更不熱加載):
cd ~/.dsh/profiles/web
pnpm add link:~/.dsh/plugins/dsh-chain-shared
README 亦提到可用 dsh plugin add;具體參數以官方文檔爲準,勿在未覈對前自行拼接命令。
可選:@deepseek-ai/schemastery 未裝時插件仍可運行,但思維鏈畫布右上角設置按鈕可能無反應;@node-rs/jieba 未裝時檢索會靜默降級。
如需限定記憶只對部分會話生效,可在啓動 DSH 前設置環境變量 DSH_CHAIN_TARGET_SESSION_IDS(逗號分隔會話 id);缺省爲空表示全會話共享。
首次安裝時記憶庫爲空,需在對話中讓模型寫入,或調用 chain_append 寫第一條。
典型用法¶
寫入一條判斷¶
在對話中讓助手調用 chain_append,或自行通過工具接口寫入。字段包括判斷、依據、猶豫、結論、標籤與權重;同一決策可用 eventId 串起前後條目。
按當前話召回¶
用戶提問或陳述時,插件會用當前句做檢索,把命中條目注入「你這句話讓我想起來」段。需要主動查庫時調用 chain_recall。
查看「關於某主題我知道什麼」¶
調用 chain_about(只讀),瞭解某主題相關條目的被想起次數、人工確認、是否被取代等,便於判斷可信度。
調整池參數與注入預算¶
打開「思維鏈」Tab → 右上角 設置:可改八個池的寬限 / 半衰期 / 歸檔、injectMaxChars、coreMax、patrolHour。改完經插件接口 /chain-shared/api/settings 立即生效,並寫入 ~/.dsh/memories/.chain-shared/settings.json。
手動夜巡¶
# 在插件或文檔約定的方式下調用工具
chain_patrol({ apply: true }) # 手動跑夜巡;apply 爲 true 時可顯式執行權重歸整(見 README)
喚醒行爲自檢(不發消息):
node lib/wake.mjs check
node lib/wake.mjs prompt --dry
適用場景與注意¶
更適合:希望 DSH 在多輪、長任務中保留決策理由而非僅結論;願意通過工具或對話主動維護記憶;接受全會話共享一條鏈(單用戶或多會話同一 harness 場景)。
不太適合(README 自述):指望「全自動記住一切」;不想讓模型在提示詞裏看到自己的舊判斷;需要強會話隔離(應使用隔離版而非本包)。
使用上需注意:寫入依賴模型判斷,可能漏記或記錯;注入會把歷史判斷塞回系統提示,需自行評估隱私與提示詞長度;核心層有上限,長期「我是誰」類規則仍建議配合 AGENTS.md。
結尾¶
dsh-chain 把 DSH 的記憶從「發生了什麼」推進到「爲什麼這麼定」:JSONL 持久化、按池遺忘、每輪字符預算注入、檢索召回與 3D 星雲瀏覽,再加夜巡報告與可選自動喚醒,適合在 Harness 生態裏做長期決策鏈沉澱。
- 社區目錄:https://www.skillhub.cn/plugins/canglight/dsh-chain
- 源碼與完整說明:https://github.com/canglight/dsh-chain
DSH 生態強調「一切皆插件」;SkillHub 爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係。