DSH Noema:給 DeepSeek Harness 裝上可檢視的長期記憶

前言

用 DeepSeek Harness(DSH)寫代碼、跑 Agent 時,一個常見痛點是「每次新開對話都要從零講起」:上週定下的技術選型、你反覆強調的編碼偏好、項目裏踩過的坑,模型往往記不住。上下文窗口再大,也替代不了跨會話、可持久、還能人工翻看的記憶層。

如果你已經在 DSH 裏跑 Agent,又希望記憶能落盤、能檢索、能從 Cursor / Claude Code 等工具遷移過來,社區插件 dsh-noema(npm 包 @zseven-w/dsh-noema)值得一看。它由維護者 ZSeven-W 發佈,在 SkillHub 插件庫 中歸類爲「記憶」,GitHub 倉庫 ZSeven-W/dsh-noema 截至覈實約 123 星、7 forks,採用 MIT 許可證。需要說明的是:SkillHub 是面向中國用戶的獨立社區目錄,與 DeepSeek / 幻方並無官方從屬關係;DSH 本身秉持「一切皆插件」的理念,記憶能力同樣以插件形式接入。

這是什麼

dsh-noema 是 DSH 的 Noema 長期記憶插件:把 DeepSeek HarnessNoema 連接起來。Noema 是一套面向編程 Agent 的 本地優先、非向量 記憶系統;插件在此基礎上爲 Agent 提供持久、可檢視的記憶讀寫能力,並附帶可視化設置頁。

一句話概括:讓 Agent 在多次會話之間保留知識,而不是每次都從空白上下文開始。

當前插件版本爲 0.1.0-rc.3,README 註明在 DSH 0.1.1-rc.1 上測試通過;運行環境要求 Node.js >= 24.11.0

核心功能與亮點

持久化召回(Durable Recall)

記憶以可檢視的 Markdown 文件形式存放在 NOEMA_ROOT 目錄下,默認爲 ~/.agent-memory/。會話開始時,noema_recall 會按查詢加載相關上下文;需要查找、瀏覽或審計時,還有 noema_searchnoema_browsenoema_catalognoema_recall_graph 等工具可用。

從其他 Agent 工具導入記憶

noema_import 可讀取多種 AI 編程工具的記憶文件,按段落拆分後寫入 Noema,並通過內容鍵賬本去重,避免重複導入。README 列出的來源包括:Codex、Claude Code、opencode、Cursor、Grok、WorkBuddy、Antigravity、Trae、Qoder、Hermes 等,覆蓋全局配置與項目級規則文件(如 AGENTS.mdCLAUDE.md.cursor/rules/*.mdc 等)。設置頁可爲每個來源單獨開關,並支持啓動時自動導入。

設置頁統一管理

在 DSH Web 界面打開 Settings → Noema Memory,可配置服務端命令、記憶根目錄、召回 token 預算、空閒/調用超時等參數;「Manage memories」卡片支持搜索、瀏覽、新增、審覈與刪除已存記憶,無需手改磁盤文件。

服務保活(Keep-Alive)

記憶服務默認空閒不退出(idle timeout 爲 0 表示永不停止),並在後臺 keep-alive 循環中於崩潰或退出後自動重啓 noema-mcp 子進程,可配置檢查間隔與重啓退避時間。

實體抽取與熱重載

Noema 的抽取引擎結合 jieba 分詞與英文專名、CJK 技術術語、引號主題等信號,維護 PageIndex 主題目錄。開發側支持 Cordis HMR 熱重載宿主插件、客戶端 bundle 熱替換,以及設置項即時生效(首次加載插件後仍需一次服務重啓才能進入熱重載循環)。

安裝與啓用

插件面向 web profile,官方 README 給出的安裝方式如下:

dsh plugin --profile web add @zseven-w/dsh-noema@latest
dsh web

若要從本地源碼開發調試,可使用 link: 協議將 profile 依賴鏈到倉庫目錄,便於配合 HMR:

dsh plugin --profile web add link:/path/to/dsh-noema
dsh web

插件通過各平臺可選 npm 包捆綁 noema-mcp 二進制;也可自行在 bundled noema 子模塊中執行 cargo build --release -p noema-mcp,或在設置裏將 Server command 指向自定義的 noema-mcp 可執行文件。

安裝前建議閱讀倉庫源碼與 MIT 許可證,確認記憶讀寫範圍與權限符合你的安全預期——插件以當前 dsh 進程權限運行,能訪問的路徑即 Agent 能觸及的路徑。

典型用法

模型側記憶工具

插件向模型暴露一組 noema_* 工具,與 Noema MCP 表面對齊。常用能力包括:

工具 作用
noema_recall 按查詢召回相關記憶,可設 token 預算
noema_search 對已存記憶全文檢索
noema_browse 瀏覽 PageIndex 中某主題或實體
noema_remember 保存事實、決策、約束或偏好
noema_import 從其他 AI 編程工具導入記憶
noema_forget 標記刪除或硬刪除記憶
noema_status 查看服務與租戶狀態、索引健康度

各工具返回統一信封 { ok, tool, text }text 字段承載服務端完整輸出。

從 Cursor 等工具遷移

在對話中讓 Agent 調用 noema_import,或在設置頁點擊 Import now。例如導入 Cursor 時,會掃描 ~/.cursor/rules/*.mdc~/.cursorrules 以及工作區內的對應文件。導入記錄寫入 $DSH_HOME/storages/dsh-noema-imports.json,按「文件路徑 + 段落內容」去重;需要強制全量重導時可傳 force: true

設置項速覽

設置 默認值 含義
Enable memory noema_* 工具總開關
Memory guidance 在系統提示中注入記憶使用指引
Start server at boot DSH 啓動時拉起記憶服務
Auto-accept new memories noema_remember 立即落盤
Memory root 空則使用 ~/.agent-memory
Recall token budget 1200 noema_recall 默認 token 上限
Keep alive 崩潰後後臺自動重啓服務

更完整的參數說明見 GitHub README 的 Settings 章節。

適用場景與注意事項

適合誰用:

  • 長期在 DSH 上維護同一項目,希望跨會話保留架構決策、踩坑記錄與個人偏好;
  • 已從 Cursor、Claude Code、Codex 等工具積累大量 AGENTS.md / 規則文件,想一次性遷入 DSH;
  • 需要「能打開文件夾直接看」的明文記憶,而不是黑盒向量庫。

使用前請注意:

  1. 記憶文件落在本機磁盤,請妥善備份 NOEMA_ROOT,並留意是否包含敏感信息。
  2. 導入功能會讀取其他工具的配置與記憶路徑,確認這些目錄中沒有不應被 Agent 學習的機密內容。
  3. 插件當前爲 0.1.0-rc.3 候選版本,API 與行爲可能隨 DSH / Noema 演進調整。
  4. 安裝任何社區插件前,務必自行審查源碼與許可證;插件權限等同於運行 dsh 的用戶權限。

結語

如果你受夠了「每次對話重新交代背景」,dsh-noema 提供了一條相對務實的路徑:本地 Markdown 存儲、豐富的召回與導入工具、Web 設置頁統一管理,再加上服務保活與熱重載等工程化細節。不妨從官方安裝命令裝起,先把現有 Cursor / Claude Code 規則導入一試。

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

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

小夜