用途:在 OpenWork 仓库中启动 Docker 开发栈,并用 Chrome MCP 在真实浏览器 UI 中验证用户流程,确保面向用户或涉及远程行为的改动端到端可用。
主要能力:
- 启动开发栈:在仓库根目录运行 packaging/docker/dev-up.sh,输出 Web UI URL(http://localhost:<WEB_PORT>)、OpenWork 服务器 URL(http://localhost:<OPENWORK_PORT>)、含 OPENWORK_TOKEN 与 OPENWORK_HOST_TOKEN 的令牌文件路径(tmp/.dev-env-<id>),以及停止该栈的 docker compose ... down 命令。
- 验证 UI 流程:打开输出的 Web UI URL,进入会话/聊天界面(通常为 /session),发送消息(如 smoke: hello from chrome mcp),确认响应在 UI 中渲染。
- Chrome MCP 操作配方:chrome-devtools_list_pages(可选查看已有标签页)、chrome-devtools_new_page 打开 Web UI URL(或对已开页面用 chrome-devtools_navigate_page)、chrome-devtools_take_snapshot 定位聊天输入框与发送按钮 uid、chrome-devtools_fill 填入消息、chrome-devtools_click 点击发送、chrome-devtools_wait_for 等待特征响应文本(或重复快照直到响应出现)、chrome-devtools_take_screenshot 截图(尽量保存到 /tmp/...png);调试时用 chrome-devtools_list_console_messages。
- 证据与检查清单:响应出现后截图;失败时抓取控制台日志,可选 Docker 日志。PR 检查项包括:从仓库根目录用 dev-up.sh 启动、使用输出的 Web UI URL(不要猜端口)、完成一条完整用户流程(输入→操作→可见结果)、成功状态至少一张截图、必要时提供失败证据、用输出的 docker compose -p ... down 命令停止栈。面向用户改动建议截图:操作前、操作中/进度、成功、失败或恢复状态。
- 停止栈:使用 dev-up.sh 打印的 docker compose -p ... down 命令;若丢失,可用 docker ps --format '{{.Names}}' | rg '^openwork-dev-' 找到项目名,再执行 docker compose -p <project> -f packaging/docker/docker-compose.dev.yml down。
限制与注意:必须安装 Docker 且 docker CLI 在 PATH 中;dev-up.sh 使用随机主机端口,不要假设 5173/8787;若 UI 能打开但显示未连接,确认打开的是输出的 URL 且 headless 正常。任何面向用户或涉及远程行为的改动必须通过该 Docker 开发栈与 Chrome MCP 端到端验证后才算完成。