一、项目介绍
代码评审是质量守门员,但手动在 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 |
| 开源状态 | 公开 |
| Languages | Go |
| 支持平台 | 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 用清晰的设计,把把代码评审自动化这件事从重复劳动变成了可复用、可维护的工程能力。它不追求大而全,而是把核心痛点解决得足够扎实,这正是日常开发与团队落地时最需要的那种工具。如果你也在被同类问题困扰,不妨按上面的安装与使用步骤试一试,把它接进自己的工作流。
评论 0
还没有评论,来说两句吧。