Files
agent-aide/aide-marketplace/aide-plugin/docs/skill/aide.md

416 lines
8.1 KiB
Markdown
Raw Normal View History

2025-12-13 22:22:01 +08:00
# Aide Skill 设计文档
## 一、背景
### 1.1 解决的问题
LLM 在执行任务时需要调用各种工具,但:
| 问题 | 影响 |
|------|------|
| 命令语法分散 | 每次都要回忆或查找 |
| 输出格式不明确 | 难以正确解析结果 |
| 使用场景模糊 | 不知道何时该用什么命令 |
### 1.2 设计目标
提供**统一的工具使用指南**
- 所有 aide 子命令的语法和参数
- 输入输出格式说明
- 典型使用示例
---
## 二、职责
### 2.1 做什么
告诉 LLM
- aide 有哪些子命令可用
- 每个子命令怎么调用
- 调用后会得到什么结果
### 2.2 不做什么
- 不涉及流程指导(那是 Commands 的职责)
- 不涉及业务逻辑
- 不涉及决策判断
---
## 三、子命令索引
| 子命令 | 用途 | 详细设计 |
|--------|------|----------|
| `aide env` | 环境检测与修复 | [env.md](../../../../aide-program/docs/commands/env.md) |
| `aide flow` | 进度追踪与 git 集成 | [flow.md](../../../../aide-program/docs/commands/flow.md) |
| `aide decide` | 待定项 Web 确认 | [decide.md](../../../../aide-program/docs/commands/decide.md) |
| `aide config` | 配置读写 | [config.md](../../../../aide-program/docs/formats/config.md) |
| `aide init` | 初始化 .aide 目录 | [init.md](../../../../aide-program/docs/commands/init.md) |
---
## 四、输出格式规范
### 4.1 前缀符号
| 前缀 | 含义 | 处理方式 |
|------|------|----------|
| `✓` | 成功 | 继续执行 |
| `⚠` | 警告(可继续) | 记录后继续 |
| `✗` | 错误(需处理) | 按提示处理或告知用户 |
| `→` | 进行中/信息 | 读取信息 |
### 4.2 静默原则
**无输出 = 正常完成**
只有在需要反馈信息时才会有输出。
---
## 五、子命令接口规格
### 5.1 aide env ensure
**用途**:检测并修复开发环境
**语法**
```
aide env ensure [--runtime]
```
**参数**
| 参数 | 说明 |
|------|------|
| `--runtime` | 仅检查 aide 运行时环境,不依赖配置文件 |
**输出**
```
# 成功
✓ 环境就绪 (python:3.12, uv:0.4.0)
# 成功(完整检查)
→ 任务原文档: task-now.md
→ 任务细则文档: task-spec.md
✓ 环境就绪 (python:3.12, uv:0.4.0, venv:.venv)
# 自动修复
⚠ 已修复: 创建虚拟环境 .venv
✓ 环境就绪 (python:3.12)
# 失败
✗ Python 版本不满足要求 (需要 >=3.10, 当前 3.8)
建议: 安装 Python 3.10+ 或使用 pyenv 管理版本
```
### 5.2 aide init
**用途**:初始化 .aide 目录和默认配置
**语法**
```
aide init
```
**行为**
1. 创建 `.aide/` 目录
2. 生成默认 `config.toml`
3. 检查并更新 `.gitignore`
**输出**
```
✓ 已创建默认配置 .aide/config.toml
✓ 初始化完成,.aide/ 与默认配置已准备就绪
```
### 5.3 aide flow
**用途**:进度追踪 + Git 自动提交 + 流程校验
#### aide flow start
**语法**
```
aide flow start <环节名> "<总结>"
```
**参数**
| 参数 | 说明 |
|------|------|
| `<环节名>` | task-optimize / flow-design / impl / verify / docs / finish |
| `<总结>` | 本次操作的简要说明 |
**示例**
```bash
aide flow start task-optimize "开始任务准备: 实现用户登录功能"
aide flow start flow-design "开始任务: 实现用户认证模块"
```
#### aide flow next-step
**语法**
```
aide flow next-step "<总结>"
```
**示例**
```bash
aide flow next-step "完成数据库模型设计"
```
#### aide flow back-step
**语法**
```
aide flow back-step "<原因>"
```
**示例**
```bash
aide flow back-step "发现字段命名不符合规范,需要调整"
```
#### aide flow next-part
**语法**
```
aide flow next-part <环节名> "<总结>"
```
**示例**
```bash
aide flow next-part impl "流程设计完成,开始实现"
aide flow next-part verify "实现完成,开始验证"
```
#### aide flow back-part
**语法**
```
aide flow back-part <环节名> "<原因>"
```
**示例**
```bash
aide flow back-part flow-design "实现中发现设计遗漏,需要补充"
```
#### aide flow issue
**语法**
```
aide flow issue "<描述>"
```
**示例**
```bash
aide flow issue "测试覆盖率较低,后续需要补充"
```
#### aide flow error
**语法**
```
aide flow error "<描述>"
```
**示例**
```bash
aide flow error "数据库连接失败,无法继续"
```
#### 环节名称与使用场景
| 环节名 | 说明 | 使用场景 |
|--------|------|----------|
| `task-optimize` | 任务优化 | prep 阶段 |
| `flow-design` | 流程设计 | exec 阶段 |
| `impl` | 迭代实现 | exec 阶段 |
| `verify` | 验证交付 | exec 阶段 |
| `docs` | 文档更新 | exec 阶段 |
| `finish` | 收尾 | exec 阶段 |
#### Git 集成
每次调用 aide flow 命令都会自动执行:
1. `git add .`
2. `git commit -m "[aide] <环节>: <总结>"`
#### 流程校验
aide flow 会自动校验环节跳转是否合理:
- `flow-design``impl`
- `impl``verify`
- `impl``flow-design` ✓(回退)
- `flow-design``finish` ✗(跳过环节)
### 5.4 aide decide
**用途**:通过 Web 界面处理待定项确认
#### aide decide提交数据
**语法**
```
aide decide '<json数据>'
```
**输入格式**:见 [数据格式文档](../../../../aide-program/docs/formats/data.md)
**输出**
```
→ Web 服务已启动
→ 请访问: http://localhost:3721
→ 等待用户完成决策...
```
#### aide decide result
**语法**
```
aide decide result
```
**输出格式**
```json
{
"decisions": [
{"id": 1, "chosen": "option_a"},
{"id": 2, "chosen": "option_b", "note": "用户的补充说明"}
]
}
```
> 注:`note` 字段仅在用户添加备注时出现
### 5.5 aide config
**用途**:配置读写
#### aide config get
**语法**
```
aide config get <key>
```
**参数**
- `<key>`:使用点号分隔的键名,如 `task.source`
**示例**
```bash
aide config get task.source
# 输出: → task.source = 'task-now.md'
aide config get flow.phases
# 输出: → flow.phases = ['task-optimize', 'flow-design', 'impl', 'verify', 'docs', 'finish']
```
#### aide config set
**语法**
```
aide config set <key> <value>
```
**示例**
```bash
aide config set task.source "my-task.md"
# 输出: ✓ 已更新 task.source = 'my-task.md'
```
---
## 六、典型使用场景
### 6.1 init 阶段
```bash
# 检查运行时环境
aide env ensure --runtime
# 初始化配置
aide init
# 检查项目环境
aide env ensure
```
### 6.2 prep 阶段
```bash
# 开始任务准备
aide flow start task-optimize "开始任务准备: 实现用户认证模块"
# 记录进度
aide flow next-step "任务分析完成"
aide flow next-step "任务优化完成,生成待定项"
# 处理待定项
aide decide '{"task":"...", "items":[...]}'
aide decide result
aide flow next-step "用户完成待定项确认"
aide flow next-step "任务准备完成"
```
### 6.3 exec 阶段
```bash
# 进入流程设计
aide flow next-part flow-design "进入流程设计环节"
# 记录设计进度
aide flow next-step "流程图设计完成"
# 进入实现
aide flow next-part impl "流程设计完成,开始实现"
# 记录实现进度
aide flow next-step "完成 User 模型定义"
aide flow next-step "完成密码加密工具"
# 记录问题
aide flow issue "部分边界情况未覆盖测试"
# 进入验证
aide flow next-part verify "实现完成,开始验证"
# 进入文档
aide flow next-part docs "验证通过,更新文档"
# 收尾
aide flow next-part finish "文档更新完成,收尾"
aide flow next-step "任务完成"
```
---
## 七、修改指南
### 7.1 修改子命令接口
1. 更新本文档对应章节
2. 修改执行文件 `../../skills/aide/SKILL.md`
3. 同步更新 [aide-program 对应文档](../../../../aide-program/docs/README.md)
### 7.2 新增子命令
1. 在本文档添加接口规格
2. 在执行文件添加使用说明
3. 更新子命令索引表
4. 在 aide-program 添加对应设计文档
---
## 八、相关文档
- [执行文件](../../skills/aide/SKILL.md)
- [aide-program 导览](../../../../aide-program/docs/README.md)
- [数据格式规范](../../../../aide-program/docs/formats/data.md)
- [plugin 导览](../README.md)