18 种语言 · 任意 OpenAI 兼容端点 · MIT

一个代码库进去,两本手册出来——一本给你的团队读,一本给你的智能体定位。

你的编码智能体 grep 一个符号,在真正相关的七处里找到三处,然后交付了一个只改了一半的改动。这不是推理出了问题,而是路由出了问题。Handbooks 把地图交给它。

# 完整流水线,离线运行,无需 API key,约 30 秒
pnpm install && pnpm build
pnpm demo

内置示例项目,内置 mock LLM。零 token 花费。

七个命令,一个闭环

青色步骤是确定性的——不用 LLM,不联网,在 CI 里想重跑多少次都不花钱。琥珀色步骤会访问你的端点,并把学到的东西缓存下来。

  1. 1analyze无 LLM

    把每个文件解析成一张带类型的调用图。

  2. 2generateLLM

    卡片、阶段、叙述文字,以及跨阶段状态。

  3. 3render无 LLM

    Markdown、HTML、智能体索引、llms.txt。

  4. 4skill无 LLM

    打包给你的编码智能体。

  5. 5planLLM

    把一次改动定位成逐字节精确的编辑。

  6. 6apply无 LLM

    全有或全无地打补丁,可回滚。

  7. 7resyncLLM

    把手册向前滚动。无需重建。

  8. 每个阶段是怎么工作的
Handbooks 流水线:analyze、generate、render、skill、plan、apply,以及 resync 反馈回路

为什么你可以信任读到的内容

事实来自解析器

tree-sitter 构建调用图:函数、已解析的边、边界调用,以及它无法解析的调用——后者被隔离出来,绝不靠猜。这一层从不接触 LLM,所以每次运行都一模一样。

文字叠在上面,并且明说

一个文件是干什么的、一个子系统如何组织,由 LLM 来写,并且始终锚定在调用图上。写不出来的地方,结构照样产出,只是描述为空。宁可缺一句话,也不要编一句话。

为路由而建,不是为阅读而建

产出回答的是“这次改动要碰哪些文件、函数和状态?”——包括那些分散的、不显眼的、文本搜索找不到的地方。随后规划器会在它找到的每个地址上阅读真实源码。

打补丁刻意做得很无聊

锚点必须逐字节精确且唯一匹配。在写入任何东西之前,一切都已校验完毕。每个被触碰的文件都会连同打补丁前的哈希一起备份,所以回滚能证明自己在还原什么。

它以增量方式保持新鲜

resync 对比新旧调用图,只重新生成真正变化的部分。改了三个文件,就只为三个文件付费。文档不再腐烂,是因为更新它不再昂贵。

而且它会披露自己的局限

由配置驱动分析器读取的语言会在总览中被点名,这样“尽力而为的调用关系”就绝不会被误读成“精确”。

分析保真度

一次运行。六种可交付的格式。

生成是最贵的一步,而它只发生一次。下面的一切都是确定性的重渲染,你可以在每次提交时都跑一遍。

Markdown 手册

总览 · 索引 · 每个阶段一页 · 状态寄存器表

多页 HTML 站点

吸附式目录、面包屑、主题切换——可直接通过 file:// 打开

一个自包含页面

单个 .html,可以用邮件发出去,或者附到工单里

智能体定位索引

职责 · 入口概念 · 状态 · 范例 · 共同变更提示

llms.txt + llms-full.txt

llms.txt 约定,外加整本手册的扁平化全文

智能体 SKILL 包

SKILL.md + references/ + 每个文件一个内容哈希

从那个免费的命令开始

handbook analyze 从不需要 API key。在你自己的仓库上跑一遍,看看文件数和函数数,再决定后面的部分值不值得花一个 token。