受够了同事的垃圾代码?我用 Go 写了个自动审查工具

摘要: 拒绝 if err != nil 复读机。一个专为 Go 语言定制、基于 AI、颜值极高的 CLI 代码审查工具,现已开源。

🤬 为什么要造这个轮子?

做过 Tech Lead 或者经常负责 Code Review 的兄弟们肯定都有这种崩溃时刻:

  • 低级错误 :看到同事提交的代码里忽略了 error,或者在循环里启动 Goroutine 却没处理变量捕获。

  • 心累:每天都要在 PR 里评论同样的"请处理错误"、"这里有并发风险"、"变量名太随意了"。

  • Linter 不够用golangci-lint 很棒,但它只能查语法和静态规范,查不出业务逻辑漏洞代码设计问题

我就在想:既然现在的 DeepSeek V3 / GPT-4o 这么强,为什么不能让 AI 在我 git commit 之前,先帮我把这些脏活累活干了?

市面上的 AI 插件要么太贵,要么是 Python 写的启动巨慢,要么必须把代码传给第三方平台不安全。

作为一名 Go 语言工程师 ,我忍不了。于是我利用业余时间,用 Go + Bubble Tea 撸了一个专属于 Gopher 的代码审查工具------Review-Go

🦦 Review-Go 是什么?

简单来说,它是一个驻扎在你终端里的虚拟技术总监

它读取你本地 Git 暂存区(Staged)的代码变更,通过你配置的 AI 模型(OpenAI / DeepSeek / 通义千问),针对 Go 语言特性(并发安全、错误处理、鲁棒性)进行深度审查,并给出一针见血的建议。

✨ 核心亮点:

  1. Go-First 基因:内置了经过反复调优的 System Prompt,专门针对 Go 代码的痛点(Data Race、Panic 风险、接口设计)进行审查。

  2. 极致 TUI 体验 :基于 Bubble Tea 打造,拒绝冷冰冰的文字输出,支持流式渲染、漂亮的 Markdown 高亮。

  3. 快且省:智能解析 Git Diff,只查改动部分。配合 DeepSeek 等高性价比模型,一次 Review 的成本不到 1 分钱。

  4. 安全(BYOK):Bring Your Own Key。你的 API Key 只保存在本地配置文件中,代码直接直连模型 API,中间没有"中间商赚差价",也没有数据泄露风险。

📺 效果演示

的错误,AI 立刻指出了问题并给出了修复代码。

🛠️ 技术栈揭秘

作为一个 Go 开源项目,这也是一个很好的学习 CLI + TUI 开发的案例。项目主要使用了以下神库:

  • CLI 框架 : spf13/cobra ------ 也就是 Kubernetes 和 Docker 都在用的命令行框架。

  • TUI 界面 : charmbracelet/bubbletea ------ Go 语言界最炫酷的终端 UI 库,Elm 架构,并发友好。

  • 配置管理 : spf13/viper ------ 丝滑处理配置文件和环境变量。

  • Markdown 渲染 : charmbracelet/glamour ------ 让终端里的代码高亮像 IDE 一样好看。

为什么用 Go? 因为。Review 过程是高并发的(同时请求 AI 审查多个文件),Go 的 Goroutine 处理这种 IO 密集型任务简直是降维打击。同时编译成单二进制文件,没有任何 Python 环境依赖,扔到服务器上就能跑。

🚀 快速开始

项目已开源,欢迎试用!

1. 安装

go 复制代码
go install github.com/yourusername/review-go@latest

2. 配置 API (支持 DeepSeek/OpenAI/通义)

推荐使用 DeepSeek V3(代码能力强且极其便宜):

arduino 复制代码
review-go config set-key sk-xxxxxxxx --provider deepseek

3. 开始审查

在你的 Go 项目中修改几个文件,然后 git add,接着运行:

go 复制代码
review-go

接下来,就在终端里享受 AI 帮你找 Bug 的快感吧。

🤝 开源地址

这是一个刚刚起步的开源项目,非常需要大家的使用反馈和 Star ⭐️ 支持!

GitHub 地址:github.com/yourusernam...

如果你也是一名追求代码质量的 Gopher,欢迎在 Issue 区留下你的建议,或者直接提 PR,我们一起把它打造成 Go 生态最好用的 Review 工具!

相关推荐
辜月十1 小时前
Docker-Compose 【Mysql】
后端
悟空码字1 小时前
SpringBoot实现系统监控:给应用装上“健康手环”
java·后端·监控
楼田莉子1 小时前
Linux学习:基础IO相关学习
linux·开发语言·c++·后端·学习
golang学习记1 小时前
Go 中获取两个切片交集的 6 种方法
后端
Cache技术分享1 小时前
261. Java 集合 - Java 开发必备:ArrayList 与 LinkedList 的选择攻略
前端·后端
golang学习记1 小时前
换掉 Maven?全新一代 Java 项目构建工具来了 —— **Maven-mvnd**,性能炸裂!
后端
汤姆yu1 小时前
基于springboot的智能化人员物资调度系统
数据库·spring boot·后端
用户377833043491 小时前
( 教学 )Agent 构建 Prompt(提示词)4. JsonOutputParser
人工智能·后端
一 乐1 小时前
宠物店管理|基于Java+vue的宠物猫店管理管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端