Files
codex-agent-manager/task_plan.md
2026-05-25 22:03:21 +08:00

46 lines
4.8 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.

# Task Plan
## Goal
构建 Codex 智能体管理台Go 后端 + Vue 3 前端支持中文界面、agent 配置管理、项目运行状态、动态工作流交接和安全写回。
## Stop Conditions
- [x] 所有阶段完成
- [x] Go 测试通过
- [x] 前端构建通过
- [x] 浏览器验证关键页面
- [x] docs/project.md 记录目标、架构、配置、运行方式、安全边界和恢复方式
- [x] 无 blocking bug 或未处理高风险问题
## Phases
| Phase | Status | Goal | Acceptance Criteria |
| --- | --- | --- | --- |
| 0 | complete | 项目初始化与风险边界 | 计划文件存在;安全边界明确;不读取 auth.json不改 .codex |
| 1 | complete | Go 项目骨架和安全边界 | 后端健康检查可运行Codex home 路径边界有测试;未读取真实 `.codex` 数据 |
| 2 | complete | Agent TOML 只读读取 | 能安全读取 `.codex/agents/*.toml`;坏 TOML 不导致崩溃;提供 `/api/agents` |
| 3 | complete | 项目配置、运行线程和工作流模型 | 能读取 projects、threads、spawn edges、goals状态含来源/置信度;工作流不写死固定流程 |
| 4 | complete | 中文 UI 只读工作台 | 项目/工作流/智能体视图可浏览;空数据可用 |
| 5 | complete | API 集成和只读数据显示 | 前端连接只读 API显示真实 agent 数据和错误状态 |
| 6 | complete | 草稿、TOML 校验、diff、备份、写回 | 草稿不覆盖原文件;无效 TOML 阻止写回;备份成功后才能写回 |
| 7 | complete | 集成验证与文档 | 测试/构建通过Chrome 浏览器验证关键页面;文档完整 |
## Errors Encountered
| Time | Phase | Error | Attempt | Resolution |
| --- | --- | --- | --- | --- |
| 2026-05-25 | 1 | 代码质量审查发现 symlink 边界绕过、敏感文件大小写匹配、缺少操作域 resolver、`CODEX_HOME` 未生效 | TDD 补充失败测试后修复 `codexhome``app` | 已通过最终验证 |
| 2026-05-25 | 1 | 规格复审发现 `ResolveAgentTOML` 可通过 `agents/*.toml` symlink 指向 root `auth.json` 绕过 forbidden 检查 | TDD 补充 symlink-to-auth 测试后检查 resolved final target | 已通过最终验证 |
| 2026-05-25 | 2 | 规格审查发现重复键 TOML 被报告为 valid且 agent symlink 可读取 Codex home 内非 agent TOML | TDD 补充 duplicate key、invalid key、symlink-to-config 测试后修复 parser 和 agent store 边界 | 已通过最终验证 |
| 2026-05-25 | 2 | 复审发现 `agents -> .` 目录 symlink 可把 root `config.toml` 当作 agent 读取 | TDD 补充 symlinked agents directory 测试后在 `Store.List` 拒绝 symlinked `agents` 目录 | 已通过最终验证 |
| 2026-05-25 | 4 | 规格审查发现 UI 直接展示 `local_sample``low` 等内部英文值 | 将状态徽标、示例数据和硬编码来源/置信度改为中文展示 | 已通过最终验证 |
| 2026-05-25 | 5 | 规格复审发现 UI 残留英文 `agent``Codex home` | 改为“智能体”和“Codex 主目录”,并补中文文案测试 | 已通过最终验证 |
| 2026-05-25 | 5 | 规格审查发现 valid agent 未明确显示 TOML 状态,且 UI 仍有 `handoffEdges``主 agent``developer_instructions` 可见文案 | TDD 补 valid agent 状态和 workflow 空交接文案测试后修复 normalizer 与 WorkflowView 文案 | 已通过最终验证 |
| 2026-05-25 | 5 | 代码质量审查发现未知后端枚举值会直接暴露到 UI | TDD 补 unknown source/confidence/status/trust 测试后将未知 label 统一降级为中文兜底 | 已通过最终验证 |
| 2026-05-25 | 5 | 质量复审发现未知 workflow phase status 会导致真实阶段被过滤消失 | TDD 补 `in_progress` phase 测试后只过滤表头/伪行,未知状态显示“未知” | 已通过最终验证 |
| 2026-05-25 | 6 | 规格审查发现 malformed TOML 会通过 `strconv.Unquote` 泄漏英文 `invalid syntax` | TDD 补 List/Validate/Write 中文错误断言后包装字符串解析错误 | 已通过最终验证 |
| 2026-05-25 | 6 | 安全审查发现写回 TOCTOU、备份后 CAS 缺失、POST body 无限制、错误响应泄漏路径/英文 | TDD 补目录替换、备份后修改、请求体限制和错误脱敏测试后加身份复核/CAS/MaxBytesReader/中文错误映射 | 已通过最终验证 |
| 2026-05-25 | 6 | 安全复审发现复核后到 createBackup/rename 前仍通过路径重新解析父目录 | TDD 补复核后替换 `agents` 为 symlink 测试后,将备份、临时文件和 rename 绑定到已打开的 agents dirfd | 已通过最终验证 |
| 2026-05-25 | 7 | 设置页仍显示“本阶段不会写回 / 不保存智能体 TOML”与单文件确认写回能力冲突 | TDD 补设置页安全文案测试后改为“仅校验后单文件写回”,并声明不自动保存或批量写回 | 已通过前端测试和 Chrome 页面验证 |