桌面端与 Web 端 QA
在需要手动验证设置与控制面板的变更时,驱动真实的 Tauri 窗口和一次性 Web 栈。
有些改动只有实际体验过才能判断效果:例如配置流程、控制面板,以及任何需要确认“在真实窗口中用起来是否自然”的场景。本文档介绍了调出这一界面的具体操作方法。
快速开始(Web QA 栈)
- 创建全新栈:
hstack stack new codex-bootstrap-qa-⟦K1⟧ --repo=<repoPath> --port=<uniquePort>
- 构建并激活运行时:
hstack stack build codex-bootstrap-qa-⟦K2⟧ --activate-runtime
- 优先使用运行时快照:
hstack stack env codex-bootstrap-qa-⟦K3⟧ set KAIWU_STACK_RUNTIME_MODE=prefer
- 启动栈(运行时):
hstack stack start codex-bootstrap-qa-⟦K4⟧ --runtime
- 身份验证:
hstack stack auth codex-bootstrap-qa-⟦K5⟧ login --force
快速开始(通过 Tauri 进行原生桌面端 QA)
推荐方式(栈管理的开发环境 + TUI):
yarn tui:with-tauri
说明:
- 栈启动器会将桌面端应用指向现有的 Expo 开发服务器。
- 启动器使用
apps/ui/src-tauri内的--config文件,并配合-c配置覆盖项(避免栈目录的相对路径问题)。 - 如需查看解析后的启动方案(devUrl/配置路径/标识符):
node ./apps/stack/scripts/tauri_dev.mjs --json。 yarn ui:tauri与yarn --cwd apps/ui tauri:qa不会启动 Expo;请先在另一个终端运行yarn ui(或yarn --cwd apps/ui start),或直接使用yarn tui:with-tauri。
使用 @hypothesi/tauri-mcp-server 进行原生手动 QA
我们使用 @hypothesi/tauri-mcp-server 来驱动真实的原生 Tauri 窗口(支持截图、点击、键入输入、获取 DOM 快照以及查看日志)。
前置条件
- 应用必须通过
tauri dev运行(带调试断言);MCP 桥接插件已在apps/ui/src-tauri/src/lib.rs中注册。 - 公共开发配置中需启用 MCP 功能:
apps/ui/src-tauri/tauri.publicdev.conf.json包含app.security.capabilities = ["default","mcp-dev"]。apps/ui/src-tauri/capabilities/mcp-dev.json授予mcp-bridge:default。
将 MCP 服务器安装到 Codex
在仓库根目录下运行:
npx -y install-mcp @hypothesi/tauri-mcp-server --client codex --yes --oauth no
安装完成后重启 Codex(客户端配置在启动时加载)。
启动原生应用
可选方式:
yarn ui:tauri(独立运行;要求 Expo 开发服务器已在运行)yarn tui:with-tauri(推荐方式;与栈及 TUI 保持统一)yarn --cwd apps/ui tauri:qa(同时启动 Tauri 应用和 MCP 服务器用于 QA;要求 Expo 开发服务器已在运行)
可选的启动方案预览:
yarn --cwd apps/ui tauri:qa --json
原始 MCP CLI 辅助命令:
yarn --cwd apps/ui tauri:mcp:cli --helpyarn --cwd apps/ui tauri:mcp:session:start
说明:
- 默认情况下,
yarn ui:tauri/yarn --cwd apps/ui tauri:qa会在启动 Tauri 前等待 Metro 报告packager-status:running;可使用KAIWU_STACK_TAURI_WAIT_FOR_EXPO=0禁用该等待机制。
启动驱动会话
在 MCP 客户端(Codex)中,使用 driver_session 工具启动会话:
driver_session→{ "action": "start" }
CLI 备用方案(脱离 MCP 客户端单独运行命令):
yarn --cwd apps/ui tauri:mcp:session:start
实现细节(用于排查连接问题):
- MCP 桥接插件在 9223 端口(或 9223–9322 中下一个可用端口)运行 WebSocket 服务器,默认绑定
0.0.0.0。 - 如有需要,可显式指定目标主机:
driver_session→{ "action": "start", "host": "127.0.0.1" }
QA 实用工具
webview_screenshot(在 issue 中附带验证凭据)webview_dom_snapshot(确认实际渲染的内容)webview_find_element+webview_interact(点击按钮 / 切换开关)webview_keyboard(向输入框键入内容)read_logs(webview 与系统日志)ipc_monitor+ipc_get_captured(确认invoke(...)调用及有效载荷)
© 乾元执中(南京)科技有限公司 · WUJI-Labs