向量+图记忆后端:observe/remember/search/recall 四个工具对接本地 memoria 服务,HNSW 语义召回 + FTS5 关键词 + 知识图谱信号经 RRF 融合排序,回合结束自动写入,按 Agent 命名空间隔离。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:jiayan-xu/dsh-memoria
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
memoria 记忆后端插件:把 memoria(向量 + 图记忆层)接入 DeepSeek Harness (dsh),让 dsh agent 会话可以记住和回忆。
- 4 个工具:
memoria_observe/memoria_remember/memoria_search/memoria_recall - 自动写入:每轮对话结束自动
observe沉淀;用户肯定反馈(不错/很好/good/赞…)自动remember(importance=5) - 配置热重载:改
~/.dsh/settings.yaml的memoria:section 免重启生效 - 命名空间隔离:所有读写强制落在配置的 namespace(默认
dsh-test),不碰其他业务数据
使用前提
⚠️ 本插件是 memoria 的前端,不是记忆存储本身。使用前需要:
- 自建并运行 memoria 服务(默认连接
http://127.0.0.1:9003):memoria 是独立的开源项目(jiayan-xu/memoria,Rust 向量 + 图记忆服务)。没有该服务时工具会报连接失败。 - 准备 badge token:memoria 工具调用要求
register_agent签发的 badge token(admin key 不能直连),见下文「获取 memoria badge token」。以环境变量MEMORIA_AGENT_KEY提供(不落盘)。
装完发现工具报 Connection refused / HTTP 200 but auth failed,先检查这两项。
安装
前置:@deepseek-ai/dsh CLI 与 pnpm。
# 安装(自动挂载,无需手动改 profile)——两种源任选
dsh plugin --profile web add github:jiayan-xu/dsh-memoria
# 或 npm 源:
dsh plugin --profile web add @jhp830901/dsh-memoria
# 启动 dsh web 即可使用
dsh web
配置
插件默认连 http://127.0.0.1:9003(本地 memoria)。可配置项:
| 项 | 默认 | 说明 |
|---|---|---|
baseURL |
http://127.0.0.1:9003 |
memoria 服务地址 |
agentId |
dsh-memoria |
memoria agent 身份(需已注册) |
apiKeyEnv |
MEMORIA_AGENT_KEY |
环境变量名,值 = memoria badge token |
namespace |
dsh-test |
记忆命名空间(隔离边界) |
autoWrite |
true |
自动写入开关 |
推荐用 settings section 覆盖(热重载):
# ~/.dsh/settings.yaml
memoria:
baseURL: http://127.0.0.1:9003
namespace: my-namespace
autoWrite: true
agentKey 不要落盘,用环境变量:
export MEMORIA_AGENT_KEY=<badge-token>
获取 memoria badge token
memoria 的工具调用要求 X-Agent-Key 为 register_agent 签发的 badge token(admin key 不能直连)。未注册时先注册:
# 用 admin key 注册 agent(示例),返回 badge 有效期 1 年
curl -X POST http://127.0.0.1:9003/mcp -H 'Content-Type: application/json' \
-H 'X-Agent-Id: dsh-memoria' -H 'X-Agent-Key: <ADMIN_KEY>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"register_agent","arguments":{"agent_id":"dsh-memoria","display_name":"dsh-memoria plugin","namespace":"dsh-test"}}}'
使用
用户:记住一个重要事实:我的仓库密码是 42
用户:我之前记住的仓库密码是什么? → 命中回忆
验收用例
- 写入:
memoria_remember {content, namespace}→{"status":"remembered","id":...} - 召回:
memoria_search {query, namespace}→ 语义 + 关键词多信号命中 - 隔离:其他 namespace 检索本插件数据 → 授权拒绝/空结果
开发
npm install -D typescript @types/node --legacy-peer-deps
bash scripts/build.sh # 产出 lib/(Windows 下依赖 junction,见 scripts/build.sh 注释)
License
BSD-3-Clause
链接
同类插件
volcengine/OpenViking#examples/dsh-memory-plugin★ 38815
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
vectorize-io/hindsight#coding-agents★ 37670
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
agentscope-ai/ReMe#dsh★ 3526
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2670
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
vshulcz/deja-vu#extensions/dsh★ 1074
读取本机上其他三十三个编程智能体已经写下的会话文件——Claude Code、Codex、Cursor、VS Code Copilot Chat、opencode、OpenClaw、Hermes、Kimi、Cline、Zed 等,包括安装之前的历史:提供 deja_recall、deja_session、deja_blame、deja_fix、deja_how、deja_remember 六个工具与 /deja 命令,并可选地把召回结果加入运行时上下文。本地 BM25 索引,不用大模型,不用向量嵌入,不联网(dsh plugin --profile web add dsh-deja)。
adoresever/graph-memory★ 630
DeepSeek Harness 的可追溯、可检索跨会话记忆:把对话知识沉淀为带类型的图节点(任务/技能/事件)与关系边。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。