docs: add codex agent manager design

This commit is contained in:
Yoilun
2026-05-25 15:26:50 +08:00
commit 947e559856
3 changed files with 660 additions and 0 deletions

221
agent.md Normal file
View File

@@ -0,0 +1,221 @@
# Codex 智能体管理台 AI 协作规范
本文件约束后续 AI 在本仓库中的开发、优化、审查和维护行为。所有非简单修改都必须先阅读并遵守本文件。
## 仓库快照
- 项目名称:`codex-agent-manager`
- 项目目的:提供一个本机 localhost 图形工具,用中文管理 Codex 智能体配置、查看项目内智能体运行情况、观察动态工作流进度和智能体交接。
- 后端Go必须支持只读 SQLite、TOML 解析、路径安全、备份与原子写回。
- 前端Vue 3 + Vite界面必须全中文。
- 数据来源:
- `/Users/yoilun/.codex/agents/*.toml`
- `/Users/yoilun/.codex/config.toml`
- `/Users/yoilun/.codex/state_5.sqlite`
- `/Users/yoilun/.codex/goals_1.sqlite`
- 本机 Codex 相关进程
- 项目内 `task_plan.md``findings.md``progress.md``docs/project.md`
- 默认运行环境:用户本机 macOS本机访问不设计云端多用户系统。
## 仓库地图
- `docs/superpowers/specs/`:设计规格文档。
- `task_plan.md`:实施阶段总计划、阶段状态和验收标准,实施开始后必须创建。
- `findings.md`:代码阅读、数据源、约束、风险和关键决策。
- `progress.md`:执行记录、测试结果、审查循环、已修改文件。
- `docs/project.md`:项目目标、架构、配置、运行方式、安全边界和恢复方式。
- `agent.md`:本文件,约束后续 AI 协作。
## 工作流要求
### 1. 非简单任务必须先计划
满足任一条件即为非简单任务:
- 需要 3 个以上步骤。
- 涉及架构、数据模型、跨文件修改或安全边界。
- 改变 UI、API、持久化、写回逻辑或工作流显示逻辑。
- 需要测试、构建、截图或审查链路验证。
非简单任务开始前必须创建或更新 `task_plan.md`,写明范围、风险、阶段和验证方式。
### 2. 必须使用文件化计划
实施阶段必须维护以下文件:
- `task_plan.md`
- `findings.md`
- `progress.md`
- `docs/project.md`
每个阶段开始前读取这些文件;每个阶段结束后更新状态、测试结果、审查结论和风险。
### 3. 每阶段必须代码审查
每个实现阶段必须有:
- coding agent只负责当前阶段实现不处理未来阶段不做无关重构。
- testing/code review agent只测试、审查和报告问题不直接修改代码。
审查失败后,问题报告返回 coding agent 修复。每阶段最多 3 轮修复循环;连续 3 次仍失败,暂停并向用户报告。
### 4. 主智能体负责监管
主智能体必须:
- 拆分阶段。
- 派发子智能体。
- 维护计划文件。
- 判断阶段是否通过。
- 记录交接、审查、修复循环。
- 阶段通过后关闭当前阶段子智能体。
不要让子智能体自行扩大范围或改变阶段目标。
## 产品与 UI 规则
- 界面、按钮、状态、错误提示、文档标题默认使用中文。
- 技术缩写如 PID、TOML、SQLite、API 可以保留英文。
- 视觉方向是“温和的本地工作台 + 编辑器质感”,不要做成工业监控大屏。
- 不要使用大面积黑底荧光绿、密集硬边框、无解释的红绿灯状态或全页面等宽字体。
- 页面必须清楚区分:
- 项目视图:项目里的智能体执行情况。
- 工作流视图:阶段进度、交接、审查循环、主智能体监管。
- 智能体视图:名称、描述、角色设定编辑。
- 草稿TOML 校验、diff、备份、写回。
- 设置Codex 路径和数据源配置。
- 状态必须显示来源和置信度,不允许只给一个无解释的状态点。
## 数据与安全边界
### 允许读取
- `.codex/agents/*.toml`
- `.codex/config.toml`
- `.codex/state_5.sqlite`
- `.codex/goals_1.sqlite`
- 本机进程表中与 Codex 相关的进程信息
- 用户项目内的工作流文件:`task_plan.md``findings.md``progress.md``docs/project.md`
### 禁止读取或展示
- `.codex/auth.json`
- 明显包含 token、密钥、cookie、Webhook 密钥的文件
- 与本工具无关的用户隐私内容
### 允许写入
- 本项目目录内文件。
- 用户确认后的 `.codex/agents/*.toml` 写回。
- 写回前创建的备份文件。
### 禁止写入
- `.codex/config.toml`,除非用户另行明确批准并有单独审查。
- `.codex/*.sqlite` 及其 WAL/SHM 文件。
- `.codex/auth.json`
- 不在允许范围内的任意 Codex 配置或状态文件。
## 写回规则
写回 `.codex/agents/*.toml` 必须遵守以下顺序:
1. 生成草稿。
2. 校验 TOML。
3. 展示 diff。
4. 创建时间戳备份。
5. 用户确认。
6. 原子写回。
7. 显示结果和备份路径。
如果 TOML 无效、备份失败、目标文件已在校验后变化,必须阻止写回。
## 工作流显示规则
- 工作流必须建模为动态事件流或有向图,不允许写死固定流程。
- `thread_spawn_edges` 是派发关系的主要结构化来源。
- `threads` 表用于补充智能体昵称、角色、项目路径和更新时间。
- `thread_goals` 用于补充目标状态。
- 项目内计划文件用于识别阶段、审查循环和门禁证据。
- 没有计划文件时,只显示通用事件和推断,不强行命名阶段。
- 所有推断必须标注来源和置信度。
## 状态规则
运行状态至少包含:
- `运行中`
- `最近活跃`
- `空闲`
- `未知`
- `冲突`
每个状态必须包含:
- 中文说明。
- 数据来源。
- 置信度:高、中、低。
- 最近更新时间。
- 若为冲突,必须显示冲突原因。
## 代码规则
- 遵循项目既有结构;没有既有结构时,按设计规格中的模块划分创建。
- Go 后端应保持路径安全,所有访问都必须经过 Codex home 边界检查。
- SQLite 必须只读打开。
- TOML 解析失败不能导致服务崩溃。
- 文件写回必须可测试、可恢复、可解释。
- 不做无关重构。
- 不引入大型依赖来解决小问题。
- 不把 mock 数据混入真实数据路径;演示数据必须清楚标记。
## 文档规则
涉及下列内容时必须更新文档:
- 数据源变化。
- API 变化。
- 写回或备份策略变化。
- 运行命令变化。
- UI 导航或核心工作流变化。
- 安全边界变化。
`docs/project.md` 必须记录:
- 项目目标。
- 架构。
- 配置。
- 运行方式。
- 数据来源。
- 写回和恢复流程。
- 已知风险。
## 验证矩阵
实施后根据实际技术栈替换为具体命令。
- 后端变更:
- 运行后端单元测试。
- 覆盖 TOML 解析、路径限制、SQLite 只读、备份和写回失败场景。
- 前端变更:
- 运行构建或类型检查。
- 用浏览器检查项目视图、工作流视图、智能体视图、草稿页和设置页。
- 工作流模型变更:
- 验证有计划文件和无计划文件两种项目。
- 验证动态派生关系不会被固定模板误判。
- 写回变更:
- 验证备份成功后才能写回。
- 验证失败时原文件不变。
- 文档变更:
- 检查文档与实际命令、路径和安全边界一致。
## 完成定义
非简单任务只有满足以下条件才能结束:
1. 用户请求已完整覆盖。
2. 计划文件已更新。
3. 关键测试、构建或浏览器验证已执行。
4. 每阶段审查结果已记录。
5. 安全边界没有被放宽,或已获得用户明确批准。
6. 残余风险、未运行检查和假设已明确说明。