前言¶
在使用 DeepSeek Harness (DSH) 開發智能體時,一個常見痛點是 Agent 缺乏對項目上下文的持久記憶。這導致智能體在處理後續任務時,無法複用歷史先例,或在修改代碼時忽略既定約束。DSNLE 旨在解決這一問題,它不依賴 Prompt 欺騙,而是基於 DSH 原生原語構建一套完整的約束、觀測、記憶與驗證機制。
這是什麼¶
dsh-cognition 是一個爲 DSH Agent 提供項目記憶能力的插件。它利用 DSH 的原生原語(如 tools/pre-execute、fs/edit-intent、skills、session event sourcing)實現約束與驗證,並通過 Learned、Precedent 和 Git 變更追蹤實現記憶功能。
安裝與啓用¶
前置條件:Node.js ≥ 22 + 正在運行的 DeepSeek Harness。
1、克隆倉庫並安裝:
git clone https://github.com/scd13150/dsh-cognition.git && cd dsnle
node install-dsnle.mjs --set-default
2、使新會話生效。--set-default 會創建 dsnle 預設並設置爲默認(同時備份你的配置)。安裝後必須重啓 DSH 或打開一個全新的會話,舊會話不會自動加載新預設。
3、驗證安裝。在新會話中運行以下命令:
nle_check
如果返回 ok: true,則表示安裝成功。此時你應該能在工具列表中看到 nle_suggest、nle_focus、nle_mutate 等工具,在技能目錄中看到 nle-learned-* 和 nle-reflections。
核心功能¶
dsh-cognition 提供“約束 / 觀測 / 記憶 / 驗證”四層能力:
- 約束與觀測:通過強制鏈路和 Scope 鎖,在修改發生前進行攔截和版本守衛。
- 記憶機制:
- Learned:關鍵詞映射到文件,支持置信度、衰減與跨項目提升。
- Precedent:歷史會話中的成功先例。
- Git:共改文件、變更頻率與回滾記錄。
- 驗證:通過契約門和 Guard 總閘,確保狀態不被篡改,並提供成本報告。
典型用法¶
1. 基礎工具調用
DSH 插件工具調用自帶 Schema 描述。一個典型的任務執行鏈路包含以下步驟:
nle_suggest:定位與檢索。nle_focus:鎖定 Scope。nle_mutate/nle_select:執行編輯或對賬收尾。nle_guard:總閘驗證。
2. 啓用語義通道(可選)
語義檢索(Embedding 重排)是可選增強。啓用前需準備一個工作區目錄,並運行獨立 Helper 進程:
node nle-semantic/server.mjs --spool <工作區>/.nle-semantic
模型使用 Xenova/all-MiniLM-L6-v2(384 維),由 transformers.js 自動下載(約 90MB,不隨倉庫分發)。
注意事項¶
- 會話與預設:運行中的會話不會自動獲取新的預設,務必在全新會話中驗證。
- 語言召回:中文任務對英文代碼庫的 Recall 能力較弱,插件依賴 learned/alias 等機制作爲兜底。
- 依賴進程:語義通道依賴獨立的 helper 進程,且插件註冊爲 agent-plane 工具,不提供安全隔離。作用域鎖屬於 Workflow 約束而非權限邊界。
- 離線環境:若需在無網環境使用語義通道,需先在有網機器運行
--selfcheck生成緩存再遷移。
結尾¶
dsh-cognition 通過 DSH 原生原語將項目記憶能力深度集成到開發流中,實現了從約束、觀測到記憶、驗證的閉環。對於需要在多會話中保持上下文一致性的 DSH 開發者,這是一個實用的工具。