因果记忆插件:零依赖的 MCP stdio 桥,把 causal-memory 服务的 17 个工具以干净名(无 mcp__ 前缀)挂载——本地 SQLite 记录「决策 → 结果」因果边(caused / enabled / prevented),压缩后记忆仍存活——另注入一段常驻系统提示词。需先将 causal-memory 服务端装到 PATH(pip install causal-memory,或下载预编译包)。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:JingxuanC/causal-memory#path:/dsh-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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 原生记忆插件:把 causal-memory 的 17 个工具以干净命名
(无 mcp__ 前缀)挂到 DSH 的 ctx.tools,并注入一条系统提示词段落
(order 300),告诉模型何时查阅因果记忆库。
前置:causal-memory 二进制
插件按 DSH 惯例解析服务端二进制(不写死路径),四选一:
- pip 安装(推荐,无需 Rust 工具链):
会把pip install causal-memorycausal-memory命令装到 PATH 上,插件自动解析到它。 - 下载预编译二进制:从 GitHub Releases
下载对应平台(Windows / macOS / Linux × x64 / arm64)的压缩包,解压后把
causal-memory放到 PATH 上(如~/bin或/usr/local/bin)。 - 本仓库开发构建(克隆到任意位置即可):
插件会自动找到cargo build --release --bin causal-memory<仓库>/target/release/causal-memory。 - 显式指定:
config.command配置项或CAUSAL_MEMORY_BIN环境变量。
安装
cd <causal-memory 仓库路径>
dsh plugin --profile web add "$PWD/dsh-plugin"
以 link: 方式安装(pnpm link)——修改本目录代码即时生效,无需重装。
启用
本包声明了 dsh.bundle manifest(cordis.patch.yml),通过
dsh plugin add 安装时 insert 会自动合并,无需手工配置。
仅当以 link: 方式做开发安装时需要手工确认
~/.dsh/profiles/web/cordis.patch.yml 的 insert 列表包含:
- id: causal-memory-plugin
name: causal-memory-dsh-plugin
重启 dsh web 后生效。
配置(可选,均省略时有合理默认)
| 字段 | 默认 | 说明 |
|---|---|---|
command |
自动解析 | 二进制路径:config.command → CAUSAL_MEMORY_BIN → 仓库 target/release → PATH 裸名 |
dbPath |
~/.local/share/causal-memory/causal.db |
SQLite 路径(或 CAUSAL_MEMORY_DB) |
toolCallTimeoutMs |
60000 |
单次工具调用超时 |
exclude |
[] |
不挂载的工具名数组 |
failOnStartupError |
true |
启动连接失败时是否让插件激活失败(默认失败并附安装提示;显式设 false 则降级为仅记日志) |
env |
{} |
透传给服务端子进程的额外环境变量(优先级高于当前环境)。非字符串值会被丢弃并记一条 warn,因此 !!js 表达式算出 undefined 不会毒死子进程 |
用 env 打开 LLM 能力(可选)
服务端从环境变量读 LLM / Embed 配置。缺了它,依赖 LLM 的工具会静默降级成规则回退——resolve_updates、reconstruct_lesson 的叙事与 calibrate、以及 remember 的自动抽取都会被影响:
- id: causal-memory-plugin
name: causal-memory-dsh-plugin
config:
env:
# 注意:此值是 base URL,源码会自行追加 /chat/completions
CAUSAL_MEMORY_LLM_API: https://api.deepseek.com/v1
CAUSAL_MEMORY_LLM_KEY: !!js process.env.DEEPSEEK_API_KEY || ''
CAUSAL_MEMORY_LLM_MODEL: deepseek-chat
⚠️ CAUSAL_MEMORY_LLM_API 必须填 base(https://api.deepseek.com/v1)。填成完整路径 .../v1/chat/completions 会被再拼一次,得到 .../chat/completions/chat/completions → 404,而工具不会报错,只会悄悄退回规则路径。密钥建议走环境变量或 vault,不要明文写进本文件。
工具清单(17 个)
record_decision · record_fact · remember · search_causal ·
search_facts · search_memory · search_patterns · causal_directory ·
trace_cause · trace_cause_chain · intervention_query ·
counterfactual_query · prediction_report · invalidate_decision ·
invalidate_pattern · resolve_updates · reconstruct_lesson
(工具列表运行时从服务端动态发现,服务端升级后无需改插件。)
卸载
dsh plugin --profile web remove causal-memory-dsh-plugin
# 并从 ~/.dsh/profiles/web/cordis.patch.yml 删除对应 insert 行
设计说明
- 零运行时依赖:只用 Node 内置模块;JSON-RPC over stdio 直接与 causal-memory 二进制通信(rmcp 的新行分隔 JSON 线协议)。
apply为 async:与 DSH 官方@deepseek-ai/dsh-mcp-client同款时序 (cordis 4.x 会等待 async apply 的 promise,工具在激活前完成握手与发现)。- 所有注册均为 effect 作用域:卸载时注销工具并终止子进程。
- 与 MCP 桥(
@deepseek-ai/dsh-mcp-client,工具名mcp__causal-memory__*) 二选一启用,避免双份工具。
链接
同类插件
vectorize-io/hindsight#coding-agents★ 54464
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
volcengine/OpenViking#examples/dsh-memory-plugin★ 40976
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
MemTensor/MemOS#memos-local-plugin★ 12136
DeepSeek Harness 本地记忆插件:分层 L1/L2/L3 记忆,自动沉淀与手动 memos_* 检索工具并存,内置记忆浏览器。
agentscope-ai/ReMe#dsh★ 3702
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2802
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
vshulcz/deja-vu#extensions/dsh★ 1321
读取本机上其他四十二个编程智能体已经写下的会话文件(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)。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。