前言¶
在 DeepSeek Harness(DSH)裏跑智能體,會話上下文會隨輪次變長,關掉進程後「上次說過什麼」往往無處可查。常見做法是手寫向量庫或把摘要塞進 System Prompt,但要麼難對照原始條目,要麼和工具鏈脫節。下面介紹社區插件 deepseek-brain(維護者 Elias1222):在 DSH 內掛載一套可持久化、可查看、可交互的五層記憶模型,並附帶 ASCII 腦圖與 Web / Three.js 3D 記憶觀測界面。插件歸類爲「記憶」,可在 SkillHub 目錄頁 檢索;該目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
deepseek-brain 是標準 DSH cordis 插件包:純 Node ESM,零運行時依賴;記憶數據落在 ~/.deepseek-brain/ 下的分層 JSON,可隨時打包遷移。它模擬感覺、工作、情景、語義、程序五層結構,配合指數衰減遺忘、睡眠式鞏固、語義圖譜衝突修正,並通過 brain_* 工具與 System Prompt 注入讓模型讀寫記憶。版本與能力清單見倉庫 docs/RELEASE.md;package.json 標註 1.2.0,需 Node >=22,許可證 MIT。
核心功能¶
五層記憶與不變量¶
每次用戶消息經 session 鉤子進入流水線:感覺緩衝(7±2 槽、約 2 秒 TTL)→ 工作記憶話題棧(容量約 4–7)→ shouldRemember 閘門(重要度、實體、承諾詞等)→ 情景 / 語義 / 程序層持久化。回憶時 recall() 綜合關鍵詞、時間衰減、重要度,可選向量相似度。
與人腦記憶科學對應的實現要點(參數名可在源碼與 README 中核對):
| 層 | 作用概要 | 典型參數 |
|---|---|---|
感覺 sensory |
解析實體,短 TTL | sensoryCapacity、sensoryTtlMs |
工作 working |
話題棧,按會話隔離 | workingCapacity(4–7) |
情景 episodic |
時間線事件,強度隨 importance × e^(-λ·days) |
lambda(默認 0.05/天)、forgetThreshold |
語義 semantic |
三元組 + 別名;衝突時舊條目標 [已修正] |
重要度 ≥ 4 常駐 |
程序 procedural |
習慣/規則,排序後前若干條進 System Prompt | 使用時強度 +0.1 |
三條設計不變量:永不物理刪除(遺忘進 archive.json);重要度 ≥ 4(PINNED_IMPORTANCE)不參與衰減清理;衰減按時間連續計算,不依賴後臺心跳。
自動抽取與閘門¶
observe 對用戶消息跑 lib/extract.js 規則表:姓名、職業、居住地、計劃、程序性「記住:…」等命中後寫入語義或程序層;是否寫入情景記憶由注意力閘門單獨決定。代詞綁定分句內與上下文兩級,無法確定的關係進入 unbound 且不寫庫。時間短語經 parseWhen() 轉爲 when / whenAt(ISO),解析失敗則爲 null,不用「現在」頂替。
工具、可視化與 HTTP¶
插件 inject: ['tools', 'systemPrompt'] 爲硬依賴;可選掛載 webServer,否則 brain_dashboard 可在迴環端口自啓服務。主要工具包括:
| 工具 | 作用 |
|---|---|
brain_remember |
寫入指定層 |
brain_recall |
檢索 top-K,帶分數拆解 |
brain_visualize |
ASCII 腦圖 + 健康面板 |
brain_update / brain_forget / brain_restore |
修訂、軟刪、恢復 |
brain_sleep |
立即鞏固 |
brain_conflicts |
列出已修正事實 |
brain_import / brain_snapshot |
跨設備合併、導出檔案 |
brain_dashboard |
啓動 Web 儀表盤(含單文件 Three.js 3D 大腦) |
不經過對話也可調用 HTTP API;契約見倉庫 docs/API.md,curl 示例見 docs/EXAMPLES.md。
安裝與啓用¶
DSH 生態理念是「一切皆插件」:通過 profile 把 bundle 掛進當前 Harness 配置。官方 README 給出的 GitHub 安裝方式爲:
dsh plugin --profile web add github:Elias1222/deepseek-brain
其中 web 是 profile 名稱,應換成你本機實際使用的 profile(README 示例裏本地驗證用過 desktop 等名稱)。本地開發可用路徑安裝:
dsh plugin add ./deepseek-brain
安裝後 cordis.patch.yml 會插入 deepseek-brain,dsh --dump-config 中應能看到 - id: deepseek-brain。啓動後模型即獲得工具與 System Prompt 注入;默認數據目錄爲 ~/.deepseek-brain/。
典型用法¶
顯式記住情景¶
用戶說明天會議等信息時,模型可調用:
{
"name": "brain_remember",
"arguments": {
"layer": "episodic",
"event": "和張偉在望京開會,討論排期",
"participants": ["張偉"],
"place": "望京",
"emotion": "緊張",
"importance": 4
}
}
同一句裏的「我叫林夕 / 產品設計師」等也可被規則自動抽成語義三元組;也可顯式寫 layer: "semantic" 的三元組字段。
回憶¶
{
"name": "brain_recall",
"arguments": {
"query": "張偉 會議 排期",
"topK": 6
}
}
返回結果按關鍵詞、重要度、新鮮度、層級等權重排序,並附帶分數拆解,便於模型組織回答。
查看 ASCII 腦圖¶
{
"name": "brain_visualize",
"arguments": {}
}
輸出包含工作記憶話題棧、各層近期條目、記憶健康統計(總數、本週新增、遺忘壓縮、睡眠鞏固次數等)。需要圖形界面時調用 brain_dashboard 獲取儀表盤 URL。
適用場景與注意¶
適合需要在 同一臺機器、長期多輪對話 中保留結構化記憶、並希望自己或用戶 肉眼檢查 記憶狀態、處理語義衝突與「軟遺忘」的 DSH 開發者。程序記憶層適合把「回答先給結論」類習慣注入默認行爲。
使用前請注意:
- 插件以 當前 dsh 進程的權限 讀寫
~/.deepseek-brain/並可能啓動本地 Web 服務;安裝前應閱讀 GitHub 源碼 與 MIT 許可證,確認符合你的安全與合規要求。 - 不要憑插件名自行拼接未在文檔出現的安裝命令;以 README 中的
dsh plugin --profile … add github:Elias1222/deepseek-brain爲準。 - 社區目錄星標等元數據會變動;以倉庫 README 與 release 文檔爲準覈對版本與能力清單。
結尾¶
經過上面的步驟,你可以在 DSH 裏把對話變成可檢索、可修正、可導出的分層記憶,而不是僅依賴單次上下文窗口。進一步細節見 SkillHub 插件頁 與 GitHub:Elias1222/deepseek-brain。