mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-10-16 07:16:36 +08:00
113 lines
3.4 KiB
Markdown
113 lines
3.4 KiB
Markdown
# Execution Tracker P0 验收报告
|
||
|
||
> 验收日期:2026-02-20
|
||
> 对应规划:`docs/develop/execution-tracker-technical-plan.md`
|
||
|
||
## 1. 验收范围
|
||
|
||
本报告仅覆盖统一执行追踪专项的 P0 目标,不包含其他产品线功能(如创作画布、Provider 扩展等)。
|
||
|
||
## 2. 结果结论
|
||
|
||
P0 目标整体达成,统一执行追踪已进入可用状态并通过构建与测试验证。
|
||
|
||
## 3. 已完成项(按 P0 目标映射)
|
||
|
||
### 3.1 统一 run 模型与数据层
|
||
|
||
已完成:
|
||
|
||
- 新增 `agent_runs` 表与索引
|
||
- 新增 `AgentRunStatus` 统一状态枚举
|
||
- 新增 `AgentRunDao`(create/finish/get/list)
|
||
- 终态写入具备幂等保护(`finished_at IS NULL`)
|
||
|
||
关键文件:
|
||
|
||
- `src-tauri/crates/core/src/database/schema.rs`
|
||
- `src-tauri/crates/core/src/database/dao/agent_run.rs`
|
||
|
||
### 3.2 统一执行追踪服务
|
||
|
||
已完成:
|
||
|
||
- 新增 `ExecutionTracker`
|
||
- 提供 `start` / `finish_success` / `finish_error` / `finish_with_status`
|
||
- 新增 `with_run` 包装器(减少生命周期重复代码)
|
||
- 支持环境变量灰度开关:`PROXYCAST_EXECUTION_TRACKER_ENABLED`
|
||
|
||
关键文件:
|
||
|
||
- `src-tauri/src/services/execution_tracker_service.rs`
|
||
|
||
### 3.3 三大执行入口接入
|
||
|
||
已完成:
|
||
|
||
- Skill 入口:`execute_skill` 接入追踪
|
||
- Chat 入口:`aster_agent_chat_stream` 接入追踪(已改用 `with_run`)
|
||
- Heartbeat 入口:按任务粒度接入追踪并映射状态
|
||
|
||
关键文件:
|
||
|
||
- `src-tauri/src/commands/skill_exec_cmd.rs`
|
||
- `src-tauri/src/commands/aster_agent_cmd.rs`
|
||
- `src-tauri/src/services/heartbeat_service/mod.rs`
|
||
|
||
### 3.4 查询接口与最小前端观测
|
||
|
||
已完成:
|
||
|
||
- 后端命令:`execution_run_list` / `execution_run_get`
|
||
- 设置页新增“执行轨迹”面板(筛选、详情、自动刷新、复制)
|
||
- 聊天页与心跳页接入统一状态徽标
|
||
|
||
关键文件:
|
||
|
||
- `src-tauri/src/commands/execution_run_cmd.rs`
|
||
- `src/components/settings-v2/system/execution-tracker/index.tsx`
|
||
- `src/components/execution/LatestRunStatusBadge.tsx`
|
||
|
||
### 3.5 旧路径退场规划
|
||
|
||
已完成:
|
||
|
||
- 新增旧路径退场文档,明确阶段、时间窗口与回滚策略
|
||
|
||
关键文件:
|
||
|
||
- `docs/develop/execution-tracker-deprecation-plan.md`
|
||
|
||
## 4. 验证记录
|
||
|
||
已通过:
|
||
|
||
- `cd src-tauri && cargo check`
|
||
- `cd src-tauri && cargo test -p proxycast-core agent_run::tests -- --nocapture`
|
||
- `cd src-tauri && cargo test -p proxycast execution_tracker_service::tests -- --nocapture`
|
||
- `npm run build`
|
||
|
||
## 5. 与 P0 验收标准对照
|
||
|
||
### 标准 1:三个执行入口全部接入 `execution_tracker`
|
||
|
||
结果:通过。
|
||
|
||
### 标准 2:至少一个统一查询接口可用于调试与 UI 展示
|
||
|
||
结果:通过(`execution_run_list/get` + 执行轨迹面板)。
|
||
|
||
### 标准 3:旧路径进入可下线状态(有迁移清单和时间点)
|
||
|
||
结果:通过(退场计划文档已给出阶段和时间窗)。
|
||
|
||
### 标准 4:无新增重复生命周期逻辑
|
||
|
||
结果:通过(统一追踪服务已收敛,`with_run` 已建立标准接入方式;后续入口将按该模式持续统一)。
|
||
|
||
## 6. 风险与后续动作(非 P0 阻塞)
|
||
|
||
1. Heartbeat 历史表仍处于并存阶段,需按退场计划逐步降级为只读。
|
||
2. Skill/Heartbeat 入口可继续向 `with_run` 统一风格收敛,以进一步减少生命周期模板代码。
|
||
3. 建议在后续版本补充跨入口一致性统计报表(用于监控“running 悬挂率”)。
|