【免费下载链接】gentleman-guardian-angel
😇 Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.
GGA(gentleman-guardian-angel)是一个用 AI 强制落地编码规范的 Git pre-commit 代码审查工具,它原生支持Ollama和LM Studio两种本地模型运行环境——无需申请任何 API Key,代码全程不离开你的电脑,实现真正的零成本、全隐私 AI 代码审查。
本文带你完成「安装 GGA → 拉取本地模型 → 一行配置接入 → 提交即审查」的完整流程。
为什么选择本地 AI 做代码审查?
云端 AI 审查好用,但绕不开三个问题:API 费用、密钥管理、代码外发风险。而本地方案一次性解决:
| 维度 | 云端 AI 审查 | GGA + 本地模型 |
|---|---|---|
| API Key | 需要申请、配置、轮换 | 完全不需要 |
| 代码隐私 | 代码内容上传到第三方 | 只在本机localhost通信 |
| 长期成本 | 按 token 计费 | 一次拉模型,无限审查 |
| 网络依赖 | 依赖外网 | 内网/离线也可运行 |
GGA 的工作流程非常简单:每次git commit时,pre-commit hook 自动把已暂存文件和你的编码规范(AGENTS.md)打包发给 AI 审查,返回STATUS: PASSED就放行提交,返回STATUS: FAILED则阻断并列出违规细节。
📖 完整流程图与真实输出示例见 docs/examples.md
一键安装 GGA
GGA 核心是纯 Bash 实现,跨平台支持 macOS、Linux 和 Windows(Git Bash/WSL)。
# 方式一:Homebrew(macOS 推荐) brew install gentleman-programming/tap/gga # 方式二:手动安装 git clone https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel cd gentleman-guardian-angel ./install.sh安装完成后,在你的项目根目录初始化:
cd ~/your-project gga init # 生成 .gga 配置文件 gga install # 安装 pre-commit hook方式一:Ollama 本地代码审查
拉取一个擅长代码的模型
Ollama 是本地运行大模型最省心的方案,一条命令即可下载模型:
ollama pull qwen2.5-coder # 代码能力强的开源模型 # 可选:ollama pull llama3.2 / codellama / deepseek-coder配置 PROVIDER 接入 GGA
编辑项目根目录的.gga文件(格式说明见 docs/providers.md):
# .gga PROVIDER="ollama:qwen2.5-coder" # 格式:ollama:<模型名>⚠️ 注意 Ollama 必须指定模型名(ollama:xxx),否则会报错提示缺少模型。
进阶:指向远程 Ollama 节点
Ollama 服务不跑在本机时(比如办公室有一台 GPU 工作站),用OLLAMA_HOST指定地址:
OLLAMA_HOST="http://192.168.1.100:11434" PROVIDER="ollama:llama3.2"Ollama 的一个小限制
Ollama 是「纯 LLM」,没有文件读取工具,无法按引用去读多个文件。如果你的规则写在多个文件里,请合并成单个AGENTS.md再交给 Ollama 审查(详见 docs/rules-file.md)。
背后发生了什么?
GGA 调用 Ollama 时会优先走 REST API(/api/generate,输出干净、支持远程节点),在没有python3/curl的环境则自动降级为ollama runCLI 并剥离 ANSI 转义码,保证STATUS行能被正确解析——实现逻辑见 lib/providers.sh,集成测试覆盖见 spec/integration/ollama_spec.sh。
方式二:LM Studio 本地代码审查
LM Studio 提供图形界面下载模型,并通过内置的 OpenAI 兼容 API 服务。配置分四步:
- 打开 LM Studio,下载一个模型(如
llama-3.2-3b-instruct) - 在Local Server页签启动本地服务器(默认端口
1234) - 测试连接:
curl http://localhost:1234/v1/models- 配置
.gga:
# .gga PROVIDER="lmstudio" # 使用当前已加载的模型 # 或指定具体模型: PROVIDER="lmstudio:llama-3.2-3b-instruct"自定义 LM Studio 地址
如果服务端口不是默认的 1234,用LMSTUDIO_HOST覆盖(需带/v1路径):
LMSTUDIO_HOST="http://localhost:8080/v1" PROVIDER="lmstudio"写好 AGENTS.md,审查才有章法
GGA 审查的依据是规则文件(默认AGENTS.md,可用RULES_FILE改名)。写给本地模型看时,规则要短、具体、可判定:
# Code Review Rules ## Python - 禁止使用 bare except(必须捕获具体异常类型) - 函数必须有类型注解 - 禁止 print 调试代码进入提交其他常用配置项(完整参考 docs/configuration.md):
| 配置项 | 作用 | 本地模型建议 |
|---|---|---|
FILE_PATTERNS | 只审查匹配的文件 | 缩小范围,如*.py |
EXCLUDE_PATTERNS | 排除测试/生成文件 | 省时间,如*_test.py |
STRICT_MODE | AI 回复模糊时直接判失败 | 保持true |
TIMEOUT | 等待 AI 响应超时(秒) | 本地模型较慢时调大,如600 |
本地模型常见问题速查
结合 docs/troubleshooting.md 整理本地场景的高频问题:
Failed to connect to LM Studio→ 确认 LM Studio 正在运行且 Local Server 已启动;核对LMSTUDIO_HOST端口,用curl http://localhost:1234/v1/models验证。Ollama not found→ 确认which ollama能找到命令,模型已用ollama pull拉取。- 审查超时(退出码 124)→ 本地模型推理较慢,把
TIMEOUT调大到600,或用EXCLUDE_PATTERNS排除大文件、生成文件。 STATUS解析失败(Ambiguous response)→ 换指令跟随更强的模型;小模型对固定输出格式的执行不稳定,可适当放宽STRICT_MODE="false"观察输出。
💡 小提示:GGA 内置智能缓存,已 PASSED 且未改动的文件会自动跳过审查(机制说明见 docs/caching.md),本地模型下这个特性能显著减少重复推理时间。
总结
| 步骤 | 命令/操作 |
|---|---|
| 1. 安装 GGA | brew install gentleman-programming/tap/gga |
| 2. 部署本地模型 | ollama pull qwen2.5-coder或 LM Studio 下载模型 |
| 3. 初始化项目 | gga init+gga install |
| 4. 配置 Provider | PROVIDER="ollama:qwen2.5-coder"或PROVIDER="lmstudio" |
| 5. 写规则 | 在AGENTS.md中列出可判定的编码规范 |
| 6. 正常提交 | 每次git commit自动审查,违规即拦截 ✅ |
至此,你已拥有一套零 API Key、零外发、零边际成本的 AI 代码审查流水线。更多 Provider 对比见 docs/providers.md,全部命令参考见 docs/commands.md。
【免费下载链接】gentleman-guardian-angel
😇 Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.
相关推荐
OpenHuman 本地 AI 完整指南:基于 Ollama / LM Studio 的按需本地推理、隐私工作负载路由与排障
OpenHuman 本地 AI 完整指南:基于 Ollama / LM Studio 的按需本地推理、隐私工作负载路由与排障 本地优先是 OpenHuman 的
人工智能AI 应用本地部署AI Agent交互助手深度研究本地私有AI生态深度解析:jevOS、Ollama、llama.cpp与LM Studio完整对比指南
本地私有AI生态深度解析:jevOS、Ollama、llama.cpp与LM Studio完整对比指南 jevOS(项目名 jev)是一个开源的本地私有AI工具
30分钟零代码搭建本地AI助手:Ollama与n8n低代码集成指南
30分钟零代码搭建本地AI助手:Ollama与n8n低代码集成指南 你是否还在为AI服务的数据隐私担忧?是否因复杂的部署流程望而却步?本文将带你使用 Self
人工智能大模型本地部署低代码AI 应用AI Agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考