From 2ba61695d08cb4e337616ea8ce838a4316697bd6 Mon Sep 17 00:00:00 2001 From: "sayurinana(vm)" Date: Thu, 18 Dec 2025 12:50:59 +0800 Subject: [PATCH] =?UTF-8?q?80ebbd4=E7=9A=84=E4=BB=BB=E5=8A=A1=E6=94=B6?= =?UTF-8?q?=E5=B0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .aide/branches.json | 14 +- .aide/branches.md | 10 + .aide/config.toml | 9 +- .aide/diagrams/task-flow.png | Bin 57214 -> 88140 bytes .aide/diagrams/task-flow.puml | 67 ++++--- .../2025-12-18T12-18-01.json | 174 ++++++++++++++++++ .../pending.json | 158 ++++++++++++++++ .aide/logs/2025-12-18T12-14-13-status.json | 139 ++++++++++++++ .aide/pending-items.json | 118 ++++++------ CHANGELOG.md | 32 ++++ aide-marketplace/aide-plugin/commands/run.md | 165 +++++++++++++++-- .../aide-plugin/skills/aide/SKILL.md | 14 +- aide-program/aide/core/config.py | 9 +- task-now.md | 27 --- 14 files changed, 813 insertions(+), 123 deletions(-) create mode 100644 .aide/logs/2025-12-18T12-14-13-decisions/2025-12-18T12-18-01.json create mode 100644 .aide/logs/2025-12-18T12-14-13-decisions/pending.json create mode 100644 .aide/logs/2025-12-18T12-14-13-status.json diff --git a/.aide/branches.json b/.aide/branches.json index fdcd914..d5ad0db 100644 --- a/.aide/branches.json +++ b/.aide/branches.json @@ -1,5 +1,5 @@ { - "next_number": 15, + "next_number": 16, "branches": [ { "number": 1, @@ -162,6 +162,18 @@ "status": "finished", "end_commit": "d2882c9b995ee686fac48e183191848d6071c995", "finished_at": "2025-12-18T11:53:15+08:00" + }, + { + "number": 15, + "branch_name": "aide/015", + "source_branch": "master", + "start_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda", + "task_id": "2025-12-18T12-14-13", + "task_summary": "开始任务准备: 调整 Aide 工作流流程", + "started_at": "2025-12-18T12:14:13+08:00", + "status": "finished", + "end_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda", + "finished_at": "2025-12-18T12:50:59+08:00" } ] } diff --git a/.aide/branches.md b/.aide/branches.md index f62bc37..6cc035b 100644 --- a/.aide/branches.md +++ b/.aide/branches.md @@ -1,5 +1,15 @@ # Git 分支概况 +## aide/015 + +- **任务**: 开始任务准备: 调整 Aide 工作流流程 +- **任务ID**: 2025-12-18T12-14-13 +- **源分支**: master +- **起始提交**: 80ebbd4 +- **结束提交**: 80ebbd4 +- **状态**: finished +- **时间**: 2025-12-18 12:14 ~ 12:50 + ## aide/014 - **任务**: 测试 diff --git a/.aide/config.toml b/.aide/config.toml index 842a067..13cb53d 100644 --- a/.aide/config.toml +++ b/.aide/config.toml @@ -56,6 +56,12 @@ source = "task-now.md" # /aide:exec 命令在未指定参数时读取此文件 spec = "task-spec.md" +# 复杂任务计划文档目录 +# 当任务被拆分为多个子计划时,存放: +# - guide.md: 任务计划总导览 +# - spec-01.md, spec-02.md, ...: 各子计划细则 +plans_path = ".aide/task-plans/" + ################################################################################ # [env] - 环境检测配置 ################################################################################ @@ -168,8 +174,9 @@ block_plan_path = ".aide/project-docs/block-plan.md" # impl - 迭代实现 # verify - 验证交付 # docs - 文档更新 +# confirm - 用户确认(审阅与返工) # finish - 收尾 -phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "finish"] +phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "confirm", "finish"] # 流程图目录路径 # 存放 PlantUML 源文件(.puml)和生成的图片(.png) diff --git a/.aide/diagrams/task-flow.png b/.aide/diagrams/task-flow.png index ffbd0e37fe1ffa141cc92156499cd6a472d02db8..ceef3eb152fc9f18bc65d1c64f54522bf3a42d06 100644 GIT binary patch literal 88140 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�!%fW7>j^ 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 literal 57214 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 执行完整 flow 流程; - endif +partition "4. run.md 修改 - 插入 confirm 阶段" { + :定位"阶段 5:文档更新"之后; + :插入"阶段 6:用户确认 (confirm)"; + note right + - 报告完成信息 + - 等待用户确认 + - 返工机制说明 + end note + :将原"阶段 6:收尾"改为"阶段 7:收尾"; +} + +partition "5. aide skill 更新" { + :读取 aide.md; + :添加 plans_path 配置说明; + :更新环节列表(增加 confirm); +} + +partition "6. 验证" { + :检查所有修改点; + if (验证通过?) then (是) + :完成; else (否) - :修复合并逻辑; - -> 执行完整 flow 流程; + :修复问题; endif } -:更新文档; stop @enduml diff --git a/.aide/logs/2025-12-18T12-14-13-decisions/2025-12-18T12-18-01.json b/.aide/logs/2025-12-18T12-14-13-decisions/2025-12-18T12-18-01.json new file mode 100644 index 0000000..e548475 --- /dev/null +++ b/.aide/logs/2025-12-18T12-14-13-decisions/2025-12-18T12-18-01.json @@ -0,0 +1,174 @@ +{ + "input": { + "task": "调整 Aide 工作流流程", + "source": "task-now.md", + "items": [ + { + "id": 1, + "title": "新阶段命名", + "options": [ + { + "value": "review", + "label": "review", + "score": 90.0, + "pros": [ + "语义清晰,表示审阅", + "简洁常用" + ], + "cons": [ + "与 code review 可能混淆" + ] + }, + { + "value": "confirm", + "label": "confirm", + "score": 85.0, + "pros": [ + "明确表示确认动作", + "与任务流程含义一致" + ], + "cons": [ + "较长" + ] + }, + { + "value": "approve", + "label": "approve", + "score": 75.0, + "pros": [ + "表示批准/通过", + "正式感强" + ], + "cons": [ + "较正式,可能过于严肃" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 3, + "end": 9 + }, + "context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。", + "recommend": "review" + }, + { + "id": 2, + "title": "复杂任务文档存储位置", + "options": [ + { + "value": "aide_dir", + "label": ".aide/task-plans/", + "score": 90.0, + "pros": [ + "与现有 .aide/ 结构一致", + "集中管理", + "自动被 gitignore" + ], + "cons": [ + "路径较深" + ] + }, + { + "value": "root_dir", + "label": "项目根目录", + "score": 60.0, + "pros": [ + "访问方便" + ], + "cons": [ + "污染根目录", + "需要手动 gitignore" + ] + }, + { + "value": "spec_alongside", + "label": "与 task.spec 同目录", + "score": 75.0, + "pros": [ + "与现有细则位置一致" + ], + "cons": [ + "需要额外的命名规范" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 27, + "end": 28 + }, + "context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。", + "recommend": "aide_dir" + }, + { + "id": 3, + "title": "子计划文档命名规范", + "options": [ + { + "value": "numbered", + "label": "数字编号: spec-01.md, spec-02.md", + "score": 85.0, + "pros": [ + "简洁", + "顺序清晰" + ], + "cons": [ + "无语义信息" + ] + }, + { + "value": "named", + "label": "语义命名: spec-login.md, spec-payment.md", + "score": 80.0, + "pros": [ + "语义清晰", + "易于识别" + ], + "cons": [ + "命名需要额外考虑", + "可能重名" + ] + }, + { + "value": "hybrid", + "label": "混合: spec-01-login.md, spec-02-payment.md", + "score": 90.0, + "pros": [ + "兼顾顺序和语义", + "易于排序和识别" + ], + "cons": [ + "命名较长" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 27, + "end": 28 + }, + "context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。", + "recommend": "hybrid" + } + ] + }, + "output": { + "decisions": [ + { + "id": 1, + "chosen": "confirm" + }, + { + "id": 2, + "chosen": "aide_dir", + "note": "需要跟source spec一样在环境配置中设置,使用时通过aide获取配置的路径,默认配置值为.aide/task-plans/" + }, + { + "id": 3, + "chosen": "numbered" + } + ] + }, + "completed_at": "2025-12-18T12:21:10+08:00" +} diff --git a/.aide/logs/2025-12-18T12-14-13-decisions/pending.json b/.aide/logs/2025-12-18T12-14-13-decisions/pending.json new file mode 100644 index 0000000..20f5f53 --- /dev/null +++ b/.aide/logs/2025-12-18T12-14-13-decisions/pending.json @@ -0,0 +1,158 @@ +{ + "task": "调整 Aide 工作流流程", + "source": "task-now.md", + "items": [ + { + "id": 1, + "title": "新阶段命名", + "options": [ + { + "value": "review", + "label": "review", + "score": 90.0, + "pros": [ + "语义清晰,表示审阅", + "简洁常用" + ], + "cons": [ + "与 code review 可能混淆" + ] + }, + { + "value": "confirm", + "label": "confirm", + "score": 85.0, + "pros": [ + "明确表示确认动作", + "与任务流程含义一致" + ], + "cons": [ + "较长" + ] + }, + { + "value": "approve", + "label": "approve", + "score": 75.0, + "pros": [ + "表示批准/通过", + "正式感强" + ], + "cons": [ + "较正式,可能过于严肃" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 3, + "end": 9 + }, + "context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。", + "recommend": "review" + }, + { + "id": 2, + "title": "复杂任务文档存储位置", + "options": [ + { + "value": "aide_dir", + "label": ".aide/task-plans/", + "score": 90.0, + "pros": [ + "与现有 .aide/ 结构一致", + "集中管理", + "自动被 gitignore" + ], + "cons": [ + "路径较深" + ] + }, + { + "value": "root_dir", + "label": "项目根目录", + "score": 60.0, + "pros": [ + "访问方便" + ], + "cons": [ + "污染根目录", + "需要手动 gitignore" + ] + }, + { + "value": "spec_alongside", + "label": "与 task.spec 同目录", + "score": 75.0, + "pros": [ + "与现有细则位置一致" + ], + "cons": [ + "需要额外的命名规范" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 27, + "end": 28 + }, + "context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。", + "recommend": "aide_dir" + }, + { + "id": 3, + "title": "子计划文档命名规范", + "options": [ + { + "value": "numbered", + "label": "数字编号: spec-01.md, spec-02.md", + "score": 85.0, + "pros": [ + "简洁", + "顺序清晰" + ], + "cons": [ + "无语义信息" + ] + }, + { + "value": "named", + "label": "语义命名: spec-login.md, spec-payment.md", + "score": 80.0, + "pros": [ + "语义清晰", + "易于识别" + ], + "cons": [ + "命名需要额外考虑", + "可能重名" + ] + }, + { + "value": "hybrid", + "label": "混合: spec-01-login.md, spec-02-payment.md", + "score": 90.0, + "pros": [ + "兼顾顺序和语义", + "易于排序和识别" + ], + "cons": [ + "命名较长" + ] + } + ], + "location": { + "file": "task-now.md", + "start": 27, + "end": 28 + }, + "context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。", + "recommend": "hybrid" + } + ], + "_meta": { + "created_at": "2025-12-18T12:18:01+08:00", + "session_id": "2025-12-18T12-18-01" + } +} diff --git a/.aide/logs/2025-12-18T12-14-13-status.json b/.aide/logs/2025-12-18T12-14-13-status.json new file mode 100644 index 0000000..8962110 --- /dev/null +++ b/.aide/logs/2025-12-18T12-14-13-status.json @@ -0,0 +1,139 @@ +{ + "task_id": "2025-12-18T12-14-13", + "current_phase": "finish", + "current_step": 16, + "started_at": "2025-12-18T12:14:13+08:00", + "history": [ + { + "timestamp": "2025-12-18T12:14:13+08:00", + "action": "start", + "phase": "task-optimize", + "step": 1, + "summary": "开始任务准备: 调整 Aide 工作流流程", + "git_commit": "3ad14cbd896ab9955dba3bb0bdb0999ffdca83e4" + }, + { + "timestamp": "2025-12-18T12:21:59+08:00", + "action": "next-step", + "phase": "task-optimize", + "step": 2, + "summary": "用户完成待定项确认", + "git_commit": "1d8daf1a267a7e3260e45332b26c2760a5b19919" + }, + { + "timestamp": "2025-12-18T12:30:51+08:00", + "action": "next-step", + "phase": "task-optimize", + "step": 3, + "summary": "任务细则已确认", + "git_commit": "a3624f0994278ad348148431dacc73d97b597762" + }, + { + "timestamp": "2025-12-18T12:31:12+08:00", + "action": "next-part", + "phase": "flow-design", + "step": 4, + "summary": "进入流程设计环节", + "git_commit": "2e8e756908c5fe151bee21c2e8e1c86bbb1425f4" + }, + { + "timestamp": "2025-12-18T12:32:26+08:00", + "action": "next-step", + "phase": "flow-design", + "step": 5, + "summary": "流程图设计完成", + "git_commit": "a1175f0cfb818c852fc32c17e74147c5022062be" + }, + { + "timestamp": "2025-12-18T12:32:55+08:00", + "action": "next-part", + "phase": "impl", + "step": 6, + "summary": "流程设计完成,进入实现环节", + "git_commit": "99710dd8a649188db92f0e18c71ed92b4e73c189" + }, + { + "timestamp": "2025-12-18T12:34:08+08:00", + "action": "next-step", + "phase": "impl", + "step": 7, + "summary": "完成 config.py 修改: 添加 plans_path 和 confirm 阶段", + "git_commit": "7a902cf5485e88228ed6469bdce96fde59cc8288" + }, + { + "timestamp": "2025-12-18T12:36:37+08:00", + "action": "next-step", + "phase": "impl", + "step": 8, + "summary": "完成 run.md 修改: 任务细则、子计划执行、confirm 阶段", + "git_commit": "d7a105bbcc3a9bd5f0eba607b7681efbc9a08b23" + }, + { + "timestamp": "2025-12-18T12:38:13+08:00", + "action": "next-step", + "phase": "impl", + "step": 9, + "summary": "完成 aide skill 文档更新", + "git_commit": "ec3b4e342f058296742a78eed403c3a859fe4e1a" + }, + { + "timestamp": "2025-12-18T12:38:26+08:00", + "action": "next-part", + "phase": "verify", + "step": 10, + "summary": "实现完成,进入验证环节", + "git_commit": "f6657164870f26e6576baa50325322961164eda5" + }, + { + "timestamp": "2025-12-18T12:40:20+08:00", + "action": "next-step", + "phase": "verify", + "step": 11, + "summary": "验证完成: 所有修改点确认正确", + "git_commit": "1955a2701c8244bd17d3c927465d180d89b080da" + }, + { + "timestamp": "2025-12-18T12:40:35+08:00", + "action": "next-part", + "phase": "docs", + "step": 12, + "summary": "验证通过,进入文档环节", + "git_commit": "7eb5a3443d6e121ebe0622938113b5e19c96873e" + }, + { + "timestamp": "2025-12-18T12:42:11+08:00", + "action": "next-step", + "phase": "docs", + "step": 13, + "summary": "文档更新完成: 更新 CHANGELOG.md", + "git_commit": "4494170b932f74e0749e527cfe0e50b287d987d4" + }, + { + "timestamp": "2025-12-18T12:42:22+08:00", + "action": "next-part", + "phase": "confirm", + "step": 14, + "summary": "文档更新完成,进入用户确认环节", + "git_commit": "9f1c0fdfc3f47a1926f437e3b7a7681287d5cbc3" + }, + { + "timestamp": "2025-12-18T12:50:46+08:00", + "action": "next-step", + "phase": "confirm", + "step": 15, + "summary": "用户确认通过", + "git_commit": "749b20fa15d8726e72bb2bfc404021208d8b5559" + }, + { + "timestamp": "2025-12-18T12:50:59+08:00", + "action": "next-part", + "phase": "finish", + "step": 16, + "summary": "用户确认通过,进入收尾", + "git_commit": "a0bba367bc101c28b27efee0b925335466779ccf" + } + ], + "source_branch": "master", + "start_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda", + "task_branch": "aide/015" +} diff --git a/.aide/pending-items.json b/.aide/pending-items.json index 9af8fb2..1aedf8c 100644 --- a/.aide/pending-items.json +++ b/.aide/pending-items.json @@ -1,94 +1,108 @@ { - "task": "创建环境安装 Command", + "task": "调整 Aide 工作流流程", "source": "task-now.md", "items": [ { "id": 1, - "title": "离线安装程序是否需要实现?", + "title": "新阶段命名", "location": { "file": "task-now.md", - "start": 17, - "end": 21 + "start": 3, + "end": 9 }, - "context": "任务文档中询问是否可以实现离线安装方案:先提供资源清单,用户下载资源后通过程序完成安装。这是一个独立的功能模块,与 Command 是两种不同的实现方式。", + "context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。", "options": [ { - "value": "defer", - "label": "暂不实现,作为后续迭代", + "value": "review", + "label": "review", + "score": 90, + "pros": ["语义清晰,表示审阅", "简洁常用"], + "cons": ["与 code review 可能混淆"] + }, + { + "value": "confirm", + "label": "confirm", "score": 85, - "pros": ["聚焦核心需求", "减少本次工作量", "可以先验证 Command 方案的有效性"], - "cons": ["无法处理完全无网络的环境"] + "pros": ["明确表示确认动作", "与任务流程含义一致"], + "cons": ["较长"] }, { - "value": "implement", - "label": "本次一并实现离线安装程序", - "score": 60, - "pros": ["一次性完整覆盖所有场景", "支持企业内网环境"], - "cons": ["工作量大", "维护成本高", "需要处理多平台二进制分发"] - }, - { - "value": "resource_list_only", - "label": "仅提供资源清单和手动指南", - "score": 70, - "pros": ["折中方案", "用户可自行下载"], - "cons": ["离线体验不完整", "用户需手动操作较多"] + "value": "approve", + "label": "approve", + "score": 75, + "pros": ["表示批准/通过", "正式感强"], + "cons": ["较正式,可能过于严肃"] } ], - "recommend": "defer" + "recommend": "review" }, { "id": 2, - "title": "是否需要支持 macOS?", + "title": "复杂任务文档存储位置", "location": { "file": "task-now.md", - "start": 5, - "end": 5 + "start": 27, + "end": 28 }, - "context": "任务文档明确提到需要为 Windows 和 Linux 创建专用 command,但未提及 macOS。macOS 在开发者群体中使用广泛,需要确认是否纳入本次实现范围。", + "context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。", "options": [ { - "value": "no_macos", - "label": "仅支持 Windows 和 Linux", - "score": 75, - "pros": ["严格按任务要求", "减少工作量"], - "cons": ["macOS 用户无法使用"] + "value": "aide_dir", + "label": ".aide/task-plans/", + "score": 90, + "pros": ["与现有 .aide/ 结构一致", "集中管理", "自动被 gitignore"], + "cons": ["路径较深"] }, { - "value": "include_macos", - "label": "增加 macOS 支持", - "score": 80, - "pros": ["覆盖主流开发平台", "macOS 与 Linux 安装方式相似"], - "cons": ["增加一定工作量", "需要测试验证"] + "value": "root_dir", + "label": "项目根目录", + "score": 60, + "pros": ["访问方便"], + "cons": ["污染根目录", "需要手动 gitignore"] + }, + { + "value": "spec_alongside", + "label": "与 task.spec 同目录", + "score": 75, + "pros": ["与现有细则位置一致"], + "cons": ["需要额外的命名规范"] } ], - "recommend": "include_macos" + "recommend": "aide_dir" }, { "id": 3, - "title": "Command 命名和组织方式", + "title": "子计划文档命名规范", "location": { "file": "task-now.md", - "start": 5, - "end": 5 + "start": 27, + "end": 28 }, - "context": "任务提到「为 Windows 和 Linux 单独创建专用的完整 command」,这可以理解为两种组织方式:统一命令自动检测系统,或分离命令让用户选择。", + "context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。", "options": [ { - "value": "unified", - "label": "/aide:install(统一命令,自动检测系统)", - "score": 90, - "pros": ["用户体验统一", "自动适配系统", "一个命令解决问题"], - "cons": ["Command 文件会较长"] + "value": "numbered", + "label": "数字编号: spec-01.md, spec-02.md", + "score": 85, + "pros": ["简洁", "顺序清晰"], + "cons": ["无语义信息"] }, { - "value": "separated", - "label": "/aide:install-win 和 /aide:install-linux(分离命令)", - "score": 65, - "pros": ["文件结构清晰", "平台逻辑隔离"], - "cons": ["用户需要知道自己的系统", "维护多个文件"] + "value": "named", + "label": "语义命名: spec-login.md, spec-payment.md", + "score": 80, + "pros": ["语义清晰", "易于识别"], + "cons": ["命名需要额外考虑", "可能重名"] + }, + { + "value": "hybrid", + "label": "混合: spec-01-login.md, spec-02-payment.md", + "score": 90, + "pros": ["兼顾顺序和语义", "易于排序和识别"], + "cons": ["命名较长"] } ], - "recommend": "unified" + "recommend": "hybrid" } ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cd93f3..91cd69f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,38 @@ ## 2025-12-18 +### 新增功能 + +**用户确认阶段 (confirm)** +- 在 docs 和 finish 之间新增 `confirm` 阶段 +- 用于用户审阅和测试已完成的工作 +- 支持返工机制:根据问题类型返回相应阶段 +- 返工前强制更新任务文档,便于上下文恢复 + +**复杂任务子计划文档规范** +- 新增 `task.plans_path` 配置项(默认 `.aide/task-plans/`) +- 规范化文档结构: + - `guide.md` - 任务计划总导览 + - `spec-01.md`, `spec-02.md`, ... - 各子计划细则 +- 更新复杂任务执行模式:`task-optimize → [flow-design → impl → verify → docs → confirm] × N → finish` +- 子计划状态管理:在 guide.md 中维护状态表 + +### 变更 + +- 流程阶段更新为 7 个:task-optimize → flow-design → impl → verify → docs → confirm → finish +- run.md 中"阶段 6:收尾"更新为"阶段 7:收尾" +- 更新 aide skill 文档,添加 confirm 环节和 task-plans 目录说明 + +### 修改的文件 +- `aide-program/aide/core/config.py` - 添加 plans_path 配置和 confirm 阶段 +- `aide-marketplace/aide-plugin/commands/run.md` - 任务细则规范、子计划执行、confirm 阶段 +- `aide-marketplace/aide-plugin/skills/aide/SKILL.md` - 环节列表、数据存储、流程示例 +- `.aide/config.toml` - 项目配置更新 + +--- + +## 2025-12-18 (earlier) + ### 变更 **aide flow finish 流程重构** diff --git a/aide-marketplace/aide-plugin/commands/run.md b/aide-marketplace/aide-plugin/commands/run.md index 5e84edb..a68cd80 100644 --- a/aide-marketplace/aide-plugin/commands/run.md +++ b/aide-marketplace/aide-plugin/commands/run.md @@ -139,16 +139,75 @@ aide config get task.source **必须执行**: +##### 简单/中等任务 + 1. 根据分析结果生成任务细则文档 2. 保存到配置的路径: ```bash aide config get task.spec ``` -3. **强制确认点**: - - 向用户展示细则摘要 - - 使用 AskUserQuestion 询问用户是否确认 - - 等待用户明确答复后才能继续 - - 如用户有修改意见,更新细则后重新确认 + +##### 复杂任务(需拆分为子计划) + +1. 获取计划文档目录: + ```bash + aide config get task.plans_path + ``` +2. 创建目录(如不存在) +3. 生成以下文档: + +**任务计划总导览(guide.md)**: + +```markdown +# 任务计划总导览 + +## 任务简述 +[一句话描述任务目标] + +## 子计划列表 + +| # | 名称 | 状态 | 细则文档 | +|---|------|------|----------| +| 1 | [子计划1名称] | pending | spec-01.md | +| 2 | [子计划2名称] | pending | spec-02.md | +... + +## 执行顺序 +[说明子计划之间的依赖关系和执行顺序] + +## 备注 +[其他需要说明的内容] +``` + +**各子计划细则(spec-01.md, spec-02.md, ...)**: + +```markdown +# 子计划 N:[名称] + +## 目标 +[具体目标] + +## 具体步骤 +1. [步骤1] +2. [步骤2] +... + +## 验证标准 +- [标准1] +- [标准2] + +## 依赖 +- 前置:[依赖的子计划,如无则写"无"] +- 后续:[依赖本计划的子计划,如无则写"无"] +``` + +##### 强制确认点 + +无论简单还是复杂任务: +- 向用户展示细则摘要 +- 使用 AskUserQuestion 询问用户是否确认 +- 等待用户明确答复后才能继续 +- 如用户有修改意见,更新细则后重新确认 ```bash aide flow next-step "任务细则已确认" @@ -303,10 +362,67 @@ aide flow next-part docs "验证通过,进入文档环节" aide flow next-step "文档更新完成" ``` -### 阶段 6:收尾 (finish) +### 阶段 6:用户确认 (confirm) ```bash -aide flow next-part finish "文档更新完成,进入收尾" +aide flow next-part confirm "文档更新完成,进入用户确认环节" +``` + +#### 6.1 向用户报告完成信息 + +汇总已完成的工作: +- 列出主要变更点 +- 说明验证结果 +- 提供关键文件清单 + +#### 6.2 等待用户确认 + +**用户可能的操作**: + +1. **确认通过** → 直接进入 finish +2. **发现问题** → 进入返工流程 + +#### 6.3 返工流程 + +当用户发现问题或有新需求时: + +##### 分析问题类型 + +| 问题类型 | 返工阶段 | 说明 | +|----------|----------|------| +| 实现问题 | impl | 代码逻辑错误、功能不符预期 | +| 设计问题 | flow-design | 架构或流程设计有误 | +| 需求问题 | task-optimize | 需求理解偏差、新增需求 | + +##### 返工前必须操作 + +**必须**在返工前完成以下操作: + +1. **更新任务文档(task.source)**: + - 记录用户反馈的问题 + - 补充新发现的需求或要求 + - 这是为了便于上下文中断后恢复 + +2. **更新任务计划文档**: + - 简单任务:更新 `task.spec` + - 复杂任务:更新相应的子计划文档(`spec-NN.md`) + +```bash +aide flow next-step "更新任务文档,准备返工" +``` + +##### 执行返工 + +```bash +aide flow back-part <目标阶段> "返工原因: <简述>" +``` + +从目标阶段继续执行,直到再次到达 confirm 阶段。 + +### 阶段 7:收尾 (finish) + +```bash +aide flow next-part finish "用户确认通过,进入收尾" ``` - 清理临时文件 @@ -379,32 +495,59 @@ aide config get task.spec 对于拆分为多个子计划的复杂任务: +### 文档结构 + +复杂任务的文档存放在 `task.plans_path` 配置的目录下(默认 `.aide/task-plans/`): + +``` +.aide/task-plans/ +├── guide.md # 任务计划总导览 +├── spec-01.md # 子计划 1 细则 +├── spec-02.md # 子计划 2 细则 +└── spec-NN.md # 子计划 N 细则 +``` + ### 执行模式 ``` -task-optimize → [flow-design → impl → verify → docs] × N → finish +task-optimize → [flow-design → impl → verify → docs → confirm] × N → finish ``` +> 注:每个子计划完成 docs 后需经过 confirm 阶段,用户确认后才进入下一个子计划 + ### 流程 -1. 完成 task-optimize,生成任务导览和所有子计划细则 +1. 完成 task-optimize: + - 生成 `guide.md`(任务计划总导览) + - 生成所有 `spec-NN.md`(子计划细则) 2. 对每个子计划: - 进入 flow-design,为该子计划设计流程图 - 进入 impl,实现该子计划 - 进入 verify,验证该子计划 - 进入 docs,更新该子计划相关文档 - - 标记子计划完成,更新任务导览 + - 进入 confirm,等待用户确认 + - 用户确认后,更新 `guide.md` 中该子计划状态为 `completed` 3. 所有子计划完成后,进入 finish ### 子计划切换 -完成一个子计划的 docs 后: +完成一个子计划的 confirm 后: ```bash aide flow next-step "子计划 N 完成,开始子计划 N+1" aide flow back-part flow-design "开始下一个子计划的流程设计" ``` +### 子计划状态管理 + +每完成一个子计划,更新 `guide.md` 中的状态表: + +| # | 名称 | 状态 | 细则文档 | +|---|------|------|----------| +| 1 | [子计划1名称] | **completed** | spec-01.md | +| 2 | [子计划2名称] | **in_progress** | spec-02.md | +| 3 | [子计划3名称] | pending | spec-03.md | + --- ## 附录:任务复杂度评估指导原则 diff --git a/aide-marketplace/aide-plugin/skills/aide/SKILL.md b/aide-marketplace/aide-plugin/skills/aide/SKILL.md index 5abe948..32fd729 100644 --- a/aide-marketplace/aide-plugin/skills/aide/SKILL.md +++ b/aide-marketplace/aide-plugin/skills/aide/SKILL.md @@ -252,6 +252,7 @@ aide flow show 2025-12-15T17-28-53 | `impl` | 迭代实现 | exec 阶段使用 | | `verify` | 验证交付 | exec 阶段使用 | | `docs` | 文档更新 | exec 阶段使用 | +| `confirm` | 用户确认 | 审阅与返工 | | `finish` | 收尾 | exec 阶段使用 | ### 流程校验 @@ -452,6 +453,9 @@ aide init ├── diagrams/ # 流程图目录 │ ├── *.puml # PlantUML 源文件 │ └── *.png # 生成的图片 +├── task-plans/ # 复杂任务计划文档(可配置) +│ ├── guide.md # 任务计划总导览 +│ └── spec-NN.md # 子计划细则 └── project-docs/ # 项目文档(面向 LLM) ├── README.md # 总导览 ├── block-plan.md # 区块计划 @@ -498,8 +502,14 @@ aide flow next-step "验证完成: 所有测试通过" aide flow next-part docs "验证通过,进入文档环节" aide flow next-step "文档更新完成" -# 9. 收尾 -aide flow next-part finish "文档更新完成,进入收尾" +# 9. 进入用户确认 +aide flow next-part confirm "文档更新完成,进入用户确认环节" +# 等待用户确认... +# 如用户确认通过: +aide flow next-step "用户确认通过" + +# 10. 收尾 +aide flow next-part finish "用户确认通过,进入收尾" aide flow next-step "任务完成" ``` diff --git a/aide-program/aide/core/config.py b/aide-program/aide/core/config.py index eaadd80..3c7ad0f 100644 --- a/aide-program/aide/core/config.py +++ b/aide-program/aide/core/config.py @@ -68,6 +68,12 @@ source = "task-now.md" # /aide:exec 命令在未指定参数时读取此文件 spec = "task-spec.md" +# 复杂任务计划文档目录 +# 当任务被拆分为多个子计划时,存放: +# - guide.md: 任务计划总导览 +# - spec-01.md, spec-02.md, ...: 各子计划细则 +plans_path = ".aide/task-plans/" + ################################################################################ # [env] - 环境检测配置 ################################################################################ @@ -180,8 +186,9 @@ block_plan_path = ".aide/project-docs/block-plan.md" # impl - 迭代实现 # verify - 验证交付 # docs - 文档更新 +# confirm - 用户确认(审阅与返工) # finish - 收尾 -phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "finish"] +phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "confirm", "finish"] # 流程图目录路径 # 存放 PlantUML 源文件(.puml)和生成的图片(.png) diff --git a/task-now.md b/task-now.md index 6c277fb..e69de29 100644 --- a/task-now.md +++ b/task-now.md @@ -1,27 +0,0 @@ -我想调整一部分流程 - -在docs和finish中插入一个新流程,作为等待用户确认时的交互缓冲期, - -在这个阶段停下向用户报告完成信息,用户可以在这个时候自行进行审阅和测试等行为, - -如果确认无误则直接答复确认即可,进入finish, - -但如果发现有些地方其实并没有按预期实现,或者是用户在已经实现的基础上发现了新的问题或是有了新的想法,则应进行分析,判断应该返工到哪个阶段, - -为了避免收到上下文限制或意外中断影响便于恢复任务,一定要注意返工前先更新任务文档(是source不是spec)和任务计划(是指任务计划文档不是todo工具), - -然后再逐个环节继续完成任务,直到用户确认进入finish, - -对了,在这之前,我希望先更新command/run中关于任务计划部分的内容, - -我原本期望的是: -``` -对于任务的分析优化阶段,我希望能对任务的复杂度(是指工作量上的复杂度)进行分析, -- 对过于复杂的任务,梳理为多个完整的小任务, -- 出一个任务计划总导览和多个完整的子计划的细则,然后依序完成, -- 这类任务的执行过程,当完成task-optimize后,从flow-design到docs为一个完整子计划的全过程,多次循环逐个完成所有子计划的内容,一个子计划执行完docs后,开始下一个子计划的flow-design,最后全部完成后再finish -``` - -可现在的run只实现了分析优化阶段对复杂度的分析和任务拆分要求,提出了要分为小计划,后面还说明了对于小计划和导览更新怎么执行 - -而实际上我要求的是当任务较为复杂应该被分为小计划时,每一个小计划都必须是一个单独的完整的细则文档,而不是在同一个文档中的计划1计划2那样,且任务计划总导览也必须是一个单独的文档,