面向构建 AI Agent / 助手类应用、需要给模型配长期记忆又不肯把"存什么"交给模型自主决定的团队。核心痛点:大多数方案里模型可以"悄悄把一段对话变成持久事实",导致记忆被污染、来源不可追溯、过期信息继续被检索。MemoryNode 是 local-first 的 AI Agent 记忆基础设施——模型只负责提议,人来决定是否保存;批准后的记忆可被搜索、可解释、可替换、可过期、可撤销。
点击空白处退出提示
面向构建 AI Agent / 助手类应用、需要给模型配长期记忆又不肯把"存什么"交给模型自主决定的团队。核心痛点:大多数方案里模型可以"悄悄把一段对话变成持久事实",导致记忆被污染、来源不可追溯、过期信息继续被检索。MemoryNode 是 local-first 的 AI Agent 记忆基础设施——模型只负责提议,人来决定是否保存;批准后的记忆可被搜索、可解释、可替换、可过期、可撤销。
核心功能概述: Propose first. Review before saving. Search with context. Revoke when needed.
- 提议-审核分离:提取出的记忆默认进入 pending 审核队列,模型不能自动写入持久事实;模型置信度只是审核者的"证据",不是"保存许可"。
- 可解释与可审计:每条已批准记忆保留来源、原始提议、审核决策和事件历史;memory_explain 可一键回溯"这条记忆从哪来、谁批准的"。
- 有效性控制:支持 Revoke / Expire / Supersede;默认搜索只返回"当前有效的记忆",撤销/过期/被取代的记忆自动排除。
- 多端一致接入:Python SDK、CLI、MCP(stdio + 本地 HTTP)共用同一套 FastAPI 边界,可接入 Codex Desktop 等 MCP 客户端。
- 本地优先与隐私:API / 控制台 / HTTP MCP 默认绑定 127.0.0.1;SQLite 为本地唯一真相源;MCP 日志只含操作元数据,不含 Token、查询、记忆内容。
- 可恢复运维:init / start / stop / restart / status / doctor / backup / restore / export / import 完整 CLI,doctor 只读检查且永不打印密钥。
架构: FastAPI /v1 作为生命周期边界,SQLite 为本地真相源,SDK / CLI / MCP 都是 API客户端(不直连数据库)。
Agent / MCP clients ──┐
Governance console ───┼──> FastAPI /v1 ──> Memory lifecycle rules ──> SQLite + FTS5
Python SDK / CLI ─────┘
- 后端:Python 3.10+、FastAPI;记忆提议用 Qwen / OpenAI 兼容模型做抽取
- 存储:SQLite + FTS5(全文检索);英文等非 CJK 走 FTS5关键词匹配,中文部分短语走本地内容回退(如"审核者批准"可命中"审核者批准后才能成为")
- 接入:MCP 双传输——stdio(单客户端标准用法)+ 本地 HTTP MCP(多客户端共享端点,Bearer Token鉴权,只存哈希)
- 前端:TypeScript 治理控制台(Pending 提议审核、记忆搜索)
- 部署:本地 loopback 优先;另提供阿里云 ECS 单机部署包(systemd + Nginx + 启动与运行时验证脚本,应用端口保持在 Nginx 之后)
- 发布:已发布 PyPI 包 memorynode==0.8.1,MIT 协议;CI 走可信发布(trusted-publishing)



评论