用途
本技能用于运行并记录 mcp_flutter 仓库中 flutter_test_app 的 dogfood(自用试用)迭代,为 MCP / intentcall 相关工具的质量打分、追踪与回归提供流程支持。
主要能力与文件
- 评分量规:docs/superpowers/evals/tool_quality_rubric.yaml
- 迭代记录:docs/evidence/dogfood/dogfood_web_eval.yaml
- 总览说明:docs/superpowers/evals/README.md
- 运行脚本:tool/evals/run_dogfood_eval.sh
- Makefile 目标:make dogfood-eval(需在环境变量中提供 WS_URI)、make dogfood-eval-static
通过阈值
加权总分 ≥80/100;达到 ≥90 或接受 pass_with_warnings 才可发布。
评分维度与权重:
- connectivity:20
- schema_validity:10
- handler_correctness:20
- capture_quality:10
- visual_fidelity:10
- webmcp_parity:10
- intentcall_authoring:10
- docs_truth:10
迭代工作流
任务进度清单:
- 启动应用(web-showcase 或 make showcase)
- 从日志中获取新鲜的 WS_URI(热重载后不要使用过期值)
- 运行测试组(battery)
- 在记录文件中记录分数与警告
- 若某模式重复出现 ≥2 次,则将其提升为通用模式
Web 迭代命令示例:
make web-showcase
export WS_URI="$(grep -Eo 'ws://127\.0\.0\.1:[0-9]+/[A-Za-z0-9_=-]+/ws' .showcase/web_app.log | tail -1)"
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI" --merge --skip-visual # yq 或 dart 回退
# 或不用 merge:
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI"
该脚本会自动运行:静态门禁(static gates)+ validate-runtime + webmcp 校验。
仅静态(用于 CI / PR):
make dogfood-eval-static
Makefile 目标:
make dogfood-eval # 需要在环境变量中提供 WS_URI
make dogfood-eval-static
产物
- 每次运行:.showcase/eval_runs/<timestamp>/eval_run.yaml
- 快照:.showcase/eval_run_<timestamp>.yaml
- 使用 --merge 时:更新 docs/evidence/dogfood/dogfood_web_eval.yaml(通过 yq 或 dart run mcp_server_dart/tool/merge_dogfood_tracker.dart)
判定结果
- pass:分数 ≥80,无阻塞性警告
- pass_with_warnings:分数 ≥80,例如 visual_capture_truth_mode
- fail:分数 <80
- blocked_no_runtime:仅使用 --skip-runtime 时
Exec 与 MCP 名称
测试 invoke 时需在迭代笔记中记录:
- exec:使用裸名称(get_recent_logs、dogfood_ping)——同时接受 fmt_* 别名
- MCP:使用 fmt_ 前缀(fmt_get_recent_logs、fmt_client_tool + listing name)
连接方式:使用全局 --vm-service-uri(而非 exec 的 --target)
dart run mcp_server_dart/bin/flutter_mcp_toolkit.dart \
--vm-service-uri "$WS_URI" exec --name get_recent_logs --args '{}'
Chrome 测试组注意事项
- 除非 HARNESS_ROOT 指向 flutter_harness,否则跳过重型视觉测试框架:添加 --skip-visual
- validate-runtime --save-images 在 Chrome 上可能挂起超过 5 分钟;除非设置 DOGFOOD_SAVE_IMAGES=1,否则测试组会省略该步骤
CI(分支)
- .github/workflows/intentcall_eval.yml —— PR:dogfood-eval-static;每周/main:intentcall 包测试 + 静态检查
- 完整的 Chrome 运行时 dogfood 保持在本地运行,直至无头 WebMCP 具备成本效益
每次迭代之后
- 在记录文件中对比 dimension_scores 与上一次迭代的差异
- 当警告或错误重复出现时,添加到 recurring_warnings / recurring_errors
- 用可操作的文档/代码增量更新 fix_recommendations
- 若无全新的测试组运行,不要把记录 YAML 当作门禁
相关技能
- flutter-mcp-toolkit-maintain-web —— WebMCP 启动 + 校验
- flutter-mcp-toolkit-maintain-macos —— macOS showcase
- flutter-mcp-toolkit-repo-maintainer —— 编辑本技能后执行 make sync-skills
限制
资料中未提供价格、收费、平台支持范围或自动化程度的完整说明,相关细节暂未提供。