一、项目介绍

代码评审是质量守门员,但手动在 PR 里贴检查结果既慢又容易漏。团队一旦接了 ESLint、golangci-lint、SpotBugs 等一堆静态分析工具,把它们的报告搬到 GitHub/GitLab 的 PR 评论里就成了体力活,还常常因为格式不统一、只覆盖部分工具而失去价值。
reviewdog 是一个用 Go 写的自动化代码评审工具,它把任意语言、任意静态分析工具的输出,统一转换成 GitHub、GitLab 等平台上的 PR 评论、Check 或 Annotation。不管你用什么语言、什么 linter,只要能吐出错误格式,reviewdog 就能在 CI 里自动把问题贴到对应代码行上,让你在合并前就看到所有问题。

二、项目基本信息

信息项详情
项目名称reviewdog
GitHub地址https://github.com/reviewdog/reviewdog
项目描述🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
作者reviewdog
开源协议MIT License
开源状态公开
LanguagesGo
支持平台Windows / macOS / Linux
最后更新2026-10-28

三、核心优势

  • 语言无关:对接任意静态分析工具,不限编程语言
  • 多平台回报:支持 GitHub PR 评论 / Checks / Annotations 与 GitLab
  • 误差格式通用:内置 errorformat,也能用 RDFormat / SARIF / checkstyle
  • 本地可用:本地就能跑,提前发现再提交
  • CI 友好:一条命令接进现有流水线,几乎零改动

四、适用场景

适合在 GitHub / GitLab 上做 PR 协作、希望把静态分析结果自动落到代码评审里的团队。无论你用 Go、Python、JS 还是 Java,只要在做持续集成,它都能把评审自动化做扎实。

五、安装教程

当前最新版本 latest。按下方命令安装:

# 官方安装脚本(装到 ./bin):
curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh
# 或 Go 安装:
# go install github.com/reviewdog/reviewdog/cmd/reviewdog@latest

常见报错:依赖缺失时先升级对应运行环境(Node、Python、.NET、Go、Java、Rust、Bun、JDK);网络超时多为镜像或代理问题,可重试或换源;Docker 相关命令需已安装并启动 Docker 服务;涉及 API Key 的服务请提前在环境变量或配置文件中填好。

六、使用示例

下面是一段可直接参考的真实示例:

# .reviewdog.yml 示例:用 golangci-lint 做评审
runner:
  golangci-lint:
    cmd: golangci-lint run ./...
    errorformat:
      - '%E%f:%l:%c:%m'
      - '%E%f:%l:%m'

# CI 中执行(贴到 GitHub PR 评论):
# reviewdog -reporter=github-pr-review -runners=golangci-lint

七、常见问题

问:必须配 GitHub Token 吗?答:做本地评审不需要;要把结果回报到 PR 需要对应的 CI Secret(如 GITHUB_TOKEN)。问:报错 command not found?答:确认 reviewdog 已加入 PATH,或改用 go install 后的完整路径。

八、总结

reviewdog 用清晰的设计,把把代码评审自动化这件事从重复劳动变成了可复用、可维护的工程能力。它不追求大而全,而是把核心痛点解决得足够扎实,这正是日常开发与团队落地时最需要的那种工具。如果你也在被同类问题困扰,不妨按上面的安装与使用步骤试一试,把它接进自己的工作流。