645a30c的任务收尾
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"next_number": 16,
|
"next_number": 17,
|
||||||
"branches": [
|
"branches": [
|
||||||
{
|
{
|
||||||
"number": 1,
|
"number": 1,
|
||||||
@@ -174,6 +174,18 @@
|
|||||||
"status": "finished",
|
"status": "finished",
|
||||||
"end_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda",
|
"end_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda",
|
||||||
"finished_at": "2025-12-18T12:50:59+08:00"
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
# Git 分支概况
|
# 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/015
|
||||||
|
|
||||||
- **任务**: 开始任务准备: 调整 Aide 工作流流程
|
- **任务**: 开始任务准备: 调整 Aide 工作流流程
|
||||||
|
|||||||
BIN
.aide/diagrams/auto-run-logic-flow.png
Normal file
BIN
.aide/diagrams/auto-run-logic-flow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
73
.aide/diagrams/auto-run-logic-flow.puml
Normal file
73
.aide/diagrams/auto-run-logic-flow.puml
Normal file
@@ -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
|
||||||
BIN
.aide/diagrams/auto-run-task-flow.png
Normal file
BIN
.aide/diagrams/auto-run-task-flow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
44
.aide/diagrams/auto-run-task-flow.puml
Normal file
44
.aide/diagrams/auto-run-task-flow.puml
Normal file
@@ -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
|
||||||
115
.aide/logs/2025-12-18T13-29-05-status.json
Normal file
115
.aide/logs/2025-12-18T13-29-05-status.json
Normal file
@@ -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"
|
||||||
|
}
|
||||||
@@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -6,6 +6,20 @@
|
|||||||
|
|
||||||
### 新增功能
|
### 新增功能
|
||||||
|
|
||||||
|
**全自动任务执行命令 `/aide:auto-run`**
|
||||||
|
- 基于 `/aide:run` 的全自动化版本
|
||||||
|
- 去除所有用户交互环节:
|
||||||
|
- 待定项自动决策(选择 recommend 或最高分选项)
|
||||||
|
- 任务细则自动确认(无需用户确认)
|
||||||
|
- 跳过 confirm 阶段(docs → finish)
|
||||||
|
- 新增错误自动处理机制:
|
||||||
|
- 优先委托 `general-purpose` 子代理解决
|
||||||
|
- 无子代理时自行解决(需先记录并更新计划)
|
||||||
|
- 新增计划外情况处理机制:
|
||||||
|
- 必须先记录遇到的情况
|
||||||
|
- 更新任务计划文档后才能继续
|
||||||
|
- 适用场景:批量处理、后台执行、无需人工干预的任务
|
||||||
|
|
||||||
**用户确认阶段 (confirm)**
|
**用户确认阶段 (confirm)**
|
||||||
- 在 docs 和 finish 之间新增 `confirm` 阶段
|
- 在 docs 和 finish 之间新增 `confirm` 阶段
|
||||||
- 用于用户审阅和测试已完成的工作
|
- 用于用户审阅和测试已完成的工作
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "aide-plugin",
|
"name": "aide-plugin",
|
||||||
"description": "Aide 工作流体系插件,提供环境配置、项目认知、文档管理和任务执行的标准化流程",
|
"description": "Aide 工作流体系插件,提供环境配置、项目认知、文档管理和任务执行(含全自动模式)的标准化流程",
|
||||||
"version": "2.0.9",
|
"version": "2.1.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Aide Team"
|
"name": "Aide Team"
|
||||||
},
|
},
|
||||||
"keywords": ["workflow", "task", "aide", "productivity", "documentation"]
|
"keywords": ["workflow", "task", "aide", "productivity", "documentation", "automation"]
|
||||||
}
|
}
|
||||||
|
|||||||
571
aide-marketplace/aide-plugin/commands/auto-run.md
Normal file
571
aide-marketplace/aide-plugin/commands/auto-run.md
Normal file
@@ -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 <task_id>
|
||||||
|
```
|
||||||
|
|
||||||
|
了解:
|
||||||
|
- 当前处于哪个环节
|
||||||
|
- 已完成哪些步骤
|
||||||
|
- 最后的操作是什么
|
||||||
|
|
||||||
|
### 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. 单次对话可能无法完成
|
||||||
13
task-now.md
13
task-now.md
@@ -1,13 +0,0 @@
|
|||||||
我想基于当前command/run的基础,构建一个auto-run命令,用于全自动处理流程,
|
|
||||||
|
|
||||||
把run中所有原本需要用户参与的过程,全都优化其规则去除掉需要用户参与的部分,
|
|
||||||
|
|
||||||
其中主要的几项,
|
|
||||||
|
|
||||||
比如decide这样原本跟用户强相关的部分,改为自行取综合考虑下的最优解,
|
|
||||||
|
|
||||||
而优化结果确认和finishi前的确认可以直接删掉,
|
|
||||||
|
|
||||||
然后还有一些情况是原本出错了需要用户处理的,改为交给通用子代理general-purpose来解决,如果不存在此子代理则自行解决,
|
|
||||||
|
|
||||||
但注意,如果只能自行解决问题的话,还有其他所有可能上下文大幅度消耗的计划外情况出现时,都必须首先完成对遇到的情况的记录,同时讲处理方案编排到任务计划文档中,才能继续处理
|
|
||||||
Reference in New Issue
Block a user