用途:在构建或迭代网页游戏(HTML/JS)时,提供可靠的开发与测试循环:小步实现改动、运行 Playwright 脚本、观察截图与文本状态、再调整。
主要能力与工作流:每次迭代按“实现→操作→暂停→观察→调整”进行。选择单一目标,做最小改动;确保集成点:提供单一 canvas 与 window.render_game_to_text,供测试循环读取状态;添加 window.advanceTime(ms),优先用确定性步进钩子让 Playwright 可靠推进帧。
进度管理:初始化 progress.md;若已存在先读取,确认顶部记录原始提示(前缀 Original prompt:),并留意上一智能体留下的 TODO 与建议;不要覆盖原始提示,每次有意义的工作后更新,结束前留下 TODO 与建议。
测试用法:确认 playwright 可用(本地依赖或全局安装,不确定时先查 npx)。每次有意义改动后必须运行 $WEB_GAME_CLIENT,不要另造客户端;依据 $WEB_GAME_ACTIONS 构造动作,避免猜测按键。示例命令:node "$WEB_GAME_CLIENT" --url http://localhost:5173 --actions-file "$WEB_GAME_ACTIONS" --click-selector "#start-btn" --iterations 3 --pause-ms 250。每轮后查看截图与文本状态,必须实际打开最新截图检查视觉,修复后重跑,直到正确。多步验证重要交互(移动、跳跃、射击、交互、菜单选择/确认/取消、暂停/恢复、重开及特殊能力),确认 render_game_to_text 与屏幕一致;检查控制台错误并先修第一个新问题;不同场景间重置状态;以小增量迭代。
游戏准则:单一 canvas 居中;界面文字尽量少,控制在开始/菜单页;背景画在 canvas 上;提供 window.advanceTime(ms);用单个键(建议 f)切换全屏,Esc 退出,切换时调整 canvas 与输入映射。render_game_to_text 返回简洁 JSON 字符串,包含坐标说明与玩家位置/速度、障碍/敌人、收集物、计时/冷却、分数及模式标志等当前可见状态。
限制:资料未提供具体安装步骤之外的更多平台或价格信息;不切换到 @playwright/test,除非明确要求。