工作原理

先理解。再精准修复。

Codna 以零 token 绘制整个代码库的地图,然后只用重要的证据修复缺陷。

工作原理

1

解析仓库。

Codna 扫描文件、符号、导入、测试和依赖边。地图基于导入模式构建,不用模型,因此零 token,也不会把代码发往任何地方。

codna triage . --json
2

构建影响范围图。

该图标出当函数、文件、包或 API 变化时可能出错的地方。这让 Codna 在智能体启动前就缩小搜索空间。

3

打包证据。

Codna 把智能体所需的确切文件、失败测试、调用路径和回忆上下文交给它。每次运行时打印原始到证据包的大小比例。

4

修复、把关、打开 pull request。

智能体编写补丁。Codna 报告根因、置信度、影响范围和回归风险,并在应用任何内容之前运行风险闸门。使用 --tests --apply 时,它在沙箱中运行你的测试并反复修复直到通过。使用 --open-pr 时,它打开 pull request 供你审查。

codna fix https://github.com/org/repo --issue "checkout race condition" --open-pr

01内部机制

Codna 交给智能体的东西。

架构

设计上与模型无关。

使用你在 Anthropic、OpenAI、Google Gemini、Groq、Mistral、OpenRouter 或 xAI 的密钥,或使用托管模型额度。确定性地图保持不变。

带上你的密钥

你的模型密钥,存在操作系统钥匙串中。你的提供商。你的账单。

MCP 服务器

以本地服务器的形式为 Cursor 和 Claude 提供五个 Codna 工具。

CLI 优先

在任意仓库、CI 任务或容器中运行 Codna。GitHub Action 运行同样的命令。

GitHub App

审查每一个 pull request。把 issue 和红色检查变成修复 PR。

常见问题

Codna 从仓库的导入模式构建依赖与影响范围图,不用模型,零 token。该图记录哪些代码影响哪些代码,因此定位不是猜测。

Codna 在调用智能体之前组装的那一部分上下文:可疑文件、调用路径、失败测试和回忆上下文。Codna 在每次运行时打印原始到证据包的 token 大小,让你看到智能体读了多少。

每个修复在应用或打开 pull request 之前都通过风险闸门,并报告根因、置信度、影响范围和回归风险。运行 codna fix --tests --apply,Codna 会在沙箱中运行你的测试并反复修复直到通过,直到你设置的迭代上限。

在 87 个配对案例中对比 Cursor,Codna 的 token 少 5 倍、速度快 1.7 倍,每个已验证修复的模型花费平均约 $0.02。

仓库地图来自导入模式,因此不绑定某一种语言。设备端回忆覆盖 Python、JavaScript、TypeScript、Go、Rust、Java、C、C++、C#、PHP 和 Ruby。你自己的测试命令运行你仓库使用的任何运行器。

Codna 以 CLI、面向 Cursor 和 Claude 的 MCP 服务器、GitHub Action 和 GitHub App 提供。理解在你的机器上运行。只有证据包或 diff 会通过你的密钥送达模型提供商。