前言¶
在 DeepSeek Harness(DSH)裏做長期協作時,常見痛點是:關掉會話後,上週定的流程、踩過的坑、階段性約定(例如「這兩週先用舊接口」)不會自動進入下一輪上下文。多數記憶方案把內容切塊、檢索、注入,但難以區分「現在爲真」與「曾經爲真」,也缺少每輪固定可見、可過期的工作準則。
下面介紹社區插件 dsh-cognition-engine(維護者 1720198650,GitHub 倉庫 1720198650/dsh-cognition-engine,SkillHub 分類爲「記憶」)。它在 DSH 上提供雙時態記憶、人定主題、準則本(Playbook)、可選三段式反思引擎,以及掛在主題下的長程待辦;狀態默認落在本地 JSON,純 TypeScript、無數據庫。插件以當前 DSH 進程權限讀寫本機文件,安裝前請自行查看源碼與 MIT 許可證。
這是什麼¶
dsh-cognition-engine 是 DSH 的認知與記憶插件:記住事實並標註有效區間,把記憶蒸餾成一頁「準則本」並在每輪對話注入(預算約 600 字符),階段性約定可設 validTo,到期停止注入。與「只堆檢索結果」的做法相比,項目強調準則可作廢、矛盾可暴露、寫入可審計。
入口在輸入框上方狀態條,點開爲浮層面板(記憶 / 主題 / 準則 / 設置等),不擠壓對話框。持久化默認使用 cognition-state.json(路徑可在配置中指定)。
核心功能¶
雙時態記憶¶
記憶帶世界時間與事務時間:validFrom / validTo 表示事實何時成立,recordedAt / supersededAt 表示何時錄入與被新版本取代;舊版本不硬刪,仍可按「當前真值 / 那時爲真 / 那時已知 / 聯想」等口徑召回。長期未被使用的條目會歸檔(衰減與激活量相關,可通過配置調節半衰期)。寫入前有「記憶體檢」:廢話、敏感信息、注入話術、低權威覆蓋高權威等檢查,各道可單獨關閉。
主題(人定適用範圍)¶
主題不是自動聚類,而是由人命名、說明、別名,記憶與準則多對多掛載。注入時可按主題分組,模型先判斷任務屬於哪類主題再採用相關準則;待辦也掛在主題下,而非獨立跨天台賬。同主題下可查看 memoryConflicts、topicTensions,召回時可 expand 帶出同主題其他記憶。
準則本¶
從記憶中半自動蒸餾出 6–12 條短準則,形如 [ctxt-00001] helpful=2 harmful=0 :: 正文,每輪注入;helpful / harmful 可回寫,誤導過多會退場。候選進待審隊列,人工確認後才生效;可設有效期,過期自動停用並分組複覈。與現有準則疑似矛盾時打 conflictWith,由人工裁決。
反思引擎與長程任務¶
反思爲 THESIS → ANTITHESIS → SYNTHESIS 三段式,默認關閉;開啓後可選用本地佔位或真實模型。工具 cognition_reflect 的 action: playbook 可觸發準則蒸餾(需真實模型)。
長程任務通過 manage_long_task 管理;未完成事項在 cognition_context 的 ongoing 中按主題分組,新會話可先讀取跨會話摘要(≤400 字)。
Agent 工具一覽¶
| 工具 | 作用 |
|---|---|
cognition_context |
新會話優先調用:跨會話核心記憶與進行中事項 |
cognition_remember |
寫入記憶;支持 supersedes、source、scope、kind: correction |
cognition_recall |
按 strict / historical / belief 等召回;支持 expand、scope |
cognition_forget |
按 id、來源或主題刪除 |
cognition_reflect |
三段式反思或準則蒸餾 |
cognition_state |
統計與摘要 |
manage_long_task |
長程任務 create / update / list / due / delete |
數據與安全¶
變更追加 JSONL 審計日誌;覆蓋前保留快照(最多 5 份);落盤帶 .sha256 校驗;跨進程寫鎖。可選「記憶讀取鎖」自設口令(無默認口令)。整庫可導出 / 導入 JSON。
安裝與啓用¶
環境要求:DeepSeek Harness、Node.js ≥ 22(package.json 中 dsh 引擎要求 >=0.2.1-rc.2 <0.3.0-0)。當前 npm 包版本爲 0.10.0。
推薦從 npm 安裝(桌面 profile):
dsh plugin --profile desktop add dsh-cognition-engine
網頁版將 desktop 換爲 web。包名見 npm:dsh-cognition-engine。
Windows 一鍵腳本(資料原文):
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/1720198650/dsh-cognition-engine/main/scripts/install.ps1 | iex"
Android / dsh-go 本機引擎:
curl -fsSL https://raw.githubusercontent.com/1720198650/dsh-cognition-engine/main/scripts/install-dshgo.sh | sh
安裝後重啓 DSH,輸入框上方應出現認知引擎狀態條。默認面板與接口不上鎖;需在設置頁自行開啓記憶讀取鎖。
可選配置片段位於插件自帶的 cordis.patch.yml,例如:
- insert:
- id: cognition-engine
name: 'dsh-cognition-engine'
config:
decayHalfLifeHours: 168
assimilateThreshold: 0.55
overlapThreshold: 0.42
communityThreshold: 0.3
maxClusterSize: 8
tasksFile: ./tasks.json
stateFile: ./cognition-state.json
heartbeatHours: 6
patrolIntervalHours: 3
recordOnly: true
典型用法¶
1、新會話開場:讓 Agent 先調用 cognition_context,拿到摘要與按主題分組的未完成待辦。
2、寫入與更正:用 cognition_remember 記事實;事實變更時對舊條使用 supersedes;用戶糾正使用 kind: correction。
3、召回:按任務需要調用 cognition_recall,選擇 strict(當前真值)或 historical / belief;需要同主題上下文時加 expand。
4、準則維護:在面板「準則」頁籤中「重新蒸餾」(需反思引擎切到真實模型)、手動新增、或在待審隊列中逐條接受 / 拒絕;爲階段性約定設置有效期。
5、長程工作:用 manage_long_task 創建與更新任務;設置頁可配置巡邏間隔(默認 3 小時),默認僅記錄超期提示而不自動調模型復盤。
適用場景與注意¶
適合需要在 DSH 中長期保留項目約定、發版流程、環境偏好,並希望過期約定自動失效、矛盾記憶被顯式標記的開發者。若你只需要簡單會話內筆記、不需要雙時態與準則審計,功能會偏重,可按需在設置中關閉反思、巡邏等選項。
務必注意:插件讀寫本地 cognition-state.json 及審計日誌,與 DSH 同機同用戶權限;敏感內容仍應謹慎寫入,並善用體檢與讀取鎖。社區目錄 SkillHub 插件頁 與 GitHub 無 DeepSeek / 幻方官方從屬關係,屬 DSH「一切皆插件」生態中的第三方條目。
結尾¶
dsh-cognition-engine 把「記得住」和「知道什麼時候該作廢」拆開處理:雙時態記憶管事實沿革,準則本管每輪可見的執行約定,主題與待辦把範圍與長程工作對齊。若要進一步瞭解設計與工具細節,可直接閱讀倉庫 README 與 docs/ 下的主題調研文檔。