fengyunzaidushi/batch-code-analyzer
GitHub: fengyunzaidushi/batch-code-analyzer
一款跨平台本地桌面工具,基于兼容 OpenAI Responses API 的模型对本地代码仓库进行批量逐文件 AI 分析并安全保存结果与运行历史。
Stars: 0 | Forks: 0
# Batch Code Analyzer
简体中文 · [English](README.en.md)
本仓库用于开发跨 Windows、macOS、Linux 的本地批量代码文件 AI 分析工具。
Batch Code Analyzer 是一个本地优先(local-first)的桌面开发者工具:登记本地代码仓库,安全筛选真实项目文件,按文件调用兼容 OpenAI Responses API 的模型,并保存可追溯的 Markdown 分析结果、运行统计和请求历史。工具不会修改用户源代码。
## 产品能力
用户可以登记多个本地代码仓库,按 `.gitignore`、文件类型、大小和安全规则筛选项目文件;为项目或单文件设置提示词与模型;批量调用兼容 OpenAI Responses API 的服务;查看 Markdown 结果、Token、耗时、错误、重试与主备切换历史;并将每次运行的结果安全地写入独立输出目录。
## 技术栈
- 桌面外壳:Tauri 2
- 前端:React、Vite、TypeScript、TanStack Query/Table/Virtual、Zustand
- 核心后端:Rust、Tokio、reqwest
- 数据库:SQLite + sqlx
- 安全存储:系统 Keychain/Credential Manager/Secret Service,必要时 Stronghold 降级
- 发布:GitHub Actions、Tauri Updater
## 下载和发布安装包
推送版本标签后,GitHub Actions 会自动构建并上传三平台安装包到一个正式 Release:
- Windows:`.msi`、`.exe`(NSIS)
- macOS:Intel 和 Apple Silicon `.dmg`
- Linux:`.AppImage`、`.deb`
git tag v0.1.0
git push origin v0.1.0
发布工作流当前未配置代码签名。macOS 首次打开可能需要在“隐私与安全性”中允许,Windows 可能显示 SmartScreen 提示。开发者也可以运行 `pnpm tauri:build` 在本机生成安装包。
## 文档导航
| 文档 | 用途 |
| -------------------------------------- | ---------------------------------------- |
| `AGENTS.md` | 所有 AI Agent 和开发者必须遵守的仓库规则 |
| `docs/prd.md` | 产品需求、范围、默认决策和验收标准 |
| `docs/architecture.md` | 总体架构、模块划分、数据设计、发布方案 |
| `docs/contracts/ipc-contract.md` | Tauri Command、Event 和 DTO 约定 |
| `docs/contracts/database-schema.md` | SQLite 表、索引、事务和迁移约定 |
| `docs/contracts/task-state-machine.md` | Run、Task、Attempt 状态与合法转换 |
| `docs/contracts/error-codes.md` | 稳定错误结构、分类与错误码命名 |
| `docs/decisions/` | 已批准的架构决策记录 |
| `tasks/` | 可直接交给 Agent 的任务书与模板 |
## 推荐启动方式
不要把整个产品一次性交给一个 Agent 实现。按以下顺序推进:
1. 总控 Agent 阅读完整 PRD 与架构;
2. 完成 `tasks/milestone-00/`,建立工程骨架和公共契约;
3. 骨架、Migration、DTO、错误码和 CI 稳定后,再创建 4~6 个 worktree;
4. 按 `tasks/milestone-01/` 并行开发领域、数据库、扫描、Provider 和前端壳;
5. 集成 Agent 逐个审查、合并并运行全量测试。
## Worktree 示例
git switch -c develop
git worktree add ../bca-domain \
-b feat/m1-domain-db develop
git worktree add ../bca-scanner \
-b feat/m1-scanner-security develop
git worktree add ../bca-provider \
-b feat/m1-model-provider develop
git worktree add ../bca-frontend \
-b feat/m1-frontend-shell develop
git worktree list
首轮不要同时启动 20~30 个编码 Agent。公共契约未稳定前,过度并行会导致数据库、IPC、状态机和依赖发生大量冲突。
## 当前仓库状态
仓库已完成基础工程初始化,包含 pnpm monorepo、Cargo workspace、`apps/desktop`(Tauri 2 + React + Vite)以及 `crates/*` 基础模块。
## 本地启动(macOS)
### 1. 前置依赖
xcode-select --install
corepack enable
corepack prepare pnpm@11.9.0 --activate
rustup toolchain install stable
### 2. 安装依赖
pnpm install
### 3. 启动方式
启动桌面应用(推荐):
pnpm tauri:dev
仅启动前端开发服务器:
pnpm dev
### 4. 启动前健康检查(可选)
cargo check --workspace
pnpm typecheck
标签:AI代码分析, OpenAI API, React, Rust, SOC Prime, Syscalls, Tauri, 可视化界面, 开发工具, 桌面应用, 网络流量审计, 通知系统