dobrotacreator/apex-ray
GitHub: dobrotacreator/apex-ray
Apex Ray 是一款本地 CLI 优先的 AI 代码审查工具,通过读取 Git diff 并结合分析器构建的仓库感知上下文,为代码变更提供自动化审查与报告。
Stars: 7 | Forks: 0
# Apex Ray
[](https://github.com/dobrotacreator/apex-ray/actions/workflows/ci.yml)
[](https://dobrotacreator.github.io/apex-ray/)
[](https://pypi.org/project/apex-ray/)
[](https://github.com/dobrotacreator/apex-ray/blob/main/pyproject.toml)
[](LICENSE)
针对 git diff 的本地 CLI 优先 AI 代码审查,提供由分析器支撑的上下文。
完整文档:[dobrotacreator.github.io/apex-ray](https://dobrotacreator.github.io/apex-ray/)
Apex Ray 读取 git diff,围绕变更的代码构建紧凑的上下文包,通过本地 CLI provider 运行可选的 LLM 审查,验证审查结果,并生成 Markdown、JSON 和 HTML 报告。它专为希望在本地获取审查智能、无需依赖托管式 PR 审查产品的团队而设计。
## 安装
无需持久安装即可一次性运行:
```
uvx apex-ray --help
uvx apex-ray doctor
```
用户级 CLI 安装:
```
uv tool install apex-ray
apex-ray --version
apex-ray doctor
```
如果你使用 pipx 来管理隔离的 Python CLI 工具,也支持 `pipx install apex-ray`。
## 快速开始
在一个你想要审查的项目中:
```
apex-ray init
apex-ray doctor
git status --short
```
在使用第一个工作树(worktree)审查应用更改之前,请先检查并提交这些设置文件。
如果 Apex Ray 随后警告生成的 agent 指令已过期,只需使用以下命令刷新这些受管理的产物:
```
apex-ray init --refresh-agent-artifacts --dry-run
apex-ray init --refresh-agent-artifacts
```
运行确定性的无 LLM 审查:
```
apex-ray review --worktree --no-llm --output .apex-ray/reports/review.md --json .apex-ray/reports/review.json
```
运行已配置的 LLM 审查:
```
apex-ray review --worktree --llm --output .apex-ray/reports/review.md --json .apex-ray/reports/review.json --html .apex-ray/reports/review.html
```
针对已配置的 base 分支审查当前分支:
```
apex-ray review --base main --llm
```
从部分报告中仅继续未审查的上下文包:
```
apex-ray review --continue-from .apex-ray/reports/review.json --residual-priority p0 --llm
apex-ray review --continue-from .apex-ray/reports/review.json --only-pack '
' --llm
```
运行与 `apex-ray init` 集成到 pre-push 中的相同门禁:
```
apex-ray gate pre-push
```
该门禁会审查 `review.base...HEAD`,生成 `.apex-ray/reports/pre-push.md` 和 `.apex-ray/reports/pre-push.json`,打印对 agent 友好的阻断摘要,并在配置的策略失败时以非零状态退出。
请参阅完整的[快速开始](https://dobrotacreator.github.io/apex-ray/quickstart/)和[审查工作流](https://dobrotacreator.github.io/apex-ray/review-workflow/)文档,了解安装要求、provider 设置、报告解读、续接命令、缓存行为和故障排除。
## 它的功能
- 从变更的文件、符号、调用者、被调用者、契约、元数据和相关测试中构建上下文包。
- 运行语言无关的 diff -> 上下文包 -> 可选 LLM 审查工作流。
- 目前为 TypeScript/JavaScript、Python 和 Go 提供增强的分析器,Rust 计划在下一步推出。
- 支持特定项目的规则和提交到仓库的审查记忆。
- 无需 LLM 调用即可运行,或在配置后使用 Codex CLI / Claude Code CLI 运行。
- 通过配置文件路由低成本和高性能模型。
- 跟踪 LLM 覆盖率、跳过的上下文包、部分严重性、provider 故障、缓存使用情况和续接命令。
- 回放历史 GitHub PR 审查评论以进行本地评估。
- 生成本地遥测数据,以便团队随时间调整成本、延迟和覆盖率。
## 分析器覆盖范围
Apex Ray 的审查流水线是语言无关的。在分析器后端能够构建具备仓库感知的上下文,而不是仅仅依赖 diff hunk 的情况下,它的表现最为出色。
| 状态 | 语言系 | 当前最强覆盖面 |
| --- | --- | --- |
| 提供增强的分析器 | TypeScript, JavaScript | NestJS 控制器/provider/module/guard、DTO/schema 验证器、路由和 DI 元数据、工作空间导入/导出、enum/const 扇出、缓存和权限控制面、相关测试。 |
| 提供增强的分析器 | Python | FastAPI 路由/依赖项、Pydantic model/setting/validator、SQLAlchemy session/transaction、Alembic 迁移、异步 worker/event 流、外部 HTTP/cloud/Redis 适配器、dataclass/TypedDict/Protocol 契约、pytest/unittest 测试和 fixture。 |
| 提供增强的分析器 | Go | 类型感知的 package 加载、仓库相对符号、变更和删除的符号范围、调用者/被调用者、interface 契约、上下文元数据、仅语法回退机制以及相关测试。 |
| 计划提供增强的分析器 | Rust | 仓库感知的符号、调用者/被调用者、契约、服务边界、持久化/I/O 控制面以及相关测试。 |
| 通用回退机制 | 其他可审查的 diff | Diff-hunk 上下文、风险信号、项目规则、记忆、报告以及无仓库感知符号图的可选 LLM 审查。 |
## 它不做什么
Apex Ray 不能替代 CI、测试、linter、类型检查、依赖扫描器、SAST 或人工审查。它专注于 diff 感知的行为审查,并明确标示出部分覆盖的情况。
## 文档
- [快速开始](https://dobrotacreator.github.io/apex-ray/quickstart/)
- [审查工作流](https://dobrotacreator.github.io/apex-ray/review-workflow/)
- [配置](https://dobrotacreator.github.io/apex-ray/configuration/)
- [LLM Provider](https://dobrotacreator.github.io/apex-ray/providers/)
- [规则与记忆](https://dobrotacreator.github.io/apex-ray/memory/)
- [遥测](https://dobrotacreator.github.io/apex-ray/telemetry/)
- [历史 PR 回放评估](https://dobrotacreator.github.io/apex-ray/pr-eval/)
- [架构](https://dobrotacreator.github.io/apex-ray/architecture/)
- [开发](https://dobrotacreator.github.io/apex-ray/development/)
## 开发
如需从源码进行本地开发:
```
git clone git@github.com:dobrotacreator/apex-ray.git
cd apex-ray
uv sync --all-groups
npm --prefix analyzer-runtimes/typescript ci
npm --prefix analyzer-runtimes/typescript run build
```
实用的检查命令:
```
uv run coverage run -m pytest -q
uv run coverage report -m
npm --prefix analyzer-runtimes/typescript run typecheck
npm --prefix analyzer-runtimes/typescript test
npm --prefix analyzer-runtimes/typescript run coverage
git diff --check
```
请参阅 [docs/development.md](docs/development.md) 和 [CONTRIBUTING.md](CONTRIBUTING.md)。
维护者:发布自动化记录在 [docs/development.md](docs/development.md#release-hygiene) 中。
## License
Apache-2.0。请参阅 [LICENSE](LICENSE)。标签:Blue Team, Git, Python, SOC Prime, 人工智能, 代码审查, 开发工具, 无后门, 日志审计, 用户模式Hook绕过, 逆向工具