CodeGenie HarmonyOS UI Increment Eval
首页现在同时承担 benchmark 结果页与运营分析看板角色。先看真实耗时,再通过工具、等待和占比分析定位瓶颈任务。
运营分析
以下分析只统计成功匹配 export.json 的任务,真实耗时优先,百分比作为辅助解释。
可分析会话 1 / 1
覆盖率 100.0%,通过率 100.0%。
218.91 s
总 assistant 耗时,用于拆解 LLM、工具、等待等会话内时间分布。
18 calls
先看总量,再看最常被调用的工具和最常加载的 skills。
- grep5 calls
- todowrite4 calls
- glob3 calls
- read2 calls
- edit2 calls
- -
23.40 s
当前样例未发现外部集成 / MCP。
- build_project23.04 s
- grep202 ms
- glob117 ms
- read19 ms
- todowrite17 ms
时间瓶颈
优先点开这些任务,通常最能解释整体变慢的原因。
Remove four shortcuts from home flexible-office grid
433.55 s · 占同类总量 100.0%
等待 143.47 s
查看会话详情Remove four shortcuts from home flexible-office grid
52.26 s · 占同类总量 100.0%
推理 52.26 s · 等待 143.47 s
查看会话详情Remove four shortcuts from home flexible-office grid
23.40 s · 占同类总量 100.0%
build_project (23.04 s)
查看会话详情Remove four shortcuts from home flexible-office grid
143.47 s · 占同类总量 100.0%
占该任务总耗时 65.5%
查看会话详情Remove four shortcuts from home flexible-office grid
343,965 tokens · 占同类总量 100.0%
tools 18
查看会话详情Remove four shortcuts from home flexible-office grid
18 calls · 占同类总量 100.0%
build_project (23.04 s)
查看会话详情By Kind
按任务类型查看 benchmark 结果分布,零数据项会自动弱化显示。
JS Crash 修复
当前报告中没有该类型任务。
项目从 0 到 1
当前报告中没有该类型任务。
UI 增量迭代
通过率 100.0%,共 1 个任务。
安卓迁移鸿蒙
当前报告中没有该类型任务。
Tasks
任务默认折叠;先看真实耗时摘要,再展开查看会话分析与 step 指标。
PASSUI 增量迭代verify
Remove four shortcuts from home flexible-office grid
ui-case-007 · 全部断言通过,任务完成。
LLM 52.26 s · Tools 23.40 s · Wait 143.47 s · tool占比 10.7%
433.55 s54,901 tokens25 tools0 skills
Remove four shortcuts from home flexible-office grid
ui-case-007 · 全部断言通过,任务完成。
任务概览
Task ID: ui-case-007
Session: ses_246c70498ffedtfSGrbwwUwWgn
Workspace: C:\Users\xi\Desktop\bench_mark\codegenie-cli-benchmark\artifacts_codegenie\artifact_ui_20260423152331135\runs\ui-case-007
会话分析
任务总耗时: 433.55 s
LLM: 52.26 s
Tools: 23.40 s
Wait: 143.47 s
Tool Calls: 18
主要工具: build_project (23.04 s)
耗时占比: 100.0%
工具 / 技能
Tools: grep (5), todowrite (4), glob (4), switch_cwd (3), read (2), edit (2), start_app (2), build_project (1), verify_ui (1), write (1)
Skills: -
断言结果
- PASS file exists: Life_Framework_Code_V1/entry/build/default/outputs/default/entry-default-unsigned.hap
- PASS file ".codegenie-eval/ui-verify-result.txt" contains expected text
| Step | Stage | Pass | Time | Tokens | Tools | Skills | Prompt | Failure |
|---|---|---|---|---|---|---|---|---|
| build | build | PASS | 220.17 s | 45,707 | 18 | 0 | 请直接在现有鸿蒙工程里做一次 UI 增量改造,不要新建项目,不要改动与需求无关的文件。 【工程】 - 当前 workspace 内的鸿蒙工程目录为:`Life_Framework_Code_V1` - 应用底部有多个 Tab,其中**第一个"首页" Tab** 内有一块标题为"灵活办公"的快捷入口区域,区域内当前共有 8 个快捷入口:`社保` / `账单` / `居住证` / `淘票票` / `租房` / `出入境` / `购物` / `更多` - 注意区分:底部还有一个"办事" Tab,办事 Tab 里也有一块同名"灵活办公"标题的栅格,但里面是另一组数据(不是上面这 8 项),**本需求只改首页 Tab 的那一块,不要动办事 Tab** 【需求】 - 把首页 Tab 内"灵活办公"模块下的以下 4 个快捷入口删除: 1. `租房` 2. `账单` 3. `淘票票` 4. `更多` - 删除后,剩余 4 个快捷入口必须仍然可见、可点击: - `社保` - `出入境` - `居住证` - `购物` - 删除后该区域整体布局必须仍然合理(例如栅格行/列不出现明显空缺、错位或挤变形),其余无关区域(顶部搜索栏 / 第一行快捷入口 `扫一扫` 等 / 主题区 / 底部 Tab)不能受影响 【硬性约束】 - 仅修改完成需求所必须的源码,不要碰底部"办事" Tab 或其它无关 feature 模块 - 改造完成后,请执行构建(推荐使用 build_project 工具,或直接运行 hvigorw assembleApp) - 必须确保 entry 模块的产物文件 `Life_Framework_Code_V1/entry/build/default/outputs/default/entry-default-unsigned.hap` 成功落盘后再结束本步 - 改造必须保证应用能在 HarmonyOS 模拟器/真机上正常启动到首页(不允许只编译过、运行就崩或卡白屏),下一步会用 start_app + verify_ui 在真机上端到端校验 | - |
| ui_verify | verify | PASS | 211.37 s | 9,194 | 7 | 0 | 你是一个独立的 UI 端到端校验员。本会话与之前任何对话无关,必须在 HarmonyOS 模拟器/真机上**真实运行**改造后的应用,通过 verify_ui 工具驱动 UI 行为完成校验。**严禁**仅靠读取源代码就给出判定。 【工程定位】 - 当前工作目录下的鸿蒙工程目录为:`Life_Framework_Code_V1` - 必要时先 `switch_cwd` 到 `Life_Framework_Code_V1` - 若 `Life_Framework_Code_V1/entry/build/default/outputs/default/entry-default-unsigned.hap` 不存在,可先调用 `build_project` 重新构建 【需求】(必须逐条在真机 UI 上验证) 1. 启动应用后,能正常进入主界面,没有崩溃或长时间白屏 2. 默认或主动切到底部第一个"首页" Tab,能看到一个标题为"灵活办公"的快捷入口区域 3. 在首页"灵活办公"区域中:`租房` / `账单` / `淘票票` / `更多` 这 4 个快捷入口**全部找不到**(已被删除) 4. 在同一"灵活办公"区域中:`社保` / `出入境` / `居住证` / `购物` 这 4 个快捷入口**全部仍然可见** 5. 切到底部其它 Tab(例如"办事")再切回"首页",灵活办公区域状态不变(验证没有改坏渲染、没有引发异常) 【执行流程】(必须按序) 1. 调用 `start_app`,参数 `freshStart=true`,bundleName 留空让工具从工程读取,把应用安装并冷启动到模拟器/真机 2. 调用 `verify_ui` 工具,传入下面 testPlan(自然语言): ``` step 1: 等待应用进入主界面。预期结果:底部能看到多个 Tab,应用没有崩溃或白屏。 step 2: 确保当前位于底部第一个"首页" Tab。如果不在,点击"首页" Tab 切过去,并在首页向下滚动,找到标题为"灵活办公"的快捷入口区域。预期结果:能找到"灵活办公"标题及其下方的快捷入口区域。 step 3: 在首页"灵活办公"区域内查找文案为 "租房" / "账单" / "淘票票" / "更多" 的快捷入口。预期结果:这 4 个文案全部找不到。 step 4: 在同一"灵活办公"区域内查找文案为 "社保" / "出入境" / "居住证" / "购物" 的快捷入口。预期结果:这 4 个文案全部存在且可见。 step 5: 切到底部"办事" Tab,等 1 秒,再切回"首页" Tab,再次定位到"灵活办公"区域。预期结果:第 3、4 步的判定仍然成立(被删除的 4 项仍找不到、保留的 4 项仍可见),应用没有崩溃。 ``` 3. 等待 `verify_ui` 返回结果 4. 如有需要,可调用 `save_ui_screenshot` / `get_ui_verification_log` 收集证据辅助判定 【判定规则】 - `verify_ui` 报告 step 1~5 全部通过 → 整体 PASS - 任一 step 未通过、或 `start_app` / `verify_ui` 工具本身报错 → 整体 FAIL - **不允许仅靠 read 源码做判定**;如果设备/模拟器不可用,也必须把它判为 FAIL 并写明原因,不允许退化成"看代码说 PASS" 【输出协议】(最后一步必须执行,不可省略) - **若之前调用过 `switch_cwd` 切到了工程子目录(如 `UIApp` / `Picture` 等),必须先 `switch_cwd` 回到用例根目录(即工程子目录的父目录),再写下面的结果文件。否则文件会落到工程子目录内,断言查不到,整体会被判 FAIL。** - 用 `write` 工具写文件 `.codegenie-eval/ui-verify-result.txt`(路径相对**用例根目录**,不是相对工程子目录) - 全部 PASS → 文件内容仅一行:`__UI_VERIFY__=PASS` - 任一 FAIL → 首行 `__UI_VERIFY__=FAIL`,第二行起写:哪一个 step 失败、verify_ui 返回的具体原因(截取关键日志即可) | - |
Report generated from benchmark JSON with linked session export visualizations.