AceFlow-PATEOAS CLI 工具是基于 AceFlow 流程框架与 PATEOAS 状态管理方法论的命令行接口,提供流程导航、状态管理、记忆操作等核心功能,支持完整流程、快速流程、变更流程和紧急流程四种工作模式。
# 克隆项目仓库后执行
cd aceflow-project
pip install -r requirements.txt
# 检查 Python 版本
python --version # 应显示 3.6+
# 运行环境检查脚本
python check_env.py
# 成功输出:✅ 环境检查通过
# 创建新项目目录
mkdir aceflow-demo && cd aceflow-demo
# 初始化 AceFlow 项目结构
python aceflow_cli.py init
初始化成功后将创建以下目录结构:
.aceflow/
├── config/ # 配置文件目录
├── memory_pool/ # 记忆池存储
├── scripts/ # 核心脚本
├── templates/ # 流程模板
└── current_state.json # 当前状态文件
# 分析任务描述并推荐流程分支
python aceflow_cli.py determine-workflow "开发用户注册功能模块"
输出示例:
推荐流程分支: 完整流程
阶段路径: S1 → S2 → S3 → S4 → S5 → S6 → S7 → S8
决策依据:
- 任务包含"开发"关键词,判定为新功能开发
- 未检测到"紧急"、"修复"等特殊标识
- 任务复杂度评估: 中 (6/10),适合完整流程
# 更新 S1 阶段进度至 100%(完成)
python aceflow_cli.py update-status S1 100
python aceflow_cli.py get-suggestions
输出示例:
导航建议:
- [high] 阶段 S1 已完成,准备进入 S2
功能:根据任务描述自动分析并推荐流程分支
用法:python aceflow_cli.py determine-workflow "<任务描述>"
示例:
python aceflow_cli.py determine-workflow "修复登录页面验证码不显示问题"
输出:推荐流程分支及阶段路径
功能:手动设置流程分支
用法:python aceflow_cli.py set-workflow <流程类型>
流程类型:full_workflow
(完整流程)、quick_workflow
(快速流程)、change_workflow
(变更流程)、emergency_workflow
(紧急流程)
示例:
python aceflow_cli.py set-workflow quick_workflow
功能:加载指定阶段的模板文件
用法:python aceflow_cli.py load-template <阶段ID> [输出路径]
示例:
python aceflow_cli.py load-template S2 ./s2_tasks.md
功能:更新指定阶段的进度
用法:python aceflow_cli.py update-status <阶段ID> <进度百分比>
示例:
python aceflow_cli.py update-status S4 75
功能:查询当前项目状态
用法:python aceflow_cli.py get-status [阶段ID]
示例:
# 查询所有阶段状态
python aceflow_cli.py get-status
# 查询特定阶段状态
python aceflow_cli.py get-status S3
功能:记录异常状态
用法:python aceflow_cli.py record-abnormality <阶段ID> "<异常描述>" [--severity 严重度]
严重度:high
(高)、medium
(中,默认)、low
(低)
示例:
python aceflow_cli.py record-abnormality S4 "用户注册接口返回500错误" --severity high
功能:标记异常状态为已解决
用法:python aceflow_cli.py resolve-abnormality <异常ID>
示例:
python aceflow_cli.py resolve-abnormality ABN-202507101530
功能:获取AI导航建议
用法:python aceflow_cli.py get-suggestions
示例:
python aceflow_cli.py get-suggestions
功能:解释最近一次流程决策依据
用法:python aceflow_cli.py explain-decision
示例:
python aceflow_cli.py explain-decision
功能:手动存储记忆片段
用法:python aceflow_cli.py store-memory <记忆类型> "<内容>" [--metadata key=value]
记忆类型:REQ
(需求)、CON
(约束)、TASK
(任务)、CODE
(代码)、TEST
(测试)、DEFECT
(缺陷)、FDBK
(反馈)
示例:
python aceflow_cli.py store-memory REQ "用户要求支持手机号登录" --metadata source=PRD author=product_manager
功能:检索记忆片段
用法:python aceflow_cli.py retrieve-memory [--type 记忆类型] [--keywords 关键词]
示例:
# 检索所有需求记忆
python aceflow_cli.py retrieve-memory --type REQ
# 检索包含"登录"关键词的记忆
python aceflow_cli.py retrieve-memory --keywords 登录
功能:验证配置文件完整性
用法:python aceflow_cli.py validate-config [--check-templates]
示例:
# 基本配置验证
python aceflow_cli.py validate-config
# 包含模板文件验证
python aceflow_cli.py validate-config --check-templates
功能:导出当前状态数据
用法:python aceflow_cli.py export-state [输出文件路径]
示例:
python aceflow_cli.py export-state ./current_state_backup.json
功能:导入状态数据
用法:python aceflow_cli.py import-state <状态文件路径>
示例:
python aceflow_cli.py import-state ./current_state_backup.json
# 1. 初始化项目
python aceflow_cli.py init
# 2. 确定流程分支
python aceflow_cli.py determine-workflow "开发用户注册功能"
# 3. 加载 S1 模板并编辑
python aceflow_cli.py load-template S1 ./s1_user_story.md
# 编辑 s1_user_story.md 文件...
# 4. 更新 S1 进度
python aceflow_cli.py update-status S1 100
# 5. 获取导航建议(自动进入 S2)
python aceflow_cli.py get-suggestions
# 6. 继续 S2 任务拆分...
python aceflow_cli.py load-template S2 ./s2_tasks.md
# 1. 初始化项目(如已初始化可跳过)
python aceflow_cli.py init
# 2. 设置为快速流程
python aceflow_cli.py set-workflow quick_workflow
# 3. 加载 S2 模板(直接任务拆分)
python aceflow_cli.py load-template S2 ./s2_tasks.md
# 4. 更新开发进度
python aceflow_cli.py update-status S2 100
python aceflow_cli.py update-status S4 100 # 直接进入开发阶段
# 5. 记录测试结果
python aceflow_cli.py update-status S5 100
# 6. 完成进度汇总
python aceflow_cli.py update-status S8 100
# 1. 记录需求变更记忆
python aceflow_cli.py store-memory FDBK "用户要求增加第三方登录功能"
# 2. 设置为变更流程
python aceflow_cli.py set-workflow change_workflow
# 3. 更新需求和任务
python aceflow_cli.py load-template S1 ./s1_user_story.md # 更新用户故事
python aceflow_cli.py load-template S2 ./s2_tasks.md # 更新任务拆分
python aceflow_cli.py load-template S3 ./s3_testcases.md # 更新测试用例
# 4. 执行开发和测试
python aceflow_cli.py update-status S1 100
python aceflow_cli.py update-status S2 100
python aceflow_cli.py update-status S3 100
python aceflow_cli.py update-status S4 100
错误信息:ImportError: attempted relative import beyond top-level package
解决方案:
# 1. 检查 __init__.py 文件是否存在
ls -la .aceflow/scripts/{__,core/__,cli/__,utils/__}init__.py
# 2. 确保 aceflow_cli.py 路径配置正确
cat aceflow_cli.py | grep sys.path.append
错误信息:JSONDecodeError: Expecting value: line 1 column 1 (char 0)
解决方案:
# 1. 尝试恢复备份
cp .aceflow/current_state.json.bak .aceflow/current_state.json
# 2. 如无备份,重新初始化状态
python aceflow_cli.py init --reset-state
错误信息:error: unrecognized arguments: new-command
解决方案:
# 1. 检查命令拼写
python aceflow_cli.py --help # 查看所有可用命令
# 2. 更新到最新版本
git pull origin main
错误信息:FileNotFoundError: [Errno 2] No such file or directory: '.aceflow/templates/stage_templates/s1_user_story.md'
解决方案:
# 1. 验证模板路径配置
cat .vscode/aceflow_agent.json | grep templates
# 2. 重新安装模板文件
python aceflow_cli.py install-templates
编辑 .aceflow/config/dynamic_thresholds.json
文件:
{
"stage_specific": {
"S4": {
"unit_test_pass_rate": {
"default": 90,
"critical_task": 95,
"minor_task": 85
}
}
}
}
编辑 .vscode/aceflow_agent.json
文件:
{
"workflow_config": {
"ai_trust_level": "L2", // L1:仅建议, L2:低风险自动执行, L3:全流程自动决策
"success_threshold": 0.85
}
}
编辑 .aceflow/config/workflow_rules.json
文件,添加自定义流程:
{
"workflow_rules": {
"research_workflow": ["S1", "S3", "S7", "S8"] // 调研类流程
},
"workflow_conditions": {
"research_workflow": {
"keywords": ["调研", "研究", "探索"],
"complexity_threshold": 3
}
}
}
阶段 ID | 名称 | 核心任务 |
---|---|---|
S1 | 用户故事细化 | 将需求转化为用户故事 |
S2 | 任务拆分 | 将用户故事拆分为开发任务 |
S3 | 测试用例设计 | 设计测试用例 |
S4 | 功能实现 | 代码开发与单元测试 |
S5 | 测试报告 | 执行测试并生成报告 |
S6 | 代码评审 | 代码质量与规范评审 |
S7 | 演示与反馈 | 功能演示与反馈收集 |
S8 | 进度汇总 | 项目进度总结与规划 |
记忆类型 | 代码 | 描述 | 示例 |
---|---|---|---|
需求记忆 | REQ | 记录用户需求和期望 | 用户需要支持手机号登录 |
约束记忆 | CON | 技术约束和限制条件 | 必须兼容IE11浏览器 |
任务记忆 | TASK | 任务相关信息 | 登录模块需在5月前完成 |
代码记忆 | CODE | 代码实现细节 | 使用JWT进行身份验证 |
测试记忆 | TEST | 测试相关信息 | 测试用例TC-001验证登录功能 |
缺陷记忆 | DEFECT | 缺陷和问题记录 | 登录接口在密码含特殊字符时失败 |
反馈记忆 | FDBK | 用户反馈信息 | 用户认为注册流程太复杂 |
任务 | 命令 |
---|---|
初始化项目 | python aceflow_cli.py init |
选择流程分支 | python aceflow_cli.py determine-workflow "任务描述" |
更新阶段进度 | python aceflow_cli.py update-status Sx 进度 |
获取导航建议 | python aceflow_cli.py get-suggestions |
记录异常 | python aceflow_cli.py record-abnormality Sx "描述" |
检索记忆 | python aceflow_cli.py retrieve-memory --keywords 关键词 |
验证配置 | python aceflow_cli.py validate-config |