Changelog

真实上线的东西,来自真实 commit 历史。

验证了豆包的支持,本地版和云端版都通

豆包没有 JSON 配置文件——是一个点选式的「自定义连接器」弹窗(技能・连接器・伙伴 → 新建 → 新建自定义连接器),STDIO(对接本地服务:命令 + 参数 + 环境变量)和 HTTP(对接云端端点:URL + 自定义 Headers,跟 Cursor 一样的 x-api-key 方案)两种传输类型都支持。已在真实豆包客户端里验证过这两条路径,包括在跟其他客户端同一个账号/记忆图谱上成功调用了 add_memory。

本地部署现在可以让 LLM 和 embedding 也完全跑在本地

新增一个可插拔的 embedding provider,能接通任意 OpenAI 兼容的 /v1/embeddings server——vLLM、Ollama、llama.cpp、MLX 到 2026 年都支持这个协议。配合把 LLM_BASE_URL 也指向同类 server,本地部署现在能完全不调用云端 API,还能顺带去掉 sentence-transformers/torch 这个依赖。已经用真实的 Ollama server 验证过;另外三个引擎架构上完全一样,但还没单独测过。

修复了一个可能被托管平台健康检查误杀的启动延迟

embedding 模型之前在服务启动时同步加载,导致进程好几秒内答不了任何请求(包括健康检查的 ping)。这个问题是对着 Glama 上一次真实的容器部署失败("Container exited with code 1 before responding to ping")确认的,现在改成第一次真正用到时才加载。同时把 README 重新整理成先给能上手的快速开始,而不是一上来就是搭开发环境。

发布到 PyPI,另加了给容器托管平台用的 Dockerfile

`pip install spomory` 现在是真的了——已发布到 PyPI,本地安装方式也补进了官方 MCP Registry,跟原有的远程条目并列。还加了一份 Dockerfile,让 Glama 这类从容器镜像部署的目录也能收录 Spomory。

Codex、Cursor 的图形化 MCP 配置界面验证通过

两个客户端「图形化添加自定义 MCP Server」的入口都端到端验证过了,本地版远程版都测了——Codex 的 Plugins → Manage → MCPs 表单(STDIO 和 Streamable HTTP 两种类型),以及 Cursor 的 Customize → MCPs 编辑入口。还补充了远程接入真实的 url + headers JSON 结构,之前一直没写清楚。

一次清空、密钥不再传给 LLM、两个客户端补齐真实验证

新增 forget_all_memory——起因是一个真实用户撞到了 forget_memory 刻意设计的边界:清空 4 条已存事实要点 4 次审批。现在一次调用搞定,而且会连归档的历史版本一起清掉,不会被复活。写入路径新增敏感信息脱敏(API Key、token、JWT 等),在文本发给抽取 LLM 之前处理,覆盖真实用户写入路径和公开的 /demo/try 接口。Cursor 和 Codex CLI 现在都是真实环境验证过的,不再只是照官方文档类比推断。

免注册 Demo 上线,检索开始留意「哪些事实被反复提起」

新增免鉴权、限流的 /demo/try 接口,任何人不用注册就能试抽取+检索。检索排序现在会给被反复提及的事实加分;写入路径对低信息量的填充语(「好的」「谢谢」这类不可能抽取出事实的输入)直接跳过 LLM 调用,省下一次真实花钱的 API 请求。

公开注册接口加固,同一周提交了两个市场收录

POST /users/register 补上了 CORS、去重、限流、邮箱验证——这是「demo 能跑通」和「能扛得住公开流量」之间的差距。记忆更新现在会保留事务时间历史,一条事实被改过几次可以追溯。同一周提交了 MCP 官方 Registry 的 server.json 收录申请。

静态加密、陈旧度感知排序、OAuth 一次性上线

本地存储默认静态加密。检索排序开始考虑「这条事实多久没被查询过」,陈旧的事实会自然掉权。多租户、OAuth 2.1 鉴权的云端 MCP 服务器从脚手架到验证通过一次做完。同一天还发现并记录了一个只有真实英文输入才会暴露的渲染 bug——就是博客上那篇。

第一批真实跑分公开,同一天抓到一个回归

在 README 里公开了第一批真实的 LoCoMo 跑分数字。同一次复测中发现了一个 Recall@10 回归,定位到两个独立成因并分别修复——如实记录,没有淡化处理。新增 forget_memory 工具,用户终于可以说「忘记我说过 X」并且真的生效。

真机验证 Claude Desktop,140 条样本跑完整个 GRPO 训练

在真实的 Claude Desktop 会话里确认 add_memory、search_memory 都能端到端跑通——过程中撞上一个真实的 macOS 权限 bug(TCC 拦截 MCP 子进程读取 ~/Documents),当天修掉。RL 训练数据集从 27 条扩到 140 条真实样本,跑完一次完整训练——中途曾经短暂怀疑过是「数据不够」,后来查出来其实是奖励函数写错了。同一天还在真实 GPU 机器上部署了 Postgres。

最初两天:从项目脚手架到第一次真实跑分

项目脚手架、可插拔的 LLM/向量模型接口、图存储、HippoRAG 风格检索。MCP 工具接线、记忆护照导出、验证过的真删除路径。本地存储静态加密。云端 API 鉴权/配额、Key 管理、删除审计日志。第一批真实的 LoCoMo 跑分数字,以及后续训练一直在用的 GRPO 训练/策略框架。