Files
agent-aide/aide-marketplace/aide-plugin/docs/skill/aide.md
2025-12-15 02:59:03 +08:00

462 lines
9.7 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.

# 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 list
**用途**:列出所有可用的环境检测模块
**语法**
```
aide env list
```
**输出**
```
可用模块:
模块 描述 能力 需要配置
────────────────────────────────────────────────────────────
python Python 解释器版本 check 否
uv uv 包管理器 check 否
venv Python 虚拟环境 check, ensure 是 [path]
requirements Python 依赖管理 check, ensure 是 [path]
当前启用: python, uv, venv, requirements
```
### 5.2 aide env ensure
**用途**:检测并修复开发环境
**语法**
```
aide env ensure [--runtime] [--modules M1,M2] [--all] [-v]
```
**参数**
| 参数 | 说明 |
|------|------|
| `--runtime` | 仅检查 aide 运行时环境python + uv不依赖配置文件 |
| `--modules M1,M2` | 指定要检测的模块(逗号分隔) |
| `--all` | 检测所有已启用模块,仅检查不修复 |
| `-v, --verbose` | 显示详细配置信息(工作目录、配置路径、模块配置等) |
**输出**
```
# 成功
✓ python: 3.14.2 (>=3.11)
✓ uv: uv 0.9.16
✓ venv: .venv
✓ requirements: requirements.txt
✓ 环境就绪 (python:3.14.2, uv:uv 0.9.16, venv:.venv, requirements:requirements.txt)
# 自动修复
✓ python: 3.14.2 (>=3.11)
✓ uv: uv 0.9.16
→ venv: 虚拟环境不存在: .venv尝试修复...
✓ venv: 已创建
✓ 环境就绪 (...)
# 失败(启用模块缺少配置)
✓ python: 3.14.2 (>=3.11)
✓ uv: uv 0.9.16
✗ venv: 已启用但缺少配置项: path
# --verbose 输出(供人工确认)
============================================================
环境检测详细信息
============================================================
工作目录: /home/user/myproject
配置文件: /home/user/myproject/.aide/config.toml
配置存在: 是
启用模块: python, uv, venv, requirements
目标模块: python, uv, venv, requirements
[venv] 配置:
path: .venv
path (绝对): /home/user/myproject/.venv
path (存在): 是
...
```
### 5.3 aide init
**用途**:初始化 .aide 目录和默认配置
**语法**
```
aide init
```
**行为**
1. 创建 `.aide/` 目录
2. 生成默认 `config.toml`
3. 检查并更新 `.gitignore`
**输出**
```
✓ 已创建默认配置 .aide/config.toml
✓ 初始化完成,.aide/ 与默认配置已准备就绪
```
### 5.4 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.5 aide decide
**用途**:通过 Web 界面处理待定项确认
#### aide decide submit提交数据
**语法**
```
aide decide submit '<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.6 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 submit '{"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)