使用 iwsdk CLI 针对 poke 示例测试 UI 系统行为与兼容性。
该技能材料显示其本质是面向 IWSDK 示例工程的测试说明,且系统已标注为 prompt-only、开源,无需密钥也未声明远程端点。整体风险偏低,但文档中明确包含安装依赖、启动开发服务和通过 npx 调用 CLI 的操作指引,因此若实际按说明落地执行,仍涉及本地代码执行与供应链留意点。
材料明确标注“需要的密钥/环境变量:无”,README 中也未要求 API key、token 或账号凭证,未见直接的凭证收集、存储或滥用迹象。
虽然元数据声明“远程端点 host:无”,但 README 要求执行 `npm run fresh:install`、启动 dev server,并通过 `npx iwsdk` 与本地运行时/开发服务交互;依赖安装阶段通常会访问包仓库。未见将用户数据外发到不明第三方端点的具体红旗,但存在常规网络访问可能。
README 明确要求执行 Bash/npm/npx 命令、安装依赖、启动后台开发服务器并运行测试 CLI;这属于典型的本地进程启动与代码执行能力。就材料所示,这是测试工具常规行为,未见申请与声明功能明显不相称的系统权限。
文档要求在 `$IWSDK_REPO_ROOT/examples/poke` 工作区内运行,并读取 CLI/日志/实体查询结果;安装与开发流程通常会读写项目目录中的文件。未见索取用户无关目录、敏感系统路径或过度授权的明确描述,但具备对本地工程数据的常规访问能力。
来源为 GitHub 且标注开源,这显著降低了风险;但给出的仓库链接与技能名称/内容对应关系不完全清晰,许可证未声明,社区采用为 0 star,维护状态未知。再加上 README 依赖 `npm`/`npx` 拉取和执行包,存在常规供应链审查需求,但依据现有材料不足以直接定为高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "test-ui" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-ui/SKILL.md 2. 保存为 ~/.claude/skills/test-ui/SKILL.md 3. 装好后重载技能,告诉我可以用了
请使用 iwsdk CLI 针对 poke 示例测试 Test UI 系统,检查 PanelUI 和 ScreenSpace 是否能正常加载、交互并输出测试结果摘要。
一份说明 UI 组件是否成功运行、是否存在异常以及关键测试结论的摘要。
请基于 poke 示例运行 test-ui,重点测试点击、显示层级和 ScreenSpace 呈现是否异常,并列出可能的失败点与排查建议。
一份包含异常现象、潜在原因和建议修复方向的诊断结果。
请为 test-ui 技能生成一份针对 poke 示例的测试检查清单,覆盖 PanelUI、ScreenSpace、基础交互、渲染表现和命令行执行结果。
一份结构化的 UI 测试清单,可用于执行前准备或回归测试。
Run 5 test suites covering panel loading, ScreenSpace, system registration, component registration, and stability.
Configuration:
$IWSDK_REPO_ROOT/examples/pokeTool calls: every tool call is npx iwsdk <subcommand> [--input-json '<JSON>'] [--timeout <ms>], run from inside the example workspace (cwd $EXAMPLE_DIR). The CLI auto-discovers the IWSDK app root from cwd, so no path tricks are required. Run npx iwsdk mcp inspect from the example to discover available tools and their CLI subcommands.
<JSON> is a JSON object string. Omit --input-json if no arguments are needed.{ok, workspaceRoot, operation, result}. Parse it to check assertions.--timeout 20000 for operations that may take longer (reload, xr enter, screenshot).IMPORTANT: Run each Bash command one at a time. Parse the JSON output and verify assertions before moving to the next command. Do NOT chain multiple CLI commands together.
IMPORTANT: When the instructions say "wait N seconds", use sleep N as a separate Bash command.
cd $IWSDK_REPO_ROOT/examples/poke && npm run fresh:install
Wait for this to complete before proceeding.
Start the dev server as a background task using the Bash tool's run_in_background: true parameter:
cd $IWSDK_REPO_ROOT/examples/poke && npm run dev
IMPORTANT: This command MUST be run with run_in_background: true on the Bash tool — do NOT append & to the command itself.
Once the background task is launched, poll the output for Vite's ready message (up to 60s). You can also run npx iwsdk dev status from the example directory until state.running becomes true. You do not need to extract or manage the port yourself; subsequent commands resolve the active runtime through the CLI automatically.
If the server fails to start within 60 seconds, report FAIL for all suites and skip to Step 5.
npx iwsdk ecs systems 2>/dev/null
This must return JSON with a list of systems. If it fails:
Run these commands in order:
npx iwsdk browser reload --timeout 20000 2>/dev/null
Then: sleep 3
npx iwsdk xr enter --timeout 20000 2>/dev/null
Then: sleep 2
npx iwsdk browser logs --input-json '{"count":20,"level":["error","warn"]}' 2>/dev/null
Assert: No error-level logs.
Test 1.1: Find Panel Entity
npx iwsdk ecs find --input-json '{"withComponents":["PanelUI"]}' 2>/dev/null
Assert: At least 1 entity. Save its entityIndex as <panel>.
Test 1.2: PanelDocument Added After Load
npx iwsdk ecs query --input-json '{"entityIndex":<panel>,"components":["PanelUI","PanelDocument"]}' 2>/dev/null
Assert:
PanelUI.config contains welcome.jsonPanelUI.maxWidth = 0.5PanelUI.maxHeight = 0.4PanelDocument component IS present (proves async panel loading succeeded)PanelDocument.document is an Object3D reference (loaded UIKitDocument)Test 1.3: PanelUISystem Query Counts
npx iwsdk ecs systems 2>/dev/null
Assert:
unconfiguredPanels: 0 (all panels loaded)configuredPanels: 1 (panel has PanelDocument)Test 2.1: ScreenSpace Values
npx iwsdk ecs query --input-json '{"entityIndex":<panel>,"components":["ScreenSpace"]}' 2>/dev/null
Assert:
height = "50%" (CSS expression)width = "auto"top = "20px"left = "20px"bottom = "auto"right = "auto"zOffset = 0.2 (distance in front of camera near plane)Test 2.2: Panel Visible in Screenshot
…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
使用 iwsdk CLI 测试 Havok 物理系统的重力与刚体行为表现
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
帮助你创建、修改、调试并预览 IWSDK 应用中的 PanelUI 界面组件。
帮助开发者高效开发、调试并优化 IWSDK 的 PanelUI 界面面板。
使用 iwsdk CLI 对关卡层级、标签与默认灯光配置进行测试验证。
使用 iwsdk CLI 针对 poke 示例验证环境系统与组件配置是否正常
使用 iwsdk CLI 测试音频示例的加载、播放状态、停止与空间音频功能。
使用 iwsdk CLI 对比示例场景,测试滑动、瞬转、传送与跳跃移动系统。