DeepSeek Harness 插件:dsh-cognition (DSNLE) - 項目記憶與約束系統

前言

在使用 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 開發者,這是一個實用的工具。

插件主頁:https://github.com/scd13150/dsh-cognition

羽毛球分组比赛记分
小程序二维码

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

小夜