GitHub App

每个 pull request 都被审查。每个修复都是 PR。

Codna 审查每一个 pull request,并批准干净的 diff。通过 issue 标签、评论或红色检查请求修复,Codna 就会打开 pull request 供你合并。

工作原理

从 pull request 到结论。从 issue 到修复 PR。

01

安装到仓库

在你的账户或组织上安装并选择仓库。将安装关联到你的 Codna 账户以使用托管修复,或添加你自己的密钥。

02

审查每一个 pull request

Codna 发布带有严重性、类别和置信度的发现,置信度 0.75 及以上最多十条,并内联给出建议改动。干净的 diff 会获得批准。重新审查只覆盖新的提交。

03

打开修复 PR

通过 codna-fix 标签、对某个发现回复 @codna fix,或红色检查套件触发修复。Codna 会先对红色套件进行分诊,所以基础设施故障不花任何成本。

04

保持控制

Codna 从不合并。分支规则、必需检查和你的审查始终掌控一切。管理员可以为组织关闭自动修复。

评论命令

评论即可运行 Codna。

两个动词,位于行首。修复需要仓库写权限,fork 则会收到建议改动。

@codna review
@codna fix        # reply on a Codna finding

labels: codna-fix · codna-secure
PR 证据

每个 PR 都自我说明。

每个修复 PR 都说明 issue、根因、涉及的符号和置信度分数,并在合并前请求审查。提交来自 codna-ai[bot]。

根因一句话
置信度0 到 100%
Check runcodna review · codna fix · codna secure

常见问题

内联发现,带有严重性(高、中、低)、类别(正确性、安全、性能)和置信度分数,并在适用处附上建议改动。中高严重性下干净的 diff 会获得计入分支规则的批准;否则 Codna 只评论。它从不请求变更。用 review.approve: false 关闭批准。

codna review 检查在你推送的那一刻就显示为排队中。被取代的提交以 neutral 结束,新的 head 会被审查。当必需检查失败时,审查会在结论旁边说明:结论只针对 diff,不是合并许可。合并队列继承 pull request 的结论。

添加 codna-fix 标签。Codna 以零 token 绘制仓库地图,从证据包进行修复,并打开一个说明 issue、根因、符号和置信度的 pull request。如果补丁没有通过风险闸门,则不会推送任何内容,Codna 会说明原因。

已关联账户包含每月约 $5 的托管模型额度。在账户页添加你自己的密钥即可不限量、自行付费地使用。在 87 个测量案例中,每个已验证修复的模型花费平均约 $0.02。

审查根据 pull request 的大小在 4 到 20 分钟内完成;超时的审查会说明情况,并请你 @codna review 或拆小 PR。每个 pull request head 每天一次 CI 失败修复。任务在 30 分钟后结束。托管测试运行使用 pytest;其他运行器以 neutral 结束,并提示设置 fix.test_command。@codna fix 需要写权限,且不在 fork 的 pull request 上运行。

每个任务使用短期、仅限该仓库的令牌。审查:contents 读、pull requests 写、checks 写、statuses 读。修复:contents、pull requests、checks、issues 和 workflows 写。Secure:contents 和 security events 读,checks 和 issues 写。审查智能体不持有写令牌。