[aide] 任务: test

This commit is contained in:
2025-12-17 06:07:50 +08:00
parent 8d4cae6185
commit 346ec90386
23 changed files with 81 additions and 801 deletions

View File

@@ -1,5 +1,5 @@
{
"next_number": 7,
"next_number": 8,
"branches": [
{
"number": 1,
@@ -68,6 +68,16 @@
"status": "finished",
"end_commit": "d60f0bae2d783625d628aabf91fa74f631053a7c",
"finished_at": "2025-12-17T06:05:19+08:00"
},
{
"number": 7,
"branch_name": "aide/007",
"source_branch": "master",
"start_commit": "8d4cae61856920d62eb9009ab291ad032db10ea6",
"task_id": "2025-12-17T06-07-01",
"task_summary": "测试",
"started_at": "2025-12-17T06:07:01+08:00",
"status": "active"
}
]
}

View File

@@ -1,5 +1,14 @@
# Git 分支概况
## aide/007
- **任务**: 测试
- **任务ID**: 2025-12-17T06-07-01
- **源分支**: master
- **起始提交**: 8d4cae6
- **状态**: active
- **时间**: 2025-12-17 06:07
## aide/006
- **任务**: 最终测试:验证合并功能

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

View File

@@ -1,106 +0,0 @@
@startuml docs-command-logic
title /aide:docs 命令执行逻辑(改进版)
start
:触发 aide skill;
:获取文档配置;
note right: docs.path, docs.block_plan_path
if (文档目录存在?) then (是)
:进入【更新流程】;
else (否)
:进入【创建流程】;
endif
partition "创建流程" {
:=== 阶段 1: 完整目录扫描 ===;
:读取 .gitignore 规则;
:递归遍历项目所有目录;
note right
包括空目录
记录每个文件/目录
标记 [ignored] 项
end note
:生成完整目录树结构;
note right: 类似 tree 命令输出
:统计文件信息;
note right
文件数量、类型
代码行数、大小
end note
:=== 阶段 2: 初步区块划分 ===;
:按目录结构划分区块;
:按功能模块聚合;
:生成区块计划文档;
:=== 阶段 3: 区块验证 ===;
:浅层探索验证区块划分;
:调整区块边界(如需要);
:=== 阶段 4: 完全深度探索 ===;
while (还有未处理区块?) is (是)
:选择下一个区块;
partition "处理单个区块" {
:【完全阅读】区块内所有文件;
note right
每个文件从头到尾
不遗漏任何一行
end note
if (是二进制文件?) then (是)
:根据上下文推断概括;
note right
文件名、大小
关联文件信息
end note
else (否)
:分析文件内容;
:提取关键信息;
endif
:生成文件概括;
:生成区块内完整 tree 结构;
:生成子区块文档;
}
:更新区块计划进度;
endwhile (否)
:=== 阶段 5: 生成总导览 ===;
:整合所有区块信息;
:生成简化版目录结构;
note right: 总导览用前两层结构
:生成总导览文档;
}
partition "更新流程" {
:读取区块计划;
while (还有区块?) is (是)
:对比文档与代码;
if (有变化?) then (是)
:【完全重读】区块内文件;
:更新区块文档;
:更新区块内 tree 结构;
endif
endwhile (否)
:更新总导览(如需要);
:更新区块计划时间戳;
}
:汇报完成情况;
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -1,51 +0,0 @@
@startuml docs-improve-task
title 改进 /aide:docs 命令 - 任务执行流程
start
partition "阶段 1: 任务准备" {
:分析问题根源;
note right: 对比用户期望与当前实现
:识别核心差距点;
:确认待定项\n目录结构展示模式;
:生成任务细则;
}
partition "阶段 2: 流程设计" {
:设计执行计划;
:创建流程图;
}
partition "阶段 3: 迭代实现" {
:阅读当前 docs.md;
:识别需要修改的部分;
:修改点 1:\n添加"完整目录结构"要求;
:修改点 2:\n强化"完全深度探索"要求;
:修改点 3:\n添加 .gitignore 处理规范;
:修改点 4:\n添加二进制文件处理规范;
:修改点 5:\n更新文档格式规范;
}
partition "阶段 4: 验证交付" {
:对照任务细则验证修改;
:检查文档格式完整性;
}
partition "阶段 5: 文档更新" {
:同步更新相关文档;
note right
可能涉及:
- docs/commands/docs.md
- project-docs/
- CHANGELOG.md
end note
}
partition "阶段 6: 收尾" {
:清理临时文件;
:汇报完成情况;
}
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -1,76 +0,0 @@
@startuml git-branch-finish-logic
!theme plain
title 程序逻辑流图aide flow finish 安全合并
start
:FlowTracker.next_part("finish", summary);
partition "分支合并准备" {
:从 FlowStatus 获取分支信息;
note right
- source_branch
- start_commit
- task_branch (当前分支)
end note
:记录 end_commit = rev_parse_head();
}
partition "检测源分支变更" {
:GitIntegration.has_commits_since(start_commit, source_branch);
if (源分支有新提交?) then (是)
partition "创建临时分支处理" {
:从 start_commit 检出临时分支;
:temp_branch = task_branch + "-merge";
:git checkout -b temp_branch start_commit;
:在临时分支执行 squash 合并;
:git merge --squash task_branch;
:git commit -m "任务压缩提交";
:BranchManager.record_branch_finish();
note right
status: "merged-to-temp"
temp_branch: temp_branch
end note
:输出警告;
note right
"⚠ 源分支有新提交"
"已在临时分支完成合并"
"请手动处理后续操作"
end note
}
else (否)
partition "正常合并流程" {
:切回源分支;
:git checkout source_branch;
:软重置到起始提交;
:git reset --soft start_commit;
:创建压缩提交;
:git add .;
:git commit -m "[aide] 任务: {summary}";
:BranchManager.record_branch_finish();
note right
status: "finished"
end_commit: 新提交哈希
end note
}
endif
}
partition "更新分支概况" {
:BranchManager.save_branches();
note right: 同时生成 JSON 和 MD
}
:继续原有 finish 逻辑;
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -1,60 +0,0 @@
@startuml git-branch-logic
!theme plain
title 程序逻辑流图aide flow start 分支创建
start
:FlowTracker.start(phase, summary);
partition "Git 状态检查" {
:GitIntegration.is_clean();
if (工作目录干净?) then (否)
:git add .;
:git commit -m "保存未提交的变更";
else (是)
endif
:GitIntegration.has_commits();
if (有提交历史?) then (否)
:创建 .gitkeep;
:git commit -m "初始提交";
else (是)
endif
}
partition "分支创建" {
:记录 source_branch = get_current_branch();
:记录 start_commit = rev_parse_head();
:BranchManager.get_next_branch_number();
note right: 从 branches.json 读取
:branch_name = "aide/" + 编号;
:GitIntegration.create_branch(branch_name);
:GitIntegration.checkout(branch_name);
:BranchManager.record_branch_start();
note right
记录到 branches.json:
- branch_name
- source_branch
- start_commit
- task_id
- task_summary
- started_at
- status: "active"
end note
:BranchManager.save_branches();
note right: 同时生成 JSON 和 MD
}
:继续原有 start 逻辑;
:保存 FlowStatus;
:git add . && commit;
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -1,64 +0,0 @@
@startuml git-branch-management-task
!theme plain
title 任务执行流程图Git 分支管理功能实现
start
partition "子计划 1: Git 分支管理核心功能" {
:扩展 GitIntegration 类;
note right
新增方法:
- get_current_branch()
- is_clean()
- has_commits()
- create_branch()
- checkout()
- has_commits_since()
- reset_soft()
end note
:创建 BranchManager 类;
note right
branch.py 新文件
管理分支编号和概况文档
end note
:修改 FlowTracker.start();
note right
集成分支创建逻辑
end note
:修改 FlowTracker (finish 逻辑);
note right
集成安全合并策略
end note
:测试验证子计划 1;
}
partition "子计划 2: 流程更新" {
:更新 command/run.md 续接逻辑;
note right
智能判断细则符合度
end note
:更新确认机制;
note right
待定项: aide decide
细则: AskUserQuestion
end note
:测试验证子计划 2;
}
partition "子计划 3: 文档更新" {
:更新 aide skill;
:更新 flow 命令文档;
:更新 CHANGELOG;
:测试验证子计划 3;
}
:完成验证;
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

View File

@@ -1,166 +0,0 @@
@startuml install-linux-logic
title /aide:install-linux 命令执行逻辑
start
:检测操作系统;
if (是 Linux?) then (是)
:继续执行;
else (否)
:提示用户使用 /aide:install-win;
stop
endif
partition "系统识别" {
:检测 Linux 发行版;
note right
/etc/os-release
lsb_release -a
end note
switch (发行版类型)
case (Debian/Ubuntu)
:包管理器 = apt;
case (RHEL/Fedora)
:包管理器 = dnf;
case (Arch)
:包管理器 = pacman;
case (其他)
:包管理器 = 手动;
endswitch
}
partition "环境检测" {
:检测 uv 是否可用;
note right: uv --version
:检测 Python 是否可用;
note right: python3 --version 或 uv python list
:检测 Java 是否可用;
note right: java -version
:汇总检测结果;
}
if (所有工具都已安装?) then (是)
:显示环境状态;
:跳转到 aide PATH 配置;
else (否)
:生成缺失工具列表;
endif
partition "安装模式选择" {
:询问用户选择安装模式;
switch (用户选择)
case (模式 A: 自动安装)
:进入自动安装流程;
case (模式 B: 手动指南)
:进入手动指南流程;
endswitch
}
partition "模式 A: 自动安装" {
:=== 生成安装报告 ===;
:列出将要执行的操作;
:说明安装位置;
:说明可能的副作用;
:说明潜在风险;
:请求用户确认;
if (用户确认?) then (是)
:=== 执行安装 ===;
if (需要安装 uv?) then (是)
:执行 uv 安装;
note right
curl -LsSf https://astral.sh/uv/install.sh | sh
end note
:重新加载 shell 环境;
:验证 uv 安装;
endif
if (需要安装 Python?) then (是)
:通过 uv 安装 Python;
note right: uv python install 3.11
:验证 Python 安装;
endif
if (需要安装 Java?) then (是)
switch (包管理器)
case (apt)
:sudo apt install openjdk-17-jre;
case (dnf)
:sudo dnf install java-17-openjdk-headless;
case (pacman)
:sudo pacman -S jre17-openjdk-headless;
case (手动)
:提供 Adoptium 下载链接;
:指导手动安装;
endswitch
:验证 Java 安装;
endif
:汇报安装结果;
else (否)
:取消安装;
stop
endif
}
partition "模式 B: 手动指南" {
:=== 生成操作指南 ===;
:生成 Markdown 文档;
note right
包含:
- 各发行版的安装命令
- 官方下载链接
- PATH 配置方法
- 常见问题解答
end note
:生成 Shell 脚本;
note right
aide-install.sh
包含完整注释
自动检测发行版
end note
:保存到当前工作目录;
:告知用户文件位置;
}
partition "aide PATH 配置" {
:检测 aide-program 位置;
if (aide 已在 PATH?) then (是)
:显示当前配置;
else (否)
:检测 shell 类型;
note right: bash, zsh, fish
:生成 PATH 配置命令;
note right
添加到 ~/.bashrc 或 ~/.zshrc
export PATH="$PATH:/path/to/aide-program/bin"
end note
:指导用户执行配置;
endif
}
:=== 最终验证 ===;
:运行 aide env ensure --runtime;
if (验证通过?) then (是)
:显示成功信息;
else (否)
:显示问题诊断;
:提供解决建议;
endif
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

View File

@@ -1,140 +0,0 @@
@startuml install-win-logic
title /aide:install-win 命令执行逻辑
start
:检测操作系统;
if (是 Windows?) then (是)
:继续执行;
else (否)
:提示用户使用 /aide:install-linux;
stop
endif
partition "环境检测" {
:检测 uv 是否可用;
note right: uv --version
:检测 Python 是否可用;
note right: python --version 或 uv python list
:检测 Java 是否可用;
note right: java -version
:汇总检测结果;
}
if (所有工具都已安装?) then (是)
:显示环境状态;
:跳转到 aide PATH 配置;
else (否)
:生成缺失工具列表;
endif
partition "安装模式选择" {
:询问用户选择安装模式;
switch (用户选择)
case (模式 A: 自动安装)
:进入自动安装流程;
case (模式 B: 手动指南)
:进入手动指南流程;
endswitch
}
partition "模式 A: 自动安装" {
:=== 生成安装报告 ===;
:列出将要执行的操作;
:说明安装位置;
:说明可能的副作用;
:说明潜在风险;
:请求用户确认;
if (用户确认?) then (是)
:=== 执行安装 ===;
if (需要安装 uv?) then (是)
:执行 uv 安装;
note right
irm https://astral.sh/uv/install.ps1 | iex
end note
:验证 uv 安装;
endif
if (需要安装 Python?) then (是)
:通过 uv 安装 Python;
note right: uv python install 3.11
:验证 Python 安装;
endif
if (需要安装 Java?) then (是)
:检测可用的包管理器;
note right: winget, scoop, chocolatey
if (有包管理器?) then (是)
:使用包管理器安装 JRE;
else (否)
:提供 Adoptium 下载链接;
:指导手动安装;
endif
:验证 Java 安装;
endif
:汇报安装结果;
else (否)
:取消安装;
stop
endif
}
partition "模式 B: 手动指南" {
:=== 生成操作指南 ===;
:生成 Markdown 文档;
note right
包含:
- 每个工具的安装步骤
- 官方下载链接
- 环境变量配置
- 常见问题解答
end note
:生成 PowerShell 脚本;
note right
aide-install.ps1
包含完整注释
end note
:保存到当前工作目录;
:告知用户文件位置;
}
partition "aide PATH 配置" {
:检测 aide-program 位置;
if (aide 已在 PATH?) then (是)
:显示当前配置;
else (否)
:生成 PATH 配置命令;
note right
添加到用户环境变量
或修改 $PROFILE
end note
:指导用户执行配置;
endif
}
:=== 最终验证 ===;
:运行 aide env ensure --runtime;
if (验证通过?) then (是)
:显示成功信息;
else (否)
:显示问题诊断;
:提供解决建议;
endif
stop
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -1,116 +0,0 @@
@startuml offline-installer-logic
title 离线安装程序执行逻辑
start
:读取程序所在目录;
partition "资源检查" {
:读取 resources.json;
note right
包含:
- uv 安装包路径
- Java JRE 安装包路径
- 校验和信息
end note
:检查必需资源文件;
if (所有资源存在?) then (是)
:验证文件校验和;
if (校验通过?) then (是)
:继续安装;
else (否)
:报告损坏的文件;
:提示重新下载;
stop
endif
else (否)
:列出缺失的资源;
:显示下载链接;
stop
endif
}
partition "安装模式" {
if (有 --silent 参数?) then (是)
:静默安装模式;
:使用默认配置;
else (否)
:交互式安装;
:显示安装选项;
:等待用户确认;
endif
}
partition "执行安装" {
:=== 安装 uv ===;
if (Windows?) then (是)
:解压 uv Windows 包;
:添加到用户 PATH;
else (Linux)
:解压 uv Linux 包;
:安装到 ~/.local/bin;
:更新 shell 配置;
endif
:验证 uv 可用;
:=== 安装 Python ===;
:运行 uv python install;
note right: 使用 uv 管理 Python
:验证 Python 可用;
:=== 安装 Java JRE ===;
if (Windows?) then (是)
if (MSI 安装包?) then (是)
:运行 MSI 静默安装;
else (ZIP 包)
:解压到指定目录;
:配置 JAVA_HOME;
:添加到 PATH;
endif
else (Linux)
:解压 tarball 到 /opt/java;
:创建符号链接;
:更新 alternatives;
endif
:验证 Java 可用;
}
partition "aide 配置" {
:检测 aide-program 位置;
:添加 aide 到 PATH;
if (Windows?) then (是)
:更新用户环境变量;
else (Linux)
:追加到 shell 配置文件;
endif
}
:=== 安装验证 ===;
:显示安装结果;
note right
- uv 版本
- Python 版本
- Java 版本
- aide 路径
end note
:运行 aide env ensure --runtime;
if (全部通过?) then (是)
:安装成功;
:显示后续使用提示;
else (否)
:显示失败项;
:提供故障排除建议;
endif
stop
@enduml

View File

@@ -1,20 +0,0 @@
@startuml README 重写流程
title README.md 重写任务流程
start
:阅读项目文档\n理解体系架构;
:将 README.md 移至 docs/\n重命名为 project-details.md;
:编写新 README.md;
partition "README.md 内容" {
:项目简介;
:快速上手指南;
:插件安装说明;
:aide 程序安装使用;
}
:验证文档完整性;
stop
@enduml

59
.aide/flow-status.json Normal file
View File

@@ -0,0 +1,59 @@
{
"task_id": "2025-12-17T06-07-01",
"current_phase": "finish",
"current_step": 6,
"started_at": "2025-12-17T06:07:01+08:00",
"history": [
{
"timestamp": "2025-12-17T06:07:01+08:00",
"action": "start",
"phase": "task-optimize",
"step": 1,
"summary": "测试",
"git_commit": "229551c161adbd23efcafefe6fb2a0805d768a47"
},
{
"timestamp": "2025-12-17T06:07:05+08:00",
"action": "next-part",
"phase": "flow-design",
"step": 2,
"summary": "test",
"git_commit": "5b5354f17c7bded0270fe741ceeacb56f67665d7"
},
{
"timestamp": "2025-12-17T06:07:29+08:00",
"action": "next-part",
"phase": "impl",
"step": 3,
"summary": "test",
"git_commit": "6a86b6081ea31efe18aae1591a23bb005bff23ac"
},
{
"timestamp": "2025-12-17T06:07:32+08:00",
"action": "next-part",
"phase": "verify",
"step": 4,
"summary": "test",
"git_commit": "29aa05955eca0133549e121692f696b8ef34af30"
},
{
"timestamp": "2025-12-17T06:07:39+08:00",
"action": "next-part",
"phase": "docs",
"step": 5,
"summary": "test",
"git_commit": "d8d300c938d3c1a16bcc69aa7230e4a47c175ee3"
},
{
"timestamp": "2025-12-17T06:07:50+08:00",
"action": "next-part",
"phase": "finish",
"step": 6,
"summary": "test",
"git_commit": "0117ba3861e06dac61e229a12d365115311f5171"
}
],
"source_branch": "master",
"start_commit": "8d4cae61856920d62eb9009ab291ad032db10ea6",
"task_branch": "aide/007"
}

View File

@@ -1 +1 @@
43209
43517

View File

@@ -6,6 +6,7 @@
### 修复
**aide flow 分支切换问题修复**
- 修复 finish 阶段分支切换时 lock 文件冲突的问题
- 修复 finish 阶段状态文件未提交导致切换失败的问题