记忆强制协议插件:桥接 opencode-memory MCP 服务器,工具调用前强制 memory_weave、每轮自动存档、自动注入记忆上下文。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:baaai123/dsh-memory-protocol
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
为 DeepSeek Harness 打造的长期记忆插件 — 桥接 opencode-memory MCP 服务器,并附加强制记忆协议。
哼,杂鱼又忘事了吧? 工具调用前先给我 weave 记忆、每轮对话自动存档——省得你三秒重置、重复学习。才、才不是特地为你准备的,只是看不得你每次从零开始犯蠢。
作用
这个 bundle 装两样东西:
- memory-mcp — 通过官方
@deepseek-ai/dsh-mcp-client桥接 opencode-memory 的 Python MCP 服务器(15 个memory_*工具:weave/search/ingest/classify/teach_skill 等) - memory-protocol — 强制协议插件,三个 hook:
tools/pre-execute— 未 weave 就调其他工具 → 硬拒绝agent/pre-step— 每轮自动 weave 并注入记忆上下文agent/turn-stopping— 每轮自动 ingest 对话
安装
前置依赖:Python MCP server(memory-skill)+ 嵌入模型(bge-large-en-v1.5)。插件启动时会自动引导安装(npm run bootstrap 或插件 autoBootstrap);也可手动安装(下面的命令)。可用 MEMORY_SKIP_BOOTSTRAP=1 关闭自动引导。
# 1. 先装 opencode-memory 的 Python server(提供 memory_skill.mcp_server)
pip install "memory-skill[onnx]" optimum[onnxruntime] huggingface_hub
# 2. 下载嵌入模型(约 1.3GB,自动转 ONNX;国内网络可加 HF_ENDPOINT=https://hf-mirror.com)
# 3. 安装本插件
dsh plugin --profile web add dsh-memory-protocol
默认用 python3 -m memory_skill.mcp_server 启动 MCP server。路径可通过环境变量覆盖:
| 环境变量 | 默认 | 说明 |
|---|---|---|
MEMORY_SKILL_PYTHON |
python3 |
解释器路径 |
MEMORY_SKILL_DIR |
process.cwd() |
memory-skill 项目目录 |
MEMORY_SKILL_DB_PATH |
~/.memory-skill/memory.db |
记忆库路径(server 已内置此绝对默认值;如需共享 opencode 的库,显式指向该库文件) |
IMPORTANCE_API_KEY |
(未设) | LLM 重要性评分 key(可选) |
自动引导
插件检测到 memory MCP 工具未注册时,会自动触发 scripts/bootstrap-memory.mjs(也可手动 npm run bootstrap):
pip install --user "memory-skill[onnx]" optimum[onnxruntime] huggingface_hub(已安装则跳过)- 下载
BAAI/bge-large-en-v1.5并转 ONNX(默认models/bge-large-en-v1.5/;直连失败自动重试HF_ENDPOINT=https://hf-mirror.com)
| 环境变量 | 默认 | 说明 |
|---|---|---|
MEMORY_SKIP_BOOTSTRAP |
(未设) | =1 关闭自动引导 |
MEMORY_SKIP_INSTALL |
(未设) | =1 跳过 pip install |
MEMORY_SKIP_MODEL |
(未设) | =1 跳过模型下载 |
MEMORY_MODEL_PATH |
$MEMORY_SKILL_DIR/models/bge-large-en-v1.5 |
指定模型目录(已有 model.onnx 则跳过下载) |
没有 Python 侧时,插件以 fail-open 模式运行(不强制执行协议、agent 不被阻塞),并显示一次性引导提示。 引导完成并重启 dsh 后,memory 工具注册、严格协议自动恢复。
配置
memory-protocol 的配置项(cordis.patch.yml 中可调):
config:
enforceWeave: true # 工具调用前强制 weave(未 weave 拒绝)
injectWeave: true # 自动注入记忆上下文
autoIngest: true # 每轮自动存档
allowlist: [] # 豁免工具名(除 memory_* 外)
工作原理
dsh (Web / headless)
├─ memory-mcp @deepseek-ai/dsh-mcp-client ──> python3 -m memory_skill.mcp_server
│ └─ 15 个 mcp__opencode_memory__* 工具
└─ memory-protocol 强制协议
├─ tools/pre-execute 未 weave → deny
├─ agent/pre-step weave + 注入
└─ agent/turn-stopping 自动 ingest
License
MIT
截图

| 架构 | 强制执行演示 | 配置项 |
|---|---|---|
![]() |
![]() |
![]() |
演示为真实运行输出:未 weave 调工具 → ⛔ DENY;pre-step 自动 weave 并注入记忆上下文;turn-stopping 自动 ingest。
链接
同类插件
vectorize-io/hindsight#coding-agents★ 41184
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
volcengine/OpenViking#examples/dsh-memory-plugin★ 38914
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
agentscope-ai/ReMe#dsh★ 3530
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2679
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
vshulcz/deja-vu#extensions/dsh★ 1081
读取本机上其他三十三个编程智能体已经写下的会话文件——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★ 631
DeepSeek Harness 的可追溯、可检索跨会话记忆:把对话知识沉淀为带类型的图节点(任务/技能/事件)与关系边。



社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。