更新日志
Origin 所有值得注意的改动都列在这里。版本号遵循语义化版本;1.0 之前,次版本可能改变存储格式或公开接口,它的说明会写明需要怎么做。五个包(@openlinkos/origin 以及 @openlinkos/origin-core、-adapters、-mcp、-admin)以同一个版本号一起发布。英文版更新日志(CHANGELOG.md)是 GitHub 发布说明的来源。
0.3.0 - 2026-10-24
导入各 Agent 为自己保存的记忆,检索时略去已结束的条目,并在网站上说明版本与升级。
升级。 这个版本第一次打开库时会就地升级它(格式版本 4)。请先升级中枢,再升级它的设备:0.2 的中枢会镜像设备发来的记忆流,但不读取,升级之后才读取;在此之前,设备对导入条目的纠正要等待它。
记忆
- 把各 Agent 为自己保存的记忆导入为条目:Claude Code(
~/.claude/projects/<project>/memory/)、ZCode(~/.zcode/cli/memories/)和 Grok Build(~/.grok/memory-v2/,以及早期版本的~/.grok/memory/)的记忆文件,只读不写。文件的每个版本成为同一条条目的一个版本,并以该版本的文件作为来源;删除文件会结束它的条目,文件回来后条目重新成为当前版本。每个拥有记忆流的库都从中派生出相同的条目,中枢从它的设备和中继发来的内容派生,所以这些条目从不发送。MCP 结果、CLI 和管理界面会把它们标为导入,文件之后的改动会取代在 Origin 中做的纠正。 - 有效期已结束的条目(
valid_to已过),比如文件已被删除的导入记忆,不出现在检索和列表中,除非要求查看历史;get和origin show仍会显示它们。
个人中枢
- 镜像的
latest标签现在跟随发布版本,新增的edge标签跟随master上最新的提交;latest以前跟随master。固定一个次版本(比如0.3),由你决定中枢何时升级。
文档
- 网站新增页面:核心概念、MCP 工具、升级(版本、镜像标签、存储格式)、常见问题,以及这份更新日志;网站导航中的版本号链接到它们。
修复
- 在一个库中做的遗忘,如果另一个库当时还没有它指向的条目或事件,现在会在它们到达那个库时覆盖它们;从原生记忆导入的条目在每个库中的 id 都相同,所以可能在设备上被遗忘之后,中枢才派生出它。
0.2.0 - 2026-10-24
归档的 Agent 从两个增加到五个,新增本机管理界面、中继、可恢复的遗忘,以及带版本的库。
升级。 Origin 0.2 第一次打开库时会就地升级它;为稳妥起见,请先用 origin backup <dir> 备份。请先升级中枢,再升级它的设备,因为 Origin 0.1 会忽略恢复;升级过的库不要再回到 0.1。无需重新注册:origin mcp 的名称和工具不变(forget 现在要求写原因)。
归档与检索
- 归档 Grok Build 会话(来源 id
grok):~/.grok/sessions/(或$GROK_HOME)下每个会话的更新流。 - 从 ZCode 的 SQLite 数据库
~/.zcode/cli/db/db.sqlite(只读打开)归档 ZCode 会话(来源 idzcode):每条消息在稳定之后,连同它的各个部分,写成一行镜像。 - 归档 Cursor 会话(来源 id
cursor):编辑器的对话(来自只读打开的state.vscdb),以及~/.cursor/projects/下的对话记录。 - 适配器可以为不是日志文件的来源(比如数据库)生成行;Origin 像对待文件的行一样镜像并导入它们。
- 会话重新从 Claude Code 2.1 写下的
ai-title行获得标题,用/rename起的名字优先于生成的标题;升级库时,会为它已有的 Claude Code 会话加上标题,在设备和中枢上都是如此。Grok Build 会话的标题来自它的summary.json。没有标题的会话(比如所有 Codex 会话)以第一条提示作为暂名(MCPtimeline和origin timeline中与title并列的prompt),origin status会统计有标题的会话数。
管理界面
- 会话页按轮次显示:每条提示,或 Agent 执行了的命令,Agent 的工具调用折叠成一行(按工具计数、失败数),展开后每次调用一行,Agent 的回复按 Markdown 渲染,包括表格;其他命令和注入的上下文显示为小注释,长会话按轮次分页并附带日期索引,只读取当前显示的轮次的事件。时间线按天分组会话,用第一条提示命名没有标题的会话,并可按名称筛选;概览新增按 Agent 区分的 30 天活动图、最近的会话、最活跃的项目、每个 Agent 的版本和最后一次导入、最新的条目和遗忘,以及原始镜像的存放位置。
origin ui为你自己机器上的库提供管理界面,只在 127.0.0.1 上:它用一次性链接代替密码让浏览器登录,不包含只有中枢才有的内容;在连接了中枢的设备上,会在后台把你在其中写下和遗忘的内容同步过去。- 在
origin ui的终端中按回车,它会打印并打开一个新的登录链接,之前的链接随即失效;它启动时,会像origin sync --local一样在后台导入这台机器的 Agent 会话,同时界面已经可以使用。 - 管理界面的标签、折叠块、轮次卡片、事件链接、紧凑列表、占比条、活动图及其配色,以及 Markdown 正文,改为来自 OpenLinkOS 设计系统 0.3.0 版(
@openlinkos/ui),不再自己定义样式:Agent 消息中的链接带下划线,事件链接更容易看到和点中,图表的配色略有变化。
遗忘
- 遗忘现在是一条记录,所有者随时可以恢复:
forget在所有地方(MCP、CLI、管理界面)都要求写原因并记录作者,origin restore和管理界面的「已遗忘」页面可以写明原因后恢复(Agent 不能恢复),这个页面会向所有者展示一次遗忘隐藏了什么,origin forgotten列出遗忘与恢复。恢复是一条以那次遗忘为目标的遗忘记录,像遗忘记录一样复制;请先升级中枢,再升级它的设备,因为 Origin 0.1 会忽略恢复。在管理界面中遗忘时,不再需要再次输入 id 或密码。
个人中枢
- 为磁盘小的机器提供中继模式:
origin hub connect … --relay把一个空库变成中继,它只保存游标,直接从日志把 Agent 的日志发给中枢,并通过中枢回答每个 MCP 工具和 CLI 查询。 - 中枢可以把原始镜像中已封存的帧保存在兼容 S3 的存储桶(比如 MinIO)中(
origin serve --raw-s3-endpoint … --raw-s3-bucket …,或ORIGIN_RAW_S3_*,密钥从 Secret 挂载时用*_FILE);origin raw upload会搬移已在磁盘上的帧并加以校验,每次 8 个(--concurrency),origin backup会把它们复制回备份中。 origin status和origin hub status会显示设备上次完成与中枢同步的时间,以及在那之后失败的上一次同步的错误。- 中继会在 Agent 删除它尚未发送的日志之前发出警告:当未发送的会话接近 Claude Code 的
cleanupPeriodDays(未设置时为 30 天),或者对于其他 Agent,已经等了一周还什么都没发出去时,origin status、origin sync和origin mcp(在它的日志里,以及中枢无法回答的工具的错误里)会给出提示。
工具
- 库会记录它的格式版本,较新的 Origin 打开它时会就地升级一次,包括 0.1.0 的库;Origin 会拒绝格式比它所知更新的库。
修复
- 设备不再在另一个进程(
origin sync和某个 Agent 的origin mcp)同时推送同一个文件时放弃推送,中继也是如此。 - 设备在发送文件时,会一并发送它为该文件的事件记录的 Agent 版本,这样对于日志中不带版本的 Agent(Grok Build、Cursor),中枢会记录同样的版本。
- 得到多个结果的工具调用(比如 Claude Code 后台 Agent 的调用)会保留全部结果,不再把后面的结果显示成名为
?的调用。
0.1.0 - 2026-10-23
第一个版本。
归档与检索
- 把 Claude Code 和 Codex CLI 的会话归档到
~/.origin(或$ORIGIN_HOME)下的一个只追加的库中。导入是增量且幂等的,被重写的文件作为新的一代保留,并能读取 zstd 压缩的 Codex 记录。 - 原始镜像以可随机读取的 zstd 帧存储;每个事件都指向它的原始文件和行。
- 对会话和条目的全文检索:每个词都必须以不区分大小写的子串形式匹配,包括一到两个字的中日韩词语;结果按相关度排序或按时间排序。
条目与遗忘
- 三种条目:
memory、knowledge和cognition,每条都引用它所来自的事件,带有置信度和版本历史。 correct会取代一条条目;来自不同库的并发纠正会收敛到最新的那个。forget在每个库上永久隐藏一条条目或一个事件,之后任何东西都不能再引用它。
Agent
origin mcp:一个通过 stdio 提供服务的 MCP 服务器,有七个工具:search、timeline、get、sources、remember、correct和forget。它在 Agent 启动时、读取之前、写入之后、Agent 运行期间每分钟,以及 Agent 退出时同步一次。
个人中枢
origin serve(也是ghcr.io/openlinkos/origin镜像):一个自托管、单租户的中枢,汇集你的设备,并通过 HTTP 向云端 Agent 提供 MCP。- 每个设备仍然是一个完整的库。
origin sync把它的原始镜像、条目和遗忘记录发送到中枢,并带回在别处遗忘的内容;设备上的 Agent 同时读取两个库,中枢没有回应时退回到设备本身。 - 中枢令牌绑定到以它命名的设备。
- 面向中枢所有者的管理界面,默认关闭(
origin serve --admin):设备、存储、会话、检索、条目、先预览再执行的纠正和遗忘、附带现成接入命令的令牌管理,以及审计日志,由一个管理密码保护。
工具
origin backup <dir>能在 Agent 持续写入时一致地复制一个库。- 需要 Node.js 22.16 或更高版本。