mcpField
S
sovseal-memory

sovseal-memory

本地服务
github.com/sovseal记忆与知识712 周前更新

关于 sovseal-memory

sovseal-memory 为 MCP 客户端和 AI Agent 提供本地优先的持久记忆,适合需要将明文留在设备上的工作场景。它在本地完成嵌入与检索,并可选择仅同步 AES-256-GCM 密文。

主要功能

  1. 01本地语义记忆与检索
  2. 02浏览器扩展跨平台捕获
  3. 03可选零知识加密同步
  4. 04Node SDK 与边缘端点
  5. 05记忆内容静态加密

适用场景

  1. 01在受隐私约束的团队保存工作上下文
  2. 02在不同 AI 平台间共享记忆
  3. 03为 Agent 持久化任务状态

MCP 相关

MCP 服务向客户端提供 store_memory 和 recall_memory 工具,并通过本地 LanceDB 存储和检索记忆。支持 stdio 与 HTTP/SSE 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bobybarack-sovseal-memory": {
"command": "npx",
"args": [
"-y",
"@sovseal/mcp-server"
]
}
}
}
启动命令npx -y @sovseal/mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@sovseal/mcp-server0.3.8

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
contentstring是

详细介绍

sovseal — 永不离开你设备的 AI 记忆

零知识、本地优先的 AI 记忆,适用于不能发送到云端的工作。
Claude、ChatGPT、Cursor 和所有 MCP 客户端共用一份私密记忆——明文绝不会离开你的设备。

@sovseal/mcp-server · npm 上的 @sovseal · 快速开始 · 对比情况 · 更新日志

Npm package License: Apache 2.0 Node Security

为何打造

如果你的工作涉及代码、客户信息或数据,且不允许上传这些内容——例如医疗、法律、金融科技、国防领域,或任何受保密协议约束的工作——那么如今每种 AI 记忆方案都要求你违反这一规定。平台记忆会把你的上下文保存在平台的云端和封闭生态中,而且每次只能服务一个平台。云端记忆层则会将原始对话经由第三方服务和提取 API 进行传输。

sovseal 选择了另一条路:**所有捕获、嵌入和回忆操作都在你的设备上运行。**明文绝不经过网络。可选的同步层只传输 AES-256-GCM 密文——即使服务器想要读取,也无法读取你的记忆。它支持 MCP,并通过浏览器扩展运行,因此你在使用的每种 AI 都能共享同一份记忆,而不是分散在六个独立空间中。

实测性能与基准测试(2026 年 5 月)

托管在云端的记忆层迫使你在延迟、隐私和成本之间做出取舍。每次回忆都要往返访问他人的数据库,耗时 200–800 ms。**sovseal 消除了这种取舍。**LanceDB 和 Transformers.js 在你的 Agent 进程内部运行。

工作负载操作p50p95p99网络
10K 条记录 · 1K 次查询recall_memory(热启动)6.1 ms10.4 ms21.8 ms0 RTT
冷启动recall_memory(首次调用)~1.2 s——0 RTT
单次写入store_memory3.8 ms7.2 ms12.5 ms0 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-serverChrome 网上应用店 + 本地主机安装程序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 即可随时调取,并支持按站点切换和一键删除。

  1. 从 Chrome Web Store 安装,然后运行一次性本地主机安装程序。
  2. 确认弹出窗口显示 "本地设备引擎已连接。"
  3. 正常聊天;在任一受支持的平台中按 ⌘/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
CrewAIAgent 上的 mcps=[...] 字段
LangGraph · LangChainlangchain-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 和问题跟踪器中查看进展。

📚 文档与支持

⚖️ 许可证

Apache 2.0 — 适用于所有公开部分(MCP 服务、扩展、SDK、核心协议、边缘函数、文档)。可随意派生、发布和运行。

由 sovseal 团队打造 — 本地优先、零知识同步、免费。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。