codefox-lab/CodeFox-CLI
GitHub: codefox-lab/CodeFox-CLI
一款面向终端和 CI 工作流的 Diff 感知 AI 代码审查工具,支持本地 Ollama 和云端 LLM,可对代码变更进行安全、性能、风格等维度的智能分析。
Stars: 39 | Forks: 8
CodeFox-CLI
面向终端和 CI 工作流的 Diff 感知 AI 代码审查工具
📚 文档 •
🚀 快速开始 •
🐛 报告问题 •
📝 演示 PR
## 🦊 概述
**CodeFox-CLI** 是一款 CLI 优先的 AI 代码审查工具,专为 **git diff、pull request 和 CI 工作流** 设计。
它能分析代码变更,检索相关的项目上下文,并直接在终端或自动化审查流水线中生成审查反馈。
CodeFox 同时支持:
- **结合 Ollama 进行本地审查**,适用于自托管工作流
- **当偏好远程推理时,使用云 LLM 提供商**,如 Gemini 和 OpenRouter
该工具专为希望在本地检查、pull request 和 CI/CD 流水线中采用 **CLI 优先审查工作流** 的开发者和团队设计。
## 为什么选择 CodeFox?
- 审查 **git 变更**,而不仅仅是孤立文件
- 利用 **相关代码库上下文** 提升审查质量
- 兼容 **本地或云端模型**
- 无缝融入 **基于终端和 CI 的工作流**
- 支持配置审查重点,如 **安全性**、**性能** 和 **风格**
| 与 Linter 相比 | 与托管式 AI 审查工具相比 |
|---|---|
| 结合代码库上下文审查 diff,而非仅依赖静态规则 | 可使用 Ollama 在本地运行 |
| 不仅能标记问题,还能建议修复方案 | 无严格供应商锁定 |
| 灵活的审查重点:安全、性能、风格 | CLI 优先的工作流,适用于本地和 CI 场景 |
## CodeFox 是什么与不是什么
CodeFox 是一个 **用于对 git 变更进行自动化 AI 审查的 CLI 工具**。
它 **不是** 像 Cursor 或 Claude Code 那样的 IDE 编程助手。
它是为 **diff 审查工作流**、终端使用和 CI/CD 自动化而构建的。
## 集成
当前支持:
- GitHub Actions
- GitLab
计划中:
- Bitbucket
## 隐私
- 使用 **Ollama** 时,审查完全可以在您的机器上本地运行
- 使用 **云提供商** 时,根据您的配置,代码和上下文可能会发送到外部 API
- 使用 `.codefoxignore` 排除无需分析的文件
## 📥 安装
### 面向用户
**uv**
```
uv tool install codefox
```
**pip**
```
python3 -m pip install codefox
```
## 验证安装
```
codefox version
```
## 🚀 快速开始
1. 初始化 CodeFox
```
codefox init
```
这会将您的提供商 token 本地存储,并创建初始配置文件。
2. 审查您当前的 git 变更
```
codefox scan
```
`scan` 期间发生了什么:
- 收集当前的 git diff
- 根据您的配置加载相关的项目上下文
- 将审查请求发送到配置的模型
- 返回审查评论和可选的修复建议
3. 显示版本
```
codefox version
```
## ⚙️ 配置
**忽略文件:** `./.codefoxignore`
指定不应上传到 File Store 的路径。
**模型设置:** `./.codefox.yml`
用于对分析行为和模型参数(例如模型选择、temperature、审查规则、基线和提示词)进行精细配置。
有关详细的配置选项和示例,请参阅 [**WIKI**](https://github.com/codefox-lab/CodeFox-CLI/wiki)。
上方演示中使用的示例配置(Ollama + qwen3-coder):
```
provider: ollama
model:
name: qwen3.5:9b
temperature: 0.5
max_tokens: 4000
review:
severity: high
max_issues: null
suggest_fixes: true
diff_only: false
baseline:
enable: true
ruler:
security: true
performance: true
style: true
prompt:
system: null
extra: null
```
**Token 配置:** `./codefoxenv`
存储模型的 API token。CLI 使用此文件进行身份验证,不应将其提交到版本控制。
## 📚 文档
**完整配置参考和示例:** [**WIKI**](https://github.com/codefox-lab/CodeFox-CLI/wiki) - 提供商设置、模型选项、审查规则、提示词等。
## 🧩 命令
| 命令 | 描述 |
| --------- | ---------------------------------------------------------------------------------------------------- |
| `init` | 在本地保存 API key,并在当前目录下创建 `.codefoxignore` 和 `.codefox.yml` 文件。 |
| `list` | 根据 `.codefox.yml` 显示当前提供商(Gemini、Ollama 或 OpenRouter)和 embeddings(fastembed)可用的完整模型列表。 |
| `scan` | 从 `git diff` 收集变更,将文件上传到 File Store,并向配置的模型发送请求。 |
| `version` | 显示当前的 CodeFox CLI 版本。 |
| `clean` | 清除 CodeFox 使用的本地缓存 |
| `--help` | 显示可用的标志和使用信息。 |
## 🧪 示例
### 列出可用模型(针对 `.codefox.yml` 中的提供商)
```
codefox list
```
### 在项目中运行扫描
```
codefox scan
```
## 🛠 开发
安装开发依赖(包括 pytest, mypy, ruff, types-PyYAML):
**pip:**
```
pip install -e ".[dev]"
# 或:pip install -r requirements.txt -r requirements-dev.txt
```
**uv:**
```
uv pip install -e ".[dev]"
```
运行测试:
```
pytest tests -v
```
Lint 和格式化:
```
ruff check codefox tests
ruff format codefox tests
```
静态类型检查:
```
mypy codefox
```
## 🤝 贡献
欢迎提交 Bug 报告、Pull Request 和文档改进。
标签:AI风险缓解, DLL 劫持, Gemini, Git Diff, LLM评估, LNA, Ollama, Pull Request, Python, SOC Prime, 云安全监控, 人工智能, 代码助手, 代码审查, 大语言模型, 开发工具, 开源, 无后门, 服务枚举, 本地模型, 用户模式Hook绕过, 终端工具, 网络安全研究, 自动化审查, 逆向工具, 静态分析