Files
codex-agent-manager/agent.md
2026-05-26 11:38:00 +08:00

244 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 无效、备份失败、目标文件已在校验后变化,必须阻止写回。
## 工作流显示规则
- 工作流必须建模为动态事件流或有向图,不允许写死固定流程。
- 项目内工作流必须先按“工作流批次”分组,再按阶段分组;同一项目的 `v1.0 初始搭建``v1.1 优化修复``v2.0 重构升级` 必须清楚区分。
- `thread_spawn_edges` 是派发关系的主要结构化来源。
- `threads` 表用于补充智能体昵称、角色、项目路径和更新时间。
- `thread_goals` 用于补充目标状态。
- 项目内计划文件用于识别阶段、审查循环和门禁证据。
- 没有计划文件时,只显示通用事件和推断,不强行命名阶段。
- 所有推断必须标注来源和置信度。
### 子智能体派发元数据
主智能体派发任何子智能体任务时,必须在任务标题、目标或首段说明中保留以下元数据,方便本项目页面从 Codex 运行记录中准确归类:
```text
[项目: /Users/yoilun/Code/codex-agent-manager]
[工作流批次: v1.1 优化修复]
[阶段: 优化阶段 1]
[角色: 代码审查员]
```
本项目当前已完成初始搭建后进入 `v1.1 优化修复`,当前优化改造归入 `优化阶段 1`。后续如果开启 `codex-agent-manager v2.0`,必须显式写成类似:
```text
[项目: /Users/yoilun/Code/codex-agent-manager]
[工作流批次: v2.0 重构升级]
[阶段: 阶段 1 产品规划]
[角色: 产品经理]
```
如果继续派发下一级子智能体,必须把同一组元数据继续传递给下一级任务。`项目` 必须写完整项目路径,不要只写项目名;不要只写“继续优化”或“修一下页面”,否则页面只能低置信度推断批次和阶段。
## 状态规则
运行状态至少包含:
- `运行中`
- `最近活跃`
- `空闲`
- `未知`
- `冲突`
每个状态必须包含:
- 中文说明。
- 数据来源。
- 置信度:高、中、低。
- 最近更新时间。
- 若为冲突,必须显示冲突原因。
## 代码规则
- 遵循项目既有结构;没有既有结构时,按设计规格中的模块划分创建。
- Go 后端应保持路径安全,所有访问都必须经过 Codex home 边界检查。
- SQLite 必须只读打开。
- TOML 解析失败不能导致服务崩溃。
- 文件写回必须可测试、可恢复、可解释。
- 不做无关重构。
- 不引入大型依赖来解决小问题。
- 不把 mock 数据混入真实数据路径;演示数据必须清楚标记。
## 文档规则
涉及下列内容时必须更新文档:
- 数据源变化。
- API 变化。
- 写回或备份策略变化。
- 运行命令变化。
- UI 导航或核心工作流变化。
- 安全边界变化。
`docs/project.md` 必须记录:
- 项目目标。
- 架构。
- 配置。
- 运行方式。
- 数据来源。
- 写回和恢复流程。
- 已知风险。
## 验证矩阵
实施后根据实际技术栈替换为具体命令。
- 后端变更:
- 运行后端单元测试。
- 覆盖 TOML 解析、路径限制、SQLite 只读、备份和写回失败场景。
- 前端变更:
- 运行构建或类型检查。
- 用浏览器检查项目视图、工作流视图、智能体视图、草稿页和设置页。
- 工作流模型变更:
- 验证有计划文件和无计划文件两种项目。
- 验证动态派生关系不会被固定模板误判。
- 写回变更:
- 验证备份成功后才能写回。
- 验证失败时原文件不变。
- 文档变更:
- 检查文档与实际命令、路径和安全边界一致。
## 完成定义
非简单任务只有满足以下条件才能结束:
1. 用户请求已完整覆盖。
2. 计划文件已更新。
3. 关键测试、构建或浏览器验证已执行。
4. 每阶段审查结果已记录。
5. 安全边界没有被放宽,或已获得用户明确批准。
6. 残余风险、未运行检查和假设已明确说明。