# aiProject **Repository Path**: twtsoft/aiProject ## Basic Information - **Project Name**: aiProject - **Description**: ai项目管理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-16 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # aiProject · Auditor Desktop 新增 Rust/Tauri 桌面应用:在 Auditor 中统一登录员工、管理多个项目与采集设备、维护 Risk Skill、处理风险与审批,并通过本机官方 Codex app-server 聊天推进治理。员工端使用独立 Agent 登录与配置窗口,其隐藏执行器只负责授权采集、加密队列、心跳与上传,不领取审计任务或调用 Codex 模型;不需要通过 Auditor 绑定本机采集。原生 MCP 模块保留供 Auditor 治理使用。服务端继续使用合并的 API + Worker。 ```powershell .\scripts\prepare-local.ps1 -Install .\scripts\provision-desktop-login.ps1 -Login admin .\scripts\build-auditor.ps1 .\scripts\start-auditor.ps1 -WithServer ``` 员工单独执行 `scripts/build-agent.ps1` 和 `scripts/start-agent.ps1`,在自己的窗口登录、配置多项目与工具。员工在“我的任务”查看带截止时间的任务,也可以给项目成员(包括自己)创建任务;随后可一键复制完整说明给 Codex,记录结果与验证情况并提交验收。见 [独立 Agent 说明](docs/agent.md)。 详细启动、员工登录、多项目路径/工具、开机启动、Codex 与 Risk Skill 使用见 [Auditor Desktop 说明](docs/auditor-desktop.md)。设计见 [桌面设计](docs/superpowers/specs/2026-09-17-auditor-desktop-design.md),开发任务见 [实施计划](docs/superpowers/plans/2026-09-17-auditor-rust-implementation.md)。下方原 Node 客户端仍作为开发/兼容工具保留,新桌面部署不需要同时运行这些旧客户端。 ## 原 Headless 服务端与兼容工具 为小团队汇总 AI 编程任务、保留经脱敏的 Prompt 与回答结论,并用本机 Codex 对固定 Git 提交进行证据审查。Headless 服务端在一个进程内运行 HTTP Core API 和后台 Worker;原 Node Collector/Auditor、15 个 MCP 工具和管理 CLI 保留兼容使用。 ```mermaid flowchart LR A[Codex / Claude Code\n桌面与 CLI Hook] --> C[本机 Collector\n策略缓存与持久队列] C --> H[一个 Node 服务端\nHTTP API + Worker] M[MCP / 管理 CLI] --> H H <--> P[(PostgreSQL)] U[本机 Auditor\n固定 SHA・隔离 Codex] <-->|领取・续租・回传| H H --> F[Finding → 人工确认 → 整改任务 → 复核] ``` 实现范围、实测结果和待验证项见 [验收记录](docs/implementation-status.md)。原始设计和规划保留在 `docs/`;本轮按用户要求集中实现,最后做集成测试,未采用 TDD。 ## 当前工作区直接运行 已经创建独立 `aiproject` / `aiproject_test` 数据库、受限运行与迁移角色,以及 aiProject 试点项目。连接信息、人工管理员配置和三个独立客户端配置保存在被 Git 忽略的 `.local/`,程序不会输出密码。尚未安装实际客户端 Hook 或系统启动项。 Windows 当前 `node` 可能被 Volta 指向旧版本。启动脚本会优先选择符合版本要求的 Node;当前机器也可使用 Codex 随附的 Node 24。 ```powershell # 编译 .\scripts\start-local.ps1 -Component build # 一个进程启动 API + Worker 两个内部模块 .\scripts\start-local.ps1 -Component server # 另一个终端:查看试点和服务状态 .\scripts\start-local.ps1 -Component cli project list .\scripts\start-local.ps1 -Component cli doctor # 开发机采集:先同步策略,再按 collector.md 安装所需客户端 Hook .\scripts\start-local.ps1 -Component collector --once .\scripts\start-local.ps1 -Component collector ``` API 默认 `http://127.0.0.1:4310`;`/health`、`/ready` 和 `/api/v1/openapi.json` 可直接访问。业务接口需要 Bearer token。试点项目/仓库 ID 在 `.local/pilot.json`。 **Auditor 运行前提:** 当前 Windows Codex 0.150.1 的 unelevated 沙箱无法限制读取目录;程序预检会返回 `SANDBOX_UNAVAILABLE`,不会用宽松权限继续审查。需先配置支持的受限沙箱,再启动 `-Component auditor --once`。详见 [Auditor 说明](docs/auditor.md)。自动化集成测试中的模型使用明确标记的进程夹具,尚未完成真实模型审查验收。 如果所有运行组件都放在当前 Windows 电脑上,使用 [Windows 本机运行说明](docs/windows-local.md) 中的四个脚本: ```powershell .\scripts\prepare-local.ps1 -Install .\scripts\start-local-all.ps1 .\scripts\status-local.ps1 .\scripts\stop-local.ps1 ``` 这组脚本启动一个 `server` 进程(内部包含 API 和 Worker 两个模块),再启动 Collector、Auditor;CLI 和 MCP 按需启动,PostgreSQL 仍使用 `.local/db.json` 中配置的数据库服务器。项目不提供 API/Worker 分离启动入口。 ## 新环境初始化 要求 Node.js 24(最低 22.12)、Git、PostgreSQL 18。Linux 服务器无需 Codex 登录;只有本机 Auditor 需要 Codex CLI 与其独立配置边界。 ```bash npm ci npm run build # 使用迁移身份配置 MIGRATION_DATABASE_URL;运行身份配置 DATABASE_URL。 # 生产环境默认验证数据库 TLS;私有 CA 设置 DATABASE_CA_FILE。 npm run migrate npm run bootstrap -- --name "Team administrator" npm run init:local # 一个进程运行 API + Worker npm run server ``` 首次创建空数据库可使用 `scripts/provision_db.py`(依赖 psycopg2,管理员密码交互输入)。它拒绝覆盖已存在的数据库/角色;迁移与初始化可重复执行。`init:local` 专用于本仓库试点,其他团队项目通过 CLI 注册;成员名称、角色和本地仓库映射按实际成员配置。 人工审批配置与 Agent 配置分开。重要操作先返回提案;Agent/Collector/Auditor 凭据不能审批。人通过 CLI 查看具体提案并确认 ID 后执行。MCP 不暴露审批工具。 ## 集成验证 ```bash npm run build npm test # 必须配置专用 aiproject_test:TEST_DATABASE_URL 和 TEST_MIGRATION_DATABASE_URL npm run test:integration ``` 测试会验证数据库名严格等于 `aiproject_test`,并清空该库的应用测试表;不清理业务库。当前工作区也可读取 `.local/db.json` 中的专用测试连接。数据库 TLS 模式由 `DATABASE_SSL_MODE` 配置。 测试覆盖真实 PostgreSQL、HTTP、MCP stdio、CLI、磁盘队列、临时 Git 仓库、模型进程夹具、租约失效、重要操作审批和复核关闭。另有 30 个合成规则用例;其指标不代表真实模型准确率。 ## 文档与代码 | 内容 | 入口 | |---|---| | Core API / 数据域 / 迁移 | `apps/api`、`packages/domain`、`migrations` | | 接口与权限 | [API 契约](docs/api-contract.md)、运行时 OpenAPI | | 四端采集、安装与缺口 | [Collector](docs/collector.md) | | MCP / CLI / 人工确认 | [客户端](docs/clients.md) | | 本机模型隔离与故障 | [Auditor](docs/auditor.md) | | Linux 容器、HTTPS、启动、备份恢复 | [部署](docs/deployment.md)、`deploy/` | | 实测证据与限制 | [验收记录](docs/implementation-status.md) | 默认文字 Prompt 保留 30 天、脱敏证据 90 天,可按项目/仓库动态调整。清理覆盖原始事件、派生交互、冻结分析输入、证据副本与相关缓存;到期事件仅保留元数据,重放不能恢复正文。附件只保留占位符,回答只保留提取出的结论,缺失/截断状态始终可见。