关于 sovseal-memory
sovseal-memory 为 MCP 客户端和 AI Agent 提供本地优先的持久记忆,适合需要将明文留在设备上的工作场景。它在本地完成嵌入与检索,并可选择仅同步 AES-256-GCM 密文。
主要功能
- 01本地语义记忆与检索
- 02浏览器扩展跨平台捕获
- 03可选零知识加密同步
- 04Node SDK 与边缘端点
- 05记忆内容静态加密
适用场景
- 01在受隐私约束的团队保存工作上下文
- 02在不同 AI 平台间共享记忆
- 03为 Agent 持久化任务状态
MCP 相关
MCP 服务向客户端提供 store_memory 和 recall_memory 工具,并通过本地 LanceDB 存储和检索记忆。支持 stdio 与 HTTP/SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 |
详细介绍
零知识、本地优先的 AI 记忆,适用于不能发送到云端的工作。
Claude、ChatGPT、Cursor 和所有 MCP 客户端共用一份私密记忆——明文绝不会离开你的设备。
@sovseal/mcp-server
·
npm 上的 @sovseal
·
快速开始
·
对比情况
·
更新日志
为何打造
如果你的工作涉及代码、客户信息或数据,且不允许上传这些内容——例如医疗、法律、金融科技、国防领域,或任何受保密协议约束的工作——那么如今每种 AI 记忆方案都要求你违反这一规定。平台记忆会把你的上下文保存在平台的云端和封闭生态中,而且每次只能服务一个平台。云端记忆层则会将原始对话经由第三方服务和提取 API 进行传输。
sovseal 选择了另一条路:**所有捕获、嵌入和回忆操作都在你的设备上运行。**明文绝不经过网络。可选的同步层只传输 AES-256-GCM 密文——即使服务器想要读取,也无法读取你的记忆。它支持 MCP,并通过浏览器扩展运行,因此你在使用的每种 AI 都能共享同一份记忆,而不是分散在六个独立空间中。
实测性能与基准测试(2026 年 5 月)
托管在云端的记忆层迫使你在延迟、隐私和成本之间做出取舍。每次回忆都要往返访问他人的数据库,耗时 200–800 ms。**sovseal 消除了这种取舍。**LanceDB 和 Transformers.js 在你的 Agent 进程内部运行。
| 工作负载 | 操作 | p50 | p95 | p99 | 网络 |
|---|---|---|---|---|---|
| 10K 条记录 · 1K 次查询 | recall_memory(热启动) | 6.1 ms | 10.4 ms | 21.8 ms | 0 RTT |
| 冷启动 | recall_memory(首次调用) | ~1.2 s | — | — | 0 RTT |
| 单次写入 | store_memory | 3.8 ms | 7.2 ms | 12.5 ms | 0 RTT(后台写入) |
运行以下命令即可复现所有基准测试:pnpm --filter @sovseal/mcp-server run bench-v2(预先写入 10K 条记忆,按顺序执行 1K 次查询,在普通硬件上进行受 CPU 限制的 ONNX 嵌入)。
速度快且保护隐私的原因:
- p99 回忆耗时低于 25 ms — 语义搜索是本地向量查询,而非 HTTP 调用。
- 设备端嵌入 — 固定版本且经过哈希验证的 384 维 MiniLM 模型(约 22 MB 的量化 ONNX)在本地运行。无需嵌入 API,也没有按调用计费。
- 零知识同步 — 启用复制后,AES-256-GCM 加密会在任何字节离开设备前完成。服务器存储的是无法解密的密文。
- 经验证的语义回忆(VSR) — 每次加载都会重新计算
sha256(canonicalize(payload)),哈希不匹配时会安全失败。 - 确定性溯源 — 快照图支持恢复为逐字节相同的状态。
简介
sovseal 为 AI 助手和自主 Agent 提供由你真正拥有、持久且可移植的上下文。它可接入任何兼容 MCP 的客户端,通过浏览器扩展从主流聊天平台捕获内容,并将明文保存在它应当待着的地方:你的硬件上。
核心功能与使用场景
核心能力:
- 本地优先的语义记忆:设备端 LanceDB + 384 维 Transformers.js 嵌入,实现 0-RTT 召回。
- 跨平台捕获:浏览器扩展可在 ChatGPT、Claude、Perplexity、Grok、Gemini 和 DeepSeek 上捕获和召回内容——一份记忆,六个平台,随时随地按 ⌘/Ctrl+M。
- 零知识同步(可选):复制只传输端到端 AES-256-GCM 密文。本地模式可完全离线运行,无需账户。
- 写后复制:工具调用在本地提交后即返回;密文同步异步进行。
- 开发者友好:即插即用的 MCP 服务、Node SDK 和可自托管的边缘端点。
适用对象:
- 受隐私限制的团队:医疗、法律、金融科技及国防相关团队,其政策要求明文保留在设备端。
- AI 高级用户:在 Claude Desktop、Cursor、ChatGPT 等平台间工作的用户,不想再应付六个各自失忆的 AI。
- Agent 框架:ElizaOS、Hermes、CrewAI 和 LangGraph 原生使用 MCP 服务——本地记忆,无需按调用付费。
⚖️ sovseal 的对比
一份坦诚的对比,因为你迟早会问:
| 平台原生记忆(ChatGPT / Claude) | 云端记忆层(mem0、Zep、托管式 MCP 记忆) | sovseal | |
|---|---|---|---|
| 明文存储位置 | 提供商的云端 | 提供商的云端,或你的服务器(自托管 = 由你运维) | 仅在你的设备上 |
| 提取流程 | 提供商内部处理 | 通常会通过 LLM API 调用处理原始文本 | 设备端嵌入;不经过 LLM |
| 跨平台使用 | 否——各平台彼此隔离 | 是(通过其云端) | 是——在本地通过 MCP + 扩展实现 |
| 离线使用 | 否 | 否(云端)/ 部分支持(自托管) | 是 |
| 同步模式 | 由提供商控制 | 服务器可读取你的数据 | 服务器只能看到密文 |
| 每次召回的成本 | 需订阅 | API / 托管成本 | $0,本地计算 |
坦诚地说,使用 sovseal 需要放弃这些:不会有云端 LLM 代你进行巧妙的内容提取(这是有意为之——我们正是为了防止这种泄露而存在);你也需要自行负责密钥(参见威胁模型)。如果这两点都不重要,而且你只使用一个平台,那么该平台的原生记忆可能就够用了。如果它们对你很重要,那么本表中的其他方案都无法实现最右侧这一列所描述的功能。
🚀 快速入门指南
选择你的使用方式
sovseal 通过三种交付形式提供同一种协议。根据代码的运行位置选择:
| MCP 服务 | 浏览器扩展 | Node SDK / 可自托管 | |
|---|---|---|---|
| 最适用于 | Claude Desktop/Code、Cursor、Windsurf、Zed、Agent 框架 | 浏览器中的 ChatGPT、Claude.ai、Perplexity、Grok、Gemini、DeepSeek | 在 Node/TS 服务中进程内使用;完全掌控数据驻留 |
| 安装 | npx -y @sovseal/mcp-server | Chrome 网上应用店 + 本地主机安装程序 | npm install @sovseal/sdk |
| 召回延迟 | 0 RTT(本地 LanceDB) | 0 RTT(通过 Native Messaging 连接本地引擎) | 0 RTT(本地 LanceDB) |
| 费用 | 免费(Hobby) | 免费(Hobby) | 付费(Starter 或更高版本,适用于自托管同步) |
MCP 服务
适用于 AI 编码助手和任何支持 MCP 的 Agent 框架的默认选择。一个服务二进制文件、一段配置片段,适用于所有客户端。
Claude Desktop、Cursor、Windsurf、Zed——添加到 mcp.json 或 claude_desktop_config.json:
{
"mcpServers": {
"sovseal-memory": {
"command": "npx",
"args": ["-y", "@sovseal/mcp-server"]
}
}
}
适用于 Claude Code 的一行安装命令:
claude mcp add sovseal -- npx -y @sovseal/mcp-server
系统提示词片段(Claude Desktop / Cursor 项目说明): 要确保 AI 原生使用记忆服务,请将以下内容粘贴到自定义说明中:
This session has persistent memory via sovseal. At conversation start, check the sovseal://context/recent resource. Whenever the user shares preferences, plans, or personal context, store it via store_memory.
对于始终运行的自主 Agent,请切换到 HTTP/SSE 传输方式,这样 sovseal 进程就不会随单次工具调用结束:
SOVSEAL_TRANSPORT=sse SOVSEAL_PORT=4040 npx -y @sovseal/mcp-server
浏览器扩展
适用于不支持 MCP 的 AI 平台。该扩展通过 Native Messaging 将 ChatGPT、Claude.ai、Perplexity、Grok、Gemini 和 DeepSeek 连接到同一个本地设备引擎——聊天时发送消息即捕获,按 ⌘/Ctrl+M 即可随时调取,并支持按站点切换和一键删除。
- 从 Chrome Web Store 安装,然后运行一次性本地主机安装程序。
- 确认弹出窗口显示 "本地设备引擎已连接。"
- 正常聊天;在任一受支持的平台中按 ⌘/Ctrl+M 即可调取。
扩展捕获的所有内容都存储在 MCP 服务读取的同一个本地数据库中——只需告诉 Claude.ai 一次,Claude Code 就已经知道了。
Node SDK(库)
构建后端服务并希望通过编程方式管理 Agent 状态持久化时,可导入 Node SDK 客户端。它会在客户端执行端到端 AES-256-GCM 加密,并将检查点复制到你选择的同步端点。
npm install @sovseal/sdk
import { AgentStateClient, CryptoService } from "@sovseal/sdk";
const client = new AgentStateClient({
endpoint: "https://your-project.supabase.co/functions/v1/v2-agent-state",
apiKey: "sov_proj_your_project_uuid",
});
const key = await CryptoService.generateAESKey();
// Client-side AES-GCM encrypted snapshot upload
const receipt = await client.snapshot({
key,
payload: {
agent_id: "agent_a1b2c3",
sequence_number: 0,
parent_snapshot: null,
policy_hash: "0000000000000000000000000000000000000000000000000000000000000000",
timestamp: new Date().toISOString(),
active_context: {
project: "acme-migration",
decisions: ["Postgres over Mongo — team expertise", "Cut scope: no SSO in v1"],
open_question: "Client prefers staged rollout; confirm dates with their ops lead."
}
}
});
// Restore the latest state snapshot
const { receipt: latestReceipt, ciphertextUrl } = await client.restore({
agentId: "agent_a1b2c3",
});
自托管边缘服务
复制端点是一个 Deno 边缘函数——它是开源的,可部署到任何 Supabase 项目,以实现全面的数据驻留控制。
# From the repo root
supabase functions deploy v2-agent-state
supabase db push # applies the agent_state_snapshots schema
# Point any client at it:
export SOVSEAL_ENDPOINT="https://<your-project>.supabase.co/functions/v1/v2-agent-state"
来源:supabase/functions/v2-agent-state/。
🔗 集成与 Agent 框架
以下框架都通过其原生 MCP 支持使用同一个 MCP 服务。无需 sovseal 专用适配器:
| 框架 | 如何使用 MCP |
|---|---|
| ElizaOS | @fleek-platform/eliza-plugin-mcp(仅需配置,支持 stdio 或 SSE) |
| Hermes Agent | 原生 MCP,支持 stdio + 远程 HTTP |
| CrewAI | Agent 上的 mcps=[...] 字段 |
| LangGraph · LangChain | langchain-mcp-adapters(npm + PyPI) |
| Microsoft Agent Framework | 内置 MCP 工作台 |
| OpenAI Agents SDK | 原生 MCPServerStdio / MCPServerSse |
| OpenClaw | 原生 openclaw mcp 使用方 |
🛠️ 向大模型公开的 MCP 工具
| 工具 | 参数 | 行为 |
|---|---|---|
store_memory | { content: string } | 嵌入(384 维,本地设备上运行)→ 写入本地 LanceDB → 返回。密文复制采用写入后执行;不会阻塞任何操作。 |
recall_memory | { query: string, topK?: number } | 嵌入查询(LRU 缓存)→ 在本地 LanceDB 中进行向量搜索 → 返回按 L2 距离排序的前 K 个匹配项。0 RTT。 |
🔒 威胁模型 — 使用前请阅读
我们会明确说明哪些内容已受保护、哪些尚未受保护,以及哪些责任由我们承担、哪些由你承担。详情请参阅 SECURITY.md。
目前有效的保障:
- 同步保密性。 每个快照使用随机的 96 位 IV 进行 AES-256-GCM 加密,并在传输前完成加密。同步服务器只存储无法读取的密文。
- 完整性(VSR)。 每次回忆时,都会重新计算
sha256(canonicalize(payload)),并与存储的client_payload_hash进行比较。存储数据遭到破坏时,系统会默认拒绝访问。 - 不经第三方处理。 嵌入向量由设备端通过版本固定且经过哈希验证的模型计算。你的文本绝不会发送到嵌入或提取 API。
- 身份验证。 Bearer token =
sov_proj_<uuid v4>,存储于~/.sovseal/config.json。 - 存储。 密文存储在 Supabase Storage 存储桶中。对象路径由 SHA-256 派生;没有你的
project_id就无法猜出路径。
如实说明现状 — 安全加固正在进行中(v0.3.5):
| 控制项 | 状态 |
|---|---|
| 零知识复制(AES-256-GCM + 内容哈希) | ✅ 已发布 |
| 设备端、哈希固定的嵌入模型 | ✅ 已发布 |
| 防止查询谓词注入的标识符清理 | ✅ 已发布 |
| 本地数据库静态加密 | ✅ 已于 v0.3.5 发布 — 对记忆内容进行字段级 AES-256-GCM 加密(嵌入向量仍为明文) |
| 在操作系统密钥链中存储主密钥(使用 HKDF 分离静态加密与同步子密钥) | ✅ 已于 v0.3.5 发布 |
| 写入前以编程方式清除机密信息 | 🔄 计划中 — 目前仅在提示词层面执行 |
| 加载前严格验证模型完整性 | ✅ 已于 v0.3.5 发布 — 包括首次下载流程 |
从 v0.3.5 起,记忆内容在静态存储时会加密,主密钥存储在操作系统密钥链中,因此读取本地文件系统不再会暴露你的记忆。以编程方式清除机密信息仍仅在提示词层面执行 — 请参阅 SECURITY.md。我们宁愿在这里坦诚说明,也不希望你之后才发现这一点。
- 密钥丢失(Hobby/Starter/Growth)。 丢失
~/.sovseal/config.json→ 丢失所有曾经同步的快照。这些套餐不提供密钥托管或恢复流程。 - 密钥恢复(Pro/Enterprise)。 Pro 套餐通过 Shamir 分片托管提供受管理的密钥恢复,Enterprise 套餐则提供由 HSM 支持的密钥恢复。
🤝 贡献
pnpm install
pnpm --filter @sovseal/mcp-server build
node packages/sovseal-mcp-server/dist/index.js # stdio MCP server
测试(单元测试 + 集成测试 + 加密往返测试):
pnpm --filter @sovseal/mcp-server test
pnpm --filter @sovseal/mcp-server run bench-v2
请参阅 CONTRIBUTING.md。
🗺️ 路线图
核心开源模块 — stdio/SSE MCP 服务、浏览器扩展、Node SDK 和可自托管的 Supabase 边缘函数 — 均已稳定、免费,并采用 Apache 2.0 许可证。
接下来按顺序推进:
- v0.3.5 — 安全加固 + 首批智能能力:本地静态加密、操作系统密钥链密钥托管、通过代码强制执行的机密信息清除,以及启动带类型的记忆(情景式 / 语义式 / 程序式)和感知强化的回忆 — 让 sovseal 记住你尝试过什么,而不只是你说过什么。
- 环境感知捕获:为 Claude Code 和支持转录的客户端提供确定性会话观察 — 无需任何人记得存储,记忆便会自动形成。
- 托管同步套餐 — 为不想运行自己的边缘函数的团队提供托管式、高可用的密文复制。(仍是零知识:我们托管的是无法读取的字节。)
- 钱包密钥模式(可选) — 通过 Base L2 和 Irys 实现 Arweave 永久存储,适合希望加密快照的存续时间超越任何公司(包括我们)的用户。完全可选;核心产品不依赖区块链。
请在 CHANGELOG.md 和问题跟踪器中查看进展。
📚 文档与支持
- 快速入门:请参阅上方的快速入门指南
- 集成:请参阅集成与 Agent 框架
- 安全:SECURITY.md
- 源代码:
packages/sovseal-mcp-server/·apps/extension/·supabase/functions/v2-agent-state/ - 发行说明:
packages/sovseal-mcp-server/CHANGELOG.md - 问题与 PR:本代码库
- 联系方式:[email protected]
⚖️ 许可证
Apache 2.0 — 适用于所有公开部分(MCP 服务、扩展、SDK、核心协议、边缘函数、文档)。可随意派生、发布和运行。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。