黄一航
← 全部项目

OpenClaw 开源贡献与记忆系统重构

在 GitHub 38 万+ Stars 的开源 Agent 项目上:一个修复 PR 已被官方合并;另 Fork 出自己的版本,重构记忆与上下文管理两大核心模块,代码公开可查。

TypeScriptEmbeddingSQLite上下文工程

做成什么

已合并

官方 PR

记忆模块公开可查(37 个文件,含测试)

Fork 重构

四级检索降级 + CJK token 预算修正

架构改造

问题

OpenClaw(小龙虾)是 GitHub 38 万+ Stars 的开源 Agent 项目,但官方版的记忆是单层向量检索:没有遗忘机制、不会主动提取,embedding 服务一旦异常整个记忆系统直接崩溃;长会话下上下文管理也会爆 token——而且官方对 CJK 文本的 token 估算偏低约 40%,中文场景问题更严重。

做法

先从小处建立信任:提交修复 MiniMax API 端点配置错误的 PR,已被官方合并。然后 Fork 深度定制:把单层向量检索重构为三层认知记忆架构,补上遗忘与主动提取;加四级检索降级链(embedding 失败 → fallback provider → keyword-only → SQL LIKE 多 token 打分),任何一级挂掉都有下一级兜底;再做四层上下文管理,包含入口截断、三级递进裁剪、持久化会话清理和 CJK 感知 token 预算。

AI 在这个项目里的角色

改造对象就是 Agent 系统本身:读懂一个别人写的大型 Agent 代码库,找到架构级问题并重构——比从零写一个更能说明工程深度。

这个项目证明什么

从零写项目容易「只在自己的舒适区里转」。OpenClaw 这件事的难度在于:读懂一个活跃开源 Agent 项目的内部架构,指出它的结构性问题,然后动手改掉

改了什么

记忆:从单层到三层。 官方版本质是「往向量库里塞、按相似度捞」——没有遗忘,不会主动提取。重构后分为检索引擎层、认知记忆层、调度层,记忆有了生命周期管理。代码公开可查:重构后的记忆模块(37 个文件,含测试)

可用性:四级检索降级。 官方版 embedding 服务一挂,记忆整个不可用。重构后:embedding → fallback provider → keyword-only → SQL LIKE 多 token 打分,逐级兜底。(眼熟吗?这个网站聊天链路的「真 AI → 演示模式」降级是同一个设计哲学。)

上下文:四层管理。 入口截断保留头 60% 尾 30%、完整内容落盘按需读取;三级递进裁剪;持久化会话清理用原子写入替换已消化的冗余工具输出;最后是 CJK 感知的 token 预算——官方对中文约 40% 的低估会让所有上游策略失准,这个修正是中文场景能用的前提。

起点是一个已合并的 PR

修复 MiniMax API 端点配置错误——很小,但走完了完整的开源协作流程:发现问题、定位、提 PR、过 review、合并。