sourcebook 是一个代码变更完整性检查工具,定位为 AI 编码代理修改代码时的安全层。它要解决的问题是:代理改了一个处理程序,却可能忘记更新对应的测试、同级模块或引用旧值的配置。sourcebook 通过分析 git diff,对照仓库的真实文件结构与历史提交数据,标记出本应被修改却没有修改的文件。
主要能力分为两层。第一层是基于规则的检测,不调用大语言模型,运行时间小于一秒,包括:共同变更分析,即挖掘 git 历史找出经常一起变更的文件,例如 auth.ts 与 session.ts 在 88% 的提交中同时出现,若只改了前者就会标记后者;测试文件检测,通过命名约定和共同变更历史将源文件映射到测试文件;导入图谱构建,生成依赖图并检查导入方或被导入方是否需要同步更新;枢纽检测,当修改的文件有大量依赖者(如 50 个以上)时标记其影响的爆炸半径。第二层是 AI 驱动的语义分析,每次运行约花费 0.012 美元,将 diff 与依赖上下文发送给 Claude Sonnet,可以捕捉规则层看不到的语义关系,例如需要迁移的字段重命名、假定旧模式的校验逻辑、没有导入链接的跨模块依赖。所有 AI 建议都必须附带依赖引用,幻觉生成的文件路径会被过滤;完整性闸门确保零误报,若 diff 本身完整,Layer B 不会给出任何提示。
使用方式上,该工具无需设置即可对任意 diff 运行。它提供 Claude Code 钩子,用一条命令即可接入 pre-commit 钩子,代理编辑文件后 sourcebook 检查 diff,让代理在提交落地前看到遗漏内容。它已发布在官方 MCP 注册表,代理可以按需查询仓库结构、影响范围、约定和共同变更数据。此外还有 GitHub App,可在每个拉取请求上自动执行完整性检查,目前处于即将推出状态并开放等待名单。工具直接读取仓库的 git 历史与文件结构,无需其他配置。
适用场景主要是 AI 编码代理参与修改代码的仓库,尤其是需要保证关联文件同步更新的工程团队。工具基于真实基准测试构建,基准包含 19 个任务、10 个仓库、4 种语言。许可方面采用 BSL-1.1,源码可获取、免费使用,但不能作为托管服务提供,将于 2030 年 3 月 25 日转为 MIT 许可。