Memory Bridge (忆桥)

io.github.yanglinfeng由 GitHub 帳號 yanglinfeng 發布v1.0.1更新於 Oct 24, 2026

Evidence-cited knowledge base for internal documents: audit trail, versioning, namespace isolation.

發布方自己的服務:Memory.fit

已驗證STDIO僅桌面資料庫知識與記憶

概覽

AI 產生的概覽

本地優先、附出處引用的 MCP 知識庫與長期記憶層,回答帶來源綁定、版本鏈與命名空間隔離。

可以做什麼
  • 寫入、召回、更新與遺忘記憶,並列出記憶與檢視統計
  • 召回上下文時附上來源綁定與可回放的檢索 traceId
  • 提供計算機與日期差、日期位移等確定性求解工具,避免模型心算
  • 維護文件層級版本鏈,被取代的內容退出預設檢索但仍可稽核
  • 依使用者、命名空間與作用域隔離資料,並記錄全操作稽核日誌
適用情境
適合建置內網或私有化部署的企業知識庫,用於制度、合約、流程等有版本與歸屬的文件問答,要求答案能指出出處、舊版本不被引用、各部門互不可見。也可作為不綁定特定客戶端的記憶層,接入 Claude Desktop、Cline、Cursor 等客戶端。
執行需求
以 Docker 映像(GHCR)或原始碼方式在本機執行,原始碼方式需 Node.js 24 以上;npm 套件尚未發布。需要已執行的 Ollama 並拉取生成與嵌入模型,且必須提供 MEMORY_BRIDGE_USER_ID 或 MEMORY_BRIDGE_MCP_TOKEN,兩者皆缺時會拒絕啟動。MEMORY_BRIDGE_OLLAMA_URL 指向 Ollama 位址。HTTP 模式只監聽回環位址。
安裝前請注意
服務信任回環位址上的無權杖請求,不要用連接埠對應把它暴露出去。MEMORY_BRIDGE_MCP_TOKEN 是帳戶憑證。預設模型請求走本機 Ollama,若設定遠端模型位址,提示詞與上下文會傳送到該服務。記憶工具會寫入、更正與標記刪除資料,且所有操作都會留下稽核日誌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Memory Bridge (忆桥),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Memory Bridge(忆桥)

Local-first, evidence-backed knowledge & memory layer for MCP.

内网 AI 知识库引擎 —— 企业文档问答 / 制度与合同检索 / 私有化部署,每个答案带逐句出处与可回放 traceId;同时是不绑定任何客户端的 MCP 长记忆中间件。

简体中文 · English

[License: Apache-2.0] [Node] [Schema] [MCP] [ghcr.io] [MCP Registry]

30 秒跑起来(无需本机 Node,无需构建):

bash
docker run -i --rm -v memory-bridge-data:/data ghcr.io/yanglinfeng/memory-bridge:latest

已发布到官方 MCP Registry(io.github.yanglinfeng/mcp-memory-bridge),多架构镜像见 GHCR。

EN — Memory Bridge answers three questions most RAG / memory stacks skip: where did this sentence come from, is the source still valid, and who can see it. Every answer carries source bindings and a retrieval traceId; every change is audited; every namespace is isolated. By default, model requests go to local Ollama. If you configure a remote model endpoint, the relevant prompts and context are sent there.

AI 知识库最大的风险不是答不出,是编造和引用已废止的文件。忆桥给回答配出处、给变更留审计、给部门数据上隔离。默认配置使用本机 Ollama;如果将模型地址配置为远程服务,相关提示词和上下文会发送到该服务。

什么时候该用忆桥

你在搭企业内部知识库,并且满足下面任意一条:

你的场景忆桥对应的能力
员工问的是制度、流程、合同、售后记录这类有版本、有归属的文档文档级版本链,内容变更自动轮替,旧版本退出默认检索但仍可审计
你被要求回答「这条结论出自哪份文件哪一段」逐句来源绑定 + 可回放的 traceId
不同部门不能看到彼此的资料用户 / 命名空间 / 作用域三层隔离 + 可信会话签发
数据不能出内网本地优先,默认本机 Ollama,无外部依赖

也就是说:企业知识库 / 内网文档问答 / 制度与合同检索 / 私有化部署,以及在这些场景下的长记忆层——忆桥同时是不绑定任何客户端的 MCP 记忆中间件,可直接接进 Claude Desktop、Cline、Cursor 等客户端。

反过来,如果你只是想让 AI 记住你的代码风格偏好,或者想要一个托管在云上的记忆服务,忆桥不是最优选择——它的强项是可审计,代价是要你自己部署。

为什么是忆桥

企业落地绕不开的问题忆桥的机制
这句话的出处是哪份文件的哪一段?非破坏式巩固逐句绑定来源,每次召回带 traceId,可回放「查询改写 → 候选 → 融合 → 重排 → 选择 → 注入」全程
文件改版了,旧答案还会被引用吗?文档级版本链:内容变更自动走 supersede,旧版本退出默认检索,历史版本仍可审计回溯
谁能看见、谁改过?用户 / 命名空间 / 作用域三层隔离 + 可信会话签发与授权矩阵 + 全操作审计日志

已实现

检索与问答

  • FTS5 + Dense ANN + 概念倒排 + 严格重排的全库混合检索,不按「最近 N 条」预截断
  • Cross-encoder 重排:bge-reranker-v2-m3 Python sidecar,按语料域(policy / open)分档相关性门槛
  • 相关性不足时按粗排分填充(filler),保留多跳证据链
  • 弃答策略:语料里没有就明确说没有,不硬编
  • 答案工具:calculator / date_diff / date_shift——算术与日期交给代码算,不让模型口算
  • bi-temporal 召回:检索窗口同时受 valid_from / valid_to 约束

接入面

  • 10 个 MCP 工具:记忆读写 7 个 —— memory_remember · memory_recall · memory_get_context · memory_update · memory_forget · memory_list · memory_stats;确定性求解 3 个 —— answer_calculator · answer_date_diff · answer_date_shift
  • HTTP API + OpenAI 兼容接口 + React 管理台(候选审核、版本证据、召回解释、索引水位、系统健康)
  • 知识库 / RAG 应用层直写通道,字段级契约见 API 接口文档

记忆治理

  • 自然语言记住 / 纠正 / 遗忘的同步快车道;纠正保持稳定 UUID 并追加版本,遗忘先写 tombstone
  • 跨多轮推断固定进入待确认,支持确认 / 拒绝 / 阻止未来等价 claim——没有 inference 自动提交开关
  • 非破坏式巩固:来源变化或遗忘后摘要自动失效并可重建
  • 默认保留用户数据:无自动衰减、无证据脱敏

工程底座

  • SQLite(node:sqlite)+ outbox / jobs:租约、重试、dead letter、崩溃重放、幂等执行
  • 全操作审计 + 检索 JSONL 日志(元数据 / 诊断分级、脱敏、轮转、保留清理)
  • Memory Doctor 只读体检:重复、冲突、孤儿、失效摘要、超大记忆、零结果热点
  • 模型全可配置:默认生成 qwen2.5:14b、embedding bge-m3:latest(Ollama),无需云服务

Quick Start

前置:Node.js ≥ 24,Ollama 已运行(Docker 方式不需要本机 Node)。

bash
ollama pull qwen2.5:14bollama pull bge-m3:latest

方式 A —— 官方镜像(推荐,零构建)

bash
docker run -i --rm -v memory-bridge-data:/data ghcr.io/yanglinfeng/memory-bridge:latest

镜像同时提供 linux/amd64 与 linux/arm64(Apple Silicon 原生运行,不走模拟)。

方式 B —— npx(只接 MCP 客户端)

注:npm 包 mcp-memory-bridge 尚在发布准备中。若此命令报 404,请改用方式 A 或 C。

bash
MEMORY_BRIDGE_USER_ID=default npx -y mcp-memory-bridge

方式 C —— 从源码运行(管理台 / 开发)

bash
git clone https://github.com/yanglinfeng/memory-bridge.gitcd memory-bridgenpm installnpm run buildnpm start          # HTTP 服务 + 管理台:http://127.0.0.1:3789

首次启动为空记忆库——没有演示数据,管理台只展示真实写入的内容。

容器里跑 HTTP 模式要注意:忆桥只监听回环地址(127.0.0.1 / ::1),这是有意的安全 契约——服务信任 loopback 上的无令牌请求。所以容器里不能用 -p 3789:3789 做端口映射 (映射到的是容器自己的回环,宿主机连不上),请改用 --network host(Docker Desktop 需先 在设置里启用 host networking)。完整说明见 Dockerfile 头部注释。

接入任意 MCP 客户端(Claude Desktop / Cline / …),用官方镜像最省事:

json
{  "mcpServers": {    "memory-bridge": {      "command": "docker",      "args": [        "run", "-i", "--rm",        "-v", "memory-bridge-data:/data",        "ghcr.io/yanglinfeng/memory-bridge:latest"      ]    }  }}

从源码运行时改用绝对路径:

json
{  "mcpServers": {    "memory-bridge": {      "command": "node",      "args": ["/absolute/path/to/memory-bridge/dist/server/mcp-stdio.js"],      "env": {        "MEMORY_BRIDGE_USER_ID": "default"      }    }  }}

MEMORY_BRIDGE_USER_ID(或改用 MEMORY_BRIDGE_MCP_TOKEN)是必填项——两者都缺时服务会拒绝 启动。镜像里已内置 MEMORY_BRIDGE_USER_ID=default,所以 Docker 方式无需再配。 npm 包发布后,也可改用 "command": "npx" 与 "args": ["-y", "mcp-memory-bridge"]。

接入示例

三个零构建、可直接运行的最小示例(curl / Node / Java),覆盖写入(含 corpusDomain / classification)、幂等重放、召回、supersede 改版与时序对照查询:

bash
export MB_TOKEN=你的令牌        # 见 examples/README.md §1
bash examples/curl/quickstart.shnode examples/node/quickstart.mjsjava examples/java/QuickStart.java      # JDK 17+,零依赖

详见 examples/README.md。

文档一致性

文档里声明的 schema 版本、环境变量、npm 脚本、HTTP 路由与配置默认值,可以和代码事实一键对撞:

bash
npm run check:docs

它会把「文档说的」与「代码里的」逐项比对并在不一致时以非零退出码失败,适合在发布前与每次 大改后重跑。见 CONTRIBUTING.md。

完整安装、运维、接口与排障文档从 docs/README.md 进入; 基准评测的条件与一键复现见 BENCHMARKS.md。

评测

忆桥自带评测与压测链路(scripts/ 下 40+ 个可执行脚本,覆盖检索、重排、巩固、命名空间隔离、上下文反思、规模、可靠性与崩溃恢复),并在 docs/acceptance-report-*.md 中保留带日期与环境的证据快照。

公开基准(英文知识库问答、中文自建集)的条件与一键复现脚本已列在 BENCHMARKS.md。 其中包含数据准备与运行限制;大规模延迟压测仍是项目内部评测,不作为公开基准。在数字可复现之前,README 不主张任何分数——这是本项目「可信层」定位的一部分。

和主流方案的区别(按维度,不按体量)

维度忆桥mem0Zep / GraphitiRAGFlowAnythingLLM
引用可验证(来源绑定 + traceId)✅——✅部分
时序有效性(版本替代退出检索)✅ 文档级—✅ 事实级——
全操作审计日志✅企业版✅——
命名空间 / 部门隔离✅ 可信会话 + 授权矩阵企业版✅团队级Workspace
遗忘与纠正(tombstone / 版本追加)✅✅✅——
可配置为全离线(模型端点也在本机)✅部分—✅✅
MCP 原生✅ 7 工具✅社区封装✅—

本表只列架构上有无,不评分数高低。各项目迭代都很快,请以各自仓库为准。

Roadmap

  • BENCHMARKS.md:公开基准的完整条件与一键复现(npm run bench:cn / bench:cmrc / bench:hotpotqa)
  • 社区四件套:CONTRIBUTING.md / SECURITY.md / CHANGELOG.md / CODE_OF_CONDUCT.md,附 .env.example 与 examples/(curl / Node / Java)
  • 文档 ↔ 代码一致性门禁 npm run check:docs(发布前与每次大改后重跑)
  • supersede 时补写 valid_to,并补 as-of 查询的回归测试
  • 清掉 3 例预存在的失败用例:迁移备份与写锁顺序那 1 例已修(改为取锁后复检文件家族); test:lifecycle 的 2 例 doctor 经查是 Node 版本低于 engines >= 24 所致,非代码缺陷
  • 英文入口 README.en.md(核心指南英文版仍待补)
  • pretest 加 Node 版本守卫:engines 在 npm 里只是警告、不阻断执行, Node < 24 跑 npm test 会稳定看到 2 例假红灯
  • 文档解析深度:推荐接入 RAGFlow / Docling 等上游,忆桥专注其上的可信层

关于开源边界的说明。 忆桥的定位是「可信层」,而可信必须可被验证——所以证据绑定、版本链、 审计日志、命名空间隔离这些构成可信层的能力,全部在本仓库、全部 Apache-2.0、且不会改为闭源。 只有两类东西不在本仓库内:企业内网的文档摄取与权限落地(解析、章节切分、ACL 裁剪、审核流、 图像链路),以及交付与运维工程(离线交付包、升级回滚、合规审计导出、带 SLA 的支持)。 它们作为独立模块提供商业支持,不影响本仓库的完整可用性——独立部署本仓库就是完整可用的内核。

联系与支持

事项走哪个通道
缺陷报告Issues · 缺陷报告模板
功能建议Issues · 功能建议模板
私有化部署实施 / 商业支持与 SLA / 定制开发Issues · 商业合作模板 或 Discussions 的 Commercial 分类
用法讨论、部署求助、调优经验Discussions
安全漏洞Security Advisories —— 请勿为安全问题开公开 Issue,处理流程见 SECURITY.md

维护者是个人开发者(@yanglinfeng),不开空头 SLA;缺陷会按「是否影响 出处可验证 / 版本可追溯 / 权限可隔离」排序,商务类咨询优先回复。

本项目以 Apache-2.0 授权。公司内部自用、二次开发、集成进内部系统,乃至打包进你们对外销售的产品,都不需要向我们申请授权——这是 Apache-2.0 已经给到你的权利,我们不会事后收回。

既然如此,什么情况下才需要联系?答案是需要责任,而不是许可:

你需要的是怎么走
私有化部署实施、模型选型与调优、历史数据迁移商业合作表单
带明确响应时间的 SLA、年度维护与升级保障商业合作表单
企业内网场景的文档摄取、章节切分与权限落地商业合作表单
只是想用起来不必联系,git clone 即可

「忆桥 / Memory Bridge」名称与标识不在 Apache-2.0 的授权范围内(见许可证第 6 条)。二次分发请使用你自己的产品名,不要让人误以为出自本项目官方。

License

Apache-2.0

來源:README.md,提交 874cb45

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v1.0.1最新Oct 16, 2026
  2. v1.0.0Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合