Skip to main content

核心设置

Kodus 有三个配置级别:全局、代码库和目录。了解它们如何工作,请参阅配置继承与覆盖

配置优先级

你可以把审查配置放在代码库根目录的 kodus-config.yml 文件中,而不使用网页界面。
在你主动开启之前,该文件会被忽略。 kodusConfigFileOverridesWebPreferences 默认为 false,这意味着 Kody 根本不会读取 kodus-config.yml —— 仅仅提交文件不会产生任何效果。请先在 Settings → Code Review → 对应代码库 → General 中开启,或在网页界面的代码库 (或目录)级别设置 kodusConfigFileOverridesWebPreferences: true。之后该文件才会生效。
开启后,该文件会合并到你的网页设置之上,因此你只需声明想要修改的键 —— 未声明的项会保留网页中的值。
未知的键会被静默丢弃。 任何不属于当前 schema 的顶层键,都会在配置生效前被移除 —— 没有报错,也没有警告。如果某项设置看起来没有生效,请对照下面的示例检查拼写。
该示例反映了随产品发布的默认值。权威来源是 kodus-ai 代码库中的 default-kodus-config.yml

审查行为

自动审查

Kody 可以在 PR 打开时自动审查,或仅在您评论 @kody start-review 时审查。
这仅影响初始审查。对于后续提交,请参阅下面的审查节奏。

审查节奏

Kody 如何处理后续提交的审查:
审查每次新推送。对所有更改提供持续反馈。

PR 工作流

自动批准 PR

当未发现问题时,Kody 会批准 PR。 平台: GitHub, GitLab, Bitbucket

请求更改

当发现严重问题时,Kody 会请求更改。 平台: GitHub, Bitbucket

跳过条件

忽略的文件: 使用 glob 模式(例如 **/*.js),每行一个。默认:yarn.lock, package-lock.json, package.json, .env, **/*.json 忽略的标题: 跳过包含特定关键字的 PR(不区分大小写,最多 100 个字符) 基础分支: 限定哪些目标分支会被审查。
留空(默认值)表示所有目标分支都会被审查 —— 并不存在内置的 dev/release/master 列表。 只有当你想收窄范围时才添加条目:一旦列表非空,Kody 只审查指向这些分支的 PR(你代码库的 默认分支始终包含在内)。条目会与 PR 的目标分支进行匹配,并支持一套简单语法:当多个条目同时匹配时,以最具体的那个为准。每个条目最长 100 个字符,只能使用 a-z A-Z 0-9 / * - _ ! = :,且不允许使用 **
草稿 PR: runOnDraft 默认为 true,因此草稿也会被审查。设为 false 可跳过它们, 直到 PR 被标记为 ready。

分析类型

Kody 从四个类别进行审查。你可以在 Analysis Types 中,或通过 kodus-config.ymlreviewOptions 逐项启用或禁用。
  • Bug —— 逻辑错误、竞态条件、空指针解引用、边界情况和错误行为。
  • Security —— 漏洞、注入、认证问题、数据泄露和密钥。
  • Performance —— N+1 查询、热路径分配、缺失缓存和阻塞式 I/O。
  • Business Logic —— 对照 PR 中关联的业务规则、需求和验收标准验证实现。参见 业务逻辑验证
Kody Rules 不属于上述类别 —— 它们始终运行,与 reviewOptions 无关。参见 Kody Rules