From e808201ec337f11c064cc0c89852f0aac93559a3 Mon Sep 17 00:00:00 2001 From: "sayurinana(vm)" Date: Thu, 18 Dec 2025 13:58:35 +0800 Subject: [PATCH] =?UTF-8?q?645a30c=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/diagrams/auto-run-logic-flow.png | Bin 0 -> 125241 bytes .aide/diagrams/auto-run-logic-flow.puml | 73 +++ .aide/diagrams/auto-run-task-flow.png | Bin 0 -> 48162 bytes .aide/diagrams/auto-run-task-flow.puml | 44 ++ .aide/logs/2025-12-18T13-29-05-status.json | 115 ++++ .aide/pending-items.json | 108 ---- CHANGELOG.md | 14 + .../aide-plugin/.claude-plugin/plugin.json | 6 +- .../aide-plugin/commands/auto-run.md | 571 ++++++++++++++++++ task-now.md | 13 - 12 files changed, 843 insertions(+), 125 deletions(-) create mode 100644 .aide/diagrams/auto-run-logic-flow.png create mode 100644 .aide/diagrams/auto-run-logic-flow.puml create mode 100644 .aide/diagrams/auto-run-task-flow.png create mode 100644 .aide/diagrams/auto-run-task-flow.puml create mode 100644 .aide/logs/2025-12-18T13-29-05-status.json delete mode 100644 .aide/pending-items.json create mode 100644 aide-marketplace/aide-plugin/commands/auto-run.md diff --git a/.aide/branches.json b/.aide/branches.json index d5ad0db..65432e3 100644 --- a/.aide/branches.json +++ b/.aide/branches.json @@ -1,5 +1,5 @@ { - "next_number": 16, + "next_number": 17, "branches": [ { "number": 1, @@ -174,6 +174,18 @@ "status": "finished", "end_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda", "finished_at": "2025-12-18T12:50:59+08:00" + }, + { + "number": 16, + "branch_name": "aide/016", + "source_branch": "master", + "start_commit": "645a30cace5e7653c19c60fa1f23c22d1db73d34", + "task_id": "2025-12-18T13-29-05", + "task_summary": "开始任务准备: 构建 auto-run 全自动任务执行命令", + "started_at": "2025-12-18T13:29:05+08:00", + "status": "finished", + "end_commit": "645a30cace5e7653c19c60fa1f23c22d1db73d34", + "finished_at": "2025-12-18T13:58:35+08:00" } ] } diff --git a/.aide/branches.md b/.aide/branches.md index 6cc035b..b78583c 100644 --- a/.aide/branches.md +++ b/.aide/branches.md @@ -1,5 +1,15 @@ # Git 分支概况 +## aide/016 + +- **任务**: 开始任务准备: 构建 auto-run 全自动任务执行命令 +- **任务ID**: 2025-12-18T13-29-05 +- **源分支**: master +- **起始提交**: 645a30c +- **结束提交**: 645a30c +- **状态**: finished +- **时间**: 2025-12-18 13:29 ~ 13:58 + ## aide/015 - **任务**: 开始任务准备: 调整 Aide 工作流流程 diff --git a/.aide/diagrams/auto-run-logic-flow.png b/.aide/diagrams/auto-run-logic-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1dffc0a96102d48806e92a6a479d4b8cb2a804 GIT binary patch literal 125241 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 literal 0 HcmV?d00001 diff --git a/.aide/diagrams/auto-run-logic-flow.puml b/.aide/diagrams/auto-run-logic-flow.puml new file mode 100644 index 0000000..44124e2 --- /dev/null +++ b/.aide/diagrams/auto-run-logic-flow.puml @@ -0,0 +1,73 @@ +@startuml auto-run-logic-flow +title auto-run 命令逻辑流图 + +|#LightBlue| 入口 | +start +:加载 aide skill; +:检查 flow 状态; + +if (有活跃任务?) then (是) + :进入续接流程; +else (否) + :进入新任务流程; +endif + +|#LightGreen| 新任务流程 | + +:启动流程追踪; +:aide flow start task-optimize; + +:读取任务文档; +:任务分析与优化; + +if (有待定项?) then (是) + :分析各选项; + :自动选择 recommend 选项; + :记录决策理由; +else (否) + :继续; +endif + +:生成任务细则; +note right: 无用户确认,直接继续 + +:aide flow next-part flow-design; +:创建流程图; + +:aide flow next-part impl; +:迭代实现; + +|#LightYellow| 错误处理 | + +if (遇到错误?) then (是) + if (存在 general-purpose 子代理?) then (是) + :委托子代理解决; + else (否) + :记录遇到的情况; + :更新任务计划文档; + :自行解决问题; + endif +else (否) + :继续执行; +endif + +|#LightGreen| 继续流程 | + +:aide flow next-part verify; +:验证交付; + +:aide flow next-part docs; +:文档更新; + +note right + 跳过 confirm 阶段 + 直接进入 finish +end note + +:aide flow next-part finish; +:清理临时文件; +:汇报完成情况; + +stop + +@enduml diff --git a/.aide/diagrams/auto-run-task-flow.png b/.aide/diagrams/auto-run-task-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..eafb01001b48852e4b70c405f9f65f63ca54d774 GIT binary patch literal 48162 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%0D^U+7Mb{S9V$ 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 z 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 literal 0 HcmV?d00001 diff --git a/.aide/diagrams/auto-run-task-flow.puml b/.aide/diagrams/auto-run-task-flow.puml new file mode 100644 index 0000000..9441a49 --- /dev/null +++ b/.aide/diagrams/auto-run-task-flow.puml @@ -0,0 +1,44 @@ +@startuml auto-run-task-flow +title auto-run 任务执行流程图 + +start + +:复制 run.md 为 auto-run.md; + +:修改命令标题和描述; + +:改造待定项处理逻辑; +note right + - 移除用户 Web 决策 + - 改为自动选择最优解 + - 记录决策理由 +end note + +:删除任务细则确认; +note right + 移除 AskUserQuestion 调用 +end note + +:删除 confirm 阶段; +note right + - 移除阶段 6 定义 + - 调整流程跳转 + - 移除返工流程 +end note + +:新增错误自动处理机制; +note right + 优先委托子代理 + 否则自行解决 +end note + +:新增计划外情况处理机制; +note right + 先记录 → 更新计划 → 再处理 +end note + +:验证命令文件; + +stop + +@enduml diff --git a/.aide/logs/2025-12-18T13-29-05-status.json b/.aide/logs/2025-12-18T13-29-05-status.json new file mode 100644 index 0000000..89f067f --- /dev/null +++ b/.aide/logs/2025-12-18T13-29-05-status.json @@ -0,0 +1,115 @@ +{ + "task_id": "2025-12-18T13-29-05", + "current_phase": "finish", + "current_step": 13, + "started_at": "2025-12-18T13:29:05+08:00", + "history": [ + { + "timestamp": "2025-12-18T13:29:05+08:00", + "action": "start", + "phase": "task-optimize", + "step": 1, + "summary": "开始任务准备: 构建 auto-run 全自动任务执行命令", + "git_commit": "26c735ed294c7a6a4790dce190129baa7a6048bc" + }, + { + "timestamp": "2025-12-18T13:31:10+08:00", + "action": "next-step", + "phase": "task-optimize", + "step": 2, + "summary": "任务解析完成", + "git_commit": "4748a0a7a92746600c69bbe57c32d04d75fbef3c" + }, + { + "timestamp": "2025-12-18T13:34:59+08:00", + "action": "next-step", + "phase": "task-optimize", + "step": 3, + "summary": "任务细则已确认", + "git_commit": "a10d9de196ef4ee2b61fa180ec5605c195803c3d" + }, + { + "timestamp": "2025-12-18T13:35:18+08:00", + "action": "next-part", + "phase": "flow-design", + "step": 4, + "summary": "进入流程设计环节", + "git_commit": "f0909c5124d8bb3e81dcaac876ab8ff40b6fe7ca" + }, + { + "timestamp": "2025-12-18T13:36:15+08:00", + "action": "next-step", + "phase": "flow-design", + "step": 5, + "summary": "流程图设计完成", + "git_commit": "5c1ada7991903f9394460fa8eedfcd7b1a320ee8" + }, + { + "timestamp": "2025-12-18T13:36:35+08:00", + "action": "next-part", + "phase": "impl", + "step": 6, + "summary": "流程设计完成,进入实现环节", + "git_commit": "7a748544773259a10759da7578d96bc6aefdef23" + }, + { + "timestamp": "2025-12-18T13:50:07+08:00", + "action": "next-step", + "phase": "impl", + "step": 7, + "summary": "auto-run.md 实现完成", + "git_commit": "a2531526536ee3b47a68fb8aea245180477f5bee" + }, + { + "timestamp": "2025-12-18T13:50:21+08:00", + "action": "next-part", + "phase": "verify", + "step": 8, + "summary": "实现完成,进入验证环节", + "git_commit": "5fa9b25d78bf10e58faa14be122e32b9835572c9" + }, + { + "timestamp": "2025-12-18T13:51:18+08:00", + "action": "next-step", + "phase": "verify", + "step": 9, + "summary": "验证完成: 所有验证标准通过", + "git_commit": "3fd58acbd07ae284b96eb0791aad74933bf5da2f" + }, + { + "timestamp": "2025-12-18T13:51:30+08:00", + "action": "next-part", + "phase": "docs", + "step": 10, + "summary": "验证通过,进入文档环节", + "git_commit": "ffa5ba5d4e553f5ddda9d8e305b92a02c0084b9a" + }, + { + "timestamp": "2025-12-18T13:52:42+08:00", + "action": "next-step", + "phase": "docs", + "step": 11, + "summary": "文档更新完成", + "git_commit": "ec847df46943eb3d89754c48380b53766b0b2da9" + }, + { + "timestamp": "2025-12-18T13:52:57+08:00", + "action": "next-part", + "phase": "confirm", + "step": 12, + "summary": "文档更新完成,进入用户确认环节", + "git_commit": "360628db5766ec02d7df654eebcdb4451503f128" + }, + { + "timestamp": "2025-12-18T13:58:35+08:00", + "action": "next-part", + "phase": "finish", + "step": 13, + "summary": "用户确认通过,进入收尾", + "git_commit": "e9e12a672e67b7630762a5d95588abed8cd338d3" + } + ], + "source_branch": "master", + "start_commit": "645a30cace5e7653c19c60fa1f23c22d1db73d34", + "task_branch": "aide/016" +} diff --git a/.aide/pending-items.json b/.aide/pending-items.json deleted file mode 100644 index 1aedf8c..0000000 --- a/.aide/pending-items.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "task": "调整 Aide 工作流流程", - "source": "task-now.md", - "items": [ - { - "id": 1, - "title": "新阶段命名", - "location": { - "file": "task-now.md", - "start": 3, - "end": 9 - }, - "context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。", - "options": [ - { - "value": "review", - "label": "review", - "score": 90, - "pros": ["语义清晰,表示审阅", "简洁常用"], - "cons": ["与 code review 可能混淆"] - }, - { - "value": "confirm", - "label": "confirm", - "score": 85, - "pros": ["明确表示确认动作", "与任务流程含义一致"], - "cons": ["较长"] - }, - { - "value": "approve", - "label": "approve", - "score": 75, - "pros": ["表示批准/通过", "正式感强"], - "cons": ["较正式,可能过于严肃"] - } - ], - "recommend": "review" - }, - { - "id": 2, - "title": "复杂任务文档存储位置", - "location": { - "file": "task-now.md", - "start": 27, - "end": 28 - }, - "context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。", - "options": [ - { - "value": "aide_dir", - "label": ".aide/task-plans/", - "score": 90, - "pros": ["与现有 .aide/ 结构一致", "集中管理", "自动被 gitignore"], - "cons": ["路径较深"] - }, - { - "value": "root_dir", - "label": "项目根目录", - "score": 60, - "pros": ["访问方便"], - "cons": ["污染根目录", "需要手动 gitignore"] - }, - { - "value": "spec_alongside", - "label": "与 task.spec 同目录", - "score": 75, - "pros": ["与现有细则位置一致"], - "cons": ["需要额外的命名规范"] - } - ], - "recommend": "aide_dir" - }, - { - "id": 3, - "title": "子计划文档命名规范", - "location": { - "file": "task-now.md", - "start": 27, - "end": 28 - }, - "context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。", - "options": [ - { - "value": "numbered", - "label": "数字编号: spec-01.md, spec-02.md", - "score": 85, - "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": "hybrid" - } - ] -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 91cd69f..4ea91ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ ### 新增功能 +**全自动任务执行命令 `/aide:auto-run`** +- 基于 `/aide:run` 的全自动化版本 +- 去除所有用户交互环节: + - 待定项自动决策(选择 recommend 或最高分选项) + - 任务细则自动确认(无需用户确认) + - 跳过 confirm 阶段(docs → finish) +- 新增错误自动处理机制: + - 优先委托 `general-purpose` 子代理解决 + - 无子代理时自行解决(需先记录并更新计划) +- 新增计划外情况处理机制: + - 必须先记录遇到的情况 + - 更新任务计划文档后才能继续 +- 适用场景:批量处理、后台执行、无需人工干预的任务 + **用户确认阶段 (confirm)** - 在 docs 和 finish 之间新增 `confirm` 阶段 - 用于用户审阅和测试已完成的工作 diff --git a/aide-marketplace/aide-plugin/.claude-plugin/plugin.json b/aide-marketplace/aide-plugin/.claude-plugin/plugin.json index 57ad503..0899e00 100644 --- a/aide-marketplace/aide-plugin/.claude-plugin/plugin.json +++ b/aide-marketplace/aide-plugin/.claude-plugin/plugin.json @@ -1,9 +1,9 @@ { "name": "aide-plugin", - "description": "Aide 工作流体系插件,提供环境配置、项目认知、文档管理和任务执行的标准化流程", - "version": "2.0.9", + "description": "Aide 工作流体系插件,提供环境配置、项目认知、文档管理和任务执行(含全自动模式)的标准化流程", + "version": "2.1.0", "author": { "name": "Aide Team" }, - "keywords": ["workflow", "task", "aide", "productivity", "documentation"] + "keywords": ["workflow", "task", "aide", "productivity", "documentation", "automation"] } diff --git a/aide-marketplace/aide-plugin/commands/auto-run.md b/aide-marketplace/aide-plugin/commands/auto-run.md new file mode 100644 index 0000000..755e3bb --- /dev/null +++ b/aide-marketplace/aide-plugin/commands/auto-run.md @@ -0,0 +1,571 @@ +# Aide 全自动任务执行 + +你正在执行 Aide **全自动**任务执行流程。这是 `/aide:run` 的自动化版本,去除了所有需要用户参与的环节,适用于批量处理或后台执行场景。 + +**与 `/aide:run` 的主要区别**: +- 待定项自动决策(无需用户 Web 确认) +- 任务细则自动确认(无需用户确认) +- 跳过 confirm 阶段(无需用户验收) +- 错误自动处理(优先委托子代理,否则自行解决) + +## 参数 + +- `$ARGUMENTS`:任务文档路径(可选) +- 未传入时根据 flow 状态决定行为 + +--- + +## 前置准备 + +**首先触发 `aide` skill 学习 aide 命令的使用方法。** + +这是一个非常长的任务,因此规划您的工作可能会很有益。**建议花费您的整个输出上下文来处理任务 - 只需确保您不会在有大量未提交的工作时用尽上下文。**继续系统地工作,直到您完成此任务。**您的上下文窗口将在接近其限制时自动压缩,允许您从中断的地方继续无限期地工作。因此,不要因为令牌预算问题而提前停止任务。**当您接近令牌预算限制时,在上下文窗口刷新前将您当前的进度和状态保存到内存中。始终尽可能坚持和自主,并完全完成任务,即使您的预算即将用尽。无论剩余上下文如何,永远不要人为地提前停止任何任务。 + +--- + +## 开始 + +### 检查 flow 状态 + +```bash +aide flow status +``` + +根据状态决定行为: + +- **无活跃任务** 或 **当前任务已 finish** → 进入**新任务流程** +- **当前任务未完成** → 进入**续接流程** + +--- + +## 新任务流程 + +### 阶段 1:任务准备 (task-optimize) + +#### 1.1 启动流程追踪 + +```bash +aide flow start task-optimize "开始任务准备: <任务简述>" +``` + +#### 1.2 确定任务文档 + +```bash +# 如果传入了参数 +任务文档 = $ARGUMENTS + +# 如果未传入参数,使用配置默认值 +aide config get task.source +``` + +读取任务文档内容。如文档不存在,**报错退出**(全自动模式不支持交互式输入)。 + +#### 1.3 口语化内容检测 + +检查任务文档或用户对话是否具有以下口语化特征: + +- 使用非正式的口头表达方式 +- 包含大量模糊表述("我觉得"、"好像"、"大概"、"应该"等) +- 句子结构松散,缺乏条理性 +- 包含冗余或重复的表达 +- 思维跳跃,逻辑不连贯 + +**如果检测到口语化特征**: + +1. 触发 `task-parser` skill 学习口语化内容解析方法 +2. 按照 skill 指南对内容进行深度理解和规范化转换 +3. 将转换后的结构化内容作为后续分析的基础 + +> 即使内容部分口语化,也应进行解析,提取核心意图 + +#### 1.4 任务分析 + +##### 深度理解任务 + +- 任务要解决什么问题? +- 最终交付物是什么? +- 成功的标准是什么? +- 涉及哪些模块/系统? +- 是否有技术难点? + +##### 分析项目环境 + +根据需要阅读相关代码/文档,理解任务与项目现有结构的关系。 + +> 复杂任务(多子目标、多方案对比)建议使用 sequential-thinking 进行结构化分析 + +#### 1.5 复杂度评估 + +根据**任务复杂度评估指导原则**(见附录)评估任务复杂度: + +- **简单/中等任务**:直接生成任务细则 +- **复杂/超大任务**:拆分为多个子计划 + +#### 1.6 任务优化 + +##### 准确性优化 + +- 识别**歧义**和**不明确之处** +- 识别**隐含假设**和**未说明的前提** +- 明确任务**边界** + +##### 简洁性优化 + +- 识别**冗余表述** +- 区分**真冗余**与**必要强调** + +##### 可执行性优化 + +- 将抽象要求转化为**具体步骤** +- 确保每个步骤有明确的**输入、输出、验证标准** +- 识别可能的**替代方案** + +##### 生成待定项 + +对于存在多种方案、有歧义、需要用户确认的内容,准备待定项数据。 + +#### 1.7 待定项自动处理 + +**必须执行**,无论是否有待定项: + +1. **如果有待定项**: + - 分析各待定项的选项 + - 对于每个待定项: + - 如果有 `recommend` 字段,选择推荐选项 + - 如果无推荐,根据 `score` 字段选择最高分选项 + - 如果无评分,选择第一个选项 + - 记录决策理由到 flow 日志: + ```bash + aide flow next-step "自动决策: <决策摘要>" + ``` + +2. **如果无待定项**: + - 继续下一步(无需向用户报告) + +#### 1.8 生成任务细则 + +**必须执行**: + +##### 简单/中等任务 + +1. 根据分析结果生成任务细则文档 +2. 保存到配置的路径: + ```bash + aide config get task.spec + ``` + +##### 复杂任务(需拆分为子计划) + +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] + +## 依赖 +- 前置:[依赖的子计划,如无则写"无"] +- 后续:[依赖本计划的子计划,如无则写"无"] +``` + +##### 自动确认 + +全自动模式下,生成任务细则后直接进入下一阶段: + +```bash +aide flow next-step "任务细则已生成,自动确认" +``` + +### 阶段 2:流程设计 (flow-design) + +```bash +aide flow next-part flow-design "进入流程设计环节" +``` + +#### 2.1 制定执行计划 + +- 具体的实现步骤 +- 每个步骤的预期产出 +- 潜在风险和应对方案 + +#### 2.2 创建流程图 + +在配置的流程图目录创建 PlantUML 源文件: + +```bash +aide config get flow.diagram_path +``` + +##### 流程图类型 + +根据任务类型,需要创建不同类型的流程图: + +| 类型 | 适用场景 | 必需性 | +|------|----------|--------| +| 任务执行流程图 | 所有任务 | **必需** | +| 程序逻辑流图 | 含程序设计与代码编写的任务 | **必需** | + +##### 任务执行流程图规范 + +展示任务执行的步骤顺序: + +- **步骤分解**:将任务分解为具体的执行步骤 +- **顺序关系**:明确步骤之间的先后顺序 +- **决策点**:标注关键决策点和分支条件 +- **依赖关系**:体现步骤之间的依赖 + +##### 程序逻辑流图规范 + +展示程序代码的执行逻辑(仅限程序类任务): + +- **入口点**:从程序入口函数(如 main、\_\_main\_\_)开始 +- **控制结构**:体现顺序、分支(if/switch)、循环(for/while)结构 +- **语义化抽象**:将代码逻辑抽象为人类可理解的业务描述,而非代码细节 +- **模块化表示**: + - 函数/模块表示为"盒子" + - 标注预期输入和输出 + - 复杂函数可单独绘制详图 +- **层次化组织**: + - 主流程图展示程序整体执行流 + - 关键子系统/模块可单独绘制详细流程图 + - 通过引用关联主图与详图 + +> **为什么需要程序逻辑流图**: +> - 用户可以通过流程图快速理解程序的执行逻辑 +> - 在流程图阶段发现业务逻辑错误,避免实现后才发现方向错误 +> - 比逐行审阅代码更高效 + +##### 流程图示例结构 + +```plantuml +@startuml +' 主程序流程图 +start +:初始化配置; +:解析命令行参数; + +if (参数有效?) then (是) + :调用处理模块; + note right: 详见 process-module.puml +else (否) + :显示错误信息; + stop +endif + +:输出结果; +stop +@enduml +``` + +**所有任务必须有流程图**,用于: +- 规范化思考 +- 方便用户审阅 +- 早期发现逻辑错误 + +```bash +aide flow next-step "流程图设计完成" +``` + +#### 2.3 进入实现环节 + +```bash +aide flow next-part impl "流程设计完成,进入实现环节" +``` + +> aide flow 会自动校验 PlantUML 并生成 PNG + +### 阶段 3:迭代实现 (impl) + +按计划执行,每完成一个步骤: + +```bash +aide flow next-step "<完成内容简述>" +``` + +遇到问题时: + +```bash +aide flow issue "<一般问题>" +aide flow error "<严重错误>" +``` + +#### 错误自动处理 + +全自动模式下,遇到错误时按以下流程处理: + +1. **记录错误**: + ```bash + aide flow error "<错误描述>" + ``` + +2. **尝试自动解决**: + - **优先委托子代理**:如果存在 `general-purpose` 子代理,使用 Task 工具委托其解决 + - **自行解决**:如果无子代理可用,则自行解决 + +3. **自行解决前的必要操作**(见下文「计划外情况处理」) + +需要回退时: + +```bash +aide flow back-step "<原因>" +aide flow back-part <环节名> "<原因>" +``` + +#### 计划外情况处理 + +当遇到以下情况时: +- 只能自行解决的问题(无子代理可用) +- 可能大幅消耗上下文的计划外情况 +- 需要重大决策但无法委托的情况 + +**必须执行以下操作后才能继续**: + +1. **记录遇到的情况**: + ```bash + aide flow issue "<情况描述>" + ``` + +2. **更新任务计划文档**: + - 简单任务:更新 `task.spec` + - 复杂任务:更新相应的子计划文档(`spec-NN.md`) + - 新增「计划外处理」章节,说明: + - 遇到的情况 + - 选择的处理方案 + - 预期影响 + +3. **记录更新完成**: + ```bash + aide flow next-step "计划外情况已记录,继续执行" + ``` + +4. **执行处理方案** + +> 这一机制确保即使上下文中断,也能通过文档恢复状态 + +### 阶段 4:验证交付 (verify) + +```bash +aide flow next-part verify "实现完成,进入验证环节" +``` + +- 对照任务细则验证每个成功标准 +- 执行测试(如适用) +- 验证失败则回退修复 + +```bash +aide flow next-step "验证完成: <验证结论>" +``` + +### 阶段 5:文档更新 (docs) + +```bash +aide flow next-part docs "验证通过,进入文档环节" +``` + +更新相关文档: +- `README.md`(如有用户可见变更) +- `CHANGELOG.md` +- 其他相关文档 + +```bash +aide flow next-step "文档更新完成" +``` + +### 阶段 6:收尾 (finish) + +> 全自动模式跳过用户确认阶段,从文档更新直接进入收尾 + +```bash +aide flow next-part finish "文档更新完成,进入收尾" +``` + +- 清理临时文件 +- 检查遗漏的 TODO +- 输出完成摘要 + +```bash +aide flow next-step "任务完成" +``` + +--- + +## 续接流程 + +当检测到未完成的任务时: + +### 1. 智能续接判断 + +1. **检查任务细则文档是否存在**: + ```bash + aide config get task.spec + ``` + 读取配置的细则文档路径。 + +2. **如果细则文档不存在**: + - 旧状态已无效 + - **报错退出**:「检测到未完成的任务,但任务细则不存在。全自动模式无法继续。」 + +3. **如果细则文档存在**: + - 阅读细则文档内容 + - 判断上次未完成任务的名称和步骤是否符合细则含义 + - **符合** → 接续之前的状态继续执行 + - **不符合** → 旧状态已无效,需要 start 新任务 + +4. **如果判断为应继续,但 git 状态不干净**: + - aide flow 会自动执行 git add . 并创建清理提交 + - 这是预期行为,无需手动处理 + +### 2. 分析当前进度 + +```bash +aide flow status +aide flow show +``` + +了解: +- 当前处于哪个环节 +- 已完成哪些步骤 +- 最后的操作是什么 + +### 2. 载入项目认知 + +调用 `/aide:load` 的逻辑,按需载入项目文档。 + +### 3. 读取任务细则 + +```bash +aide config get task.spec +``` + +读取任务细则,了解任务目标和计划。 + +### 4. 继续执行 + +根据当前环节,从中断处继续执行。 + +--- + +## 复杂任务的子计划执行 + +对于拆分为多个子计划的复杂任务: + +### 文档结构 + +复杂任务的文档存放在 `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 +``` + +> 全自动模式:跳过 confirm 阶段,每个子计划完成 docs 后直接进入下一个子计划 + +### 流程 + +1. 完成 task-optimize: + - 生成 `guide.md`(任务计划总导览) + - 生成所有 `spec-NN.md`(子计划细则) +2. 对每个子计划: + - 进入 flow-design,为该子计划设计流程图 + - 进入 impl,实现该子计划 + - 进入 verify,验证该子计划 + - 进入 docs,更新该子计划相关文档 + - 更新 `guide.md` 中该子计划状态为 `completed` +3. 所有子计划完成后,进入 finish + +### 子计划切换 + +完成一个子计划的 docs 后: + +```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 | + +--- + +## 附录:任务复杂度评估指导原则 + +### 评估维度 + +1. **结构维度**:模块数量、文件数量、依赖关系 +2. **逻辑维度**:业务复杂度、状态管理、边界条件 +3. **集成维度**:外部依赖、数据格式、兼容性 +4. **风险维度**:技术风险、影响范围、回滚难度 + +### 复杂度等级 + +| 等级 | 特征 | 处理方式 | +|------|------|----------| +| 简单 | 单文件或少量文件,逻辑清晰 | 直接执行 | +| 中等 | 2-4 个模块,有一定依赖 | 直接执行,注意顺序 | +| 复杂 | 5+ 模块,复杂依赖 | **拆分为子计划** | +| 超大 | 10+ 模块,全面重构 | 拆分为独立任务 | + +### 拆分判断标准 + +满足以下任一条件时应拆分: +1. 涉及 3 个以上独立功能模块 +2. 任务自然分为多个可独立交付的阶段 +3. 存在高风险环节,需要阶段性验证 +4. 存在明确的前后依赖关系 +5. 单次对话可能无法完成 diff --git a/task-now.md b/task-now.md index 56d3eca..e69de29 100644 --- a/task-now.md +++ b/task-now.md @@ -1,13 +0,0 @@ -我想基于当前command/run的基础,构建一个auto-run命令,用于全自动处理流程, - -把run中所有原本需要用户参与的过程,全都优化其规则去除掉需要用户参与的部分, - -其中主要的几项, - -比如decide这样原本跟用户强相关的部分,改为自行取综合考虑下的最优解, - -而优化结果确认和finishi前的确认可以直接删掉, - -然后还有一些情况是原本出错了需要用户处理的,改为交给通用子代理general-purpose来解决,如果不存在此子代理则自行解决, - -但注意,如果只能自行解决问题的话,还有其他所有可能上下文大幅度消耗的计划外情况出现时,都必须首先完成对遇到的情况的记录,同时讲处理方案编排到任务计划文档中,才能继续处理 \ No newline at end of file