用途:为 Even Hub G2 应用快速搭建项目骨架。与 /quickstart(从零创建空白 Vite 应用)不同,本技能直接克隆已包含所需接线的模板,例如麦克风管线、图像容器、分页阅读器等。
可用模板:minimal 为裸 Vite + TS + SDK 骨架,在眼镜上显示“Hello from G2!”;asr 为麦克风到 STT 的管线,含配套 UI 与双击退出,STT 提供方为空白桩,由用户自行选择;image 为 ImageContainerProperty 演示,含测试图案位图、点击重绘与事件捕获层模式;text-heavy 为长文阅读器,通过 @evenrealities/pretext 按 G2 上 LVGL 使用的字形宽度逐段测量实现像素级分页,使用 textContainerUpgrade 实现无闪烁翻页,支持点击/滑动导航。
参数解析:$ARGUMENTS 按空白拆分,区分以 -- 或 - 开头的标志与非标志词。标志会小写化、去前导横线、去 with- 前缀、去内部横线与下划线后做模糊匹配,接受精确、前缀或包含匹配;多个匹配时取较短者;无法确定则默认 minimal 并说明原因。非标志词拼成项目名并 slug 化,无则默认 my-<template>-app。package_id 由项目名去横线得到,模板自带 app.json 占位符需改为 com.example.<slug>。
步骤:先打印一行摘要;执行 npx --yes degit even-realities/evenhub-templates/<template> <project-dir>;修改 package.json 的 name 与 app.json 的 package_id、name;执行 cd <project-dir> && npm install;按模板做后续提示(asr 需复制 .env.example 到 .env.local 并填 VITE_STT_API_KEY、实现 src/asr/stt.ts 的 startSttStream()、在 app.json 添加网络权限白名单;image 可保留测试图案或替换 makeTestPattern 为 loadImageBytes;text-heavy 替换 src/sample.ts,调整 src/main.ts 顶部的 BODY_W/BODY_H/BODY_PAD 即可自动重排;minimal 无后续)。最后打印 npm run dev、npm run simulate、npx @evenrealities/evenhub-cli qr --url http://<your-ip>:5173、npx @evenrealities/evenhub-cli pack 等命令,并指向模板自带 README.md。
限制:模板位于独立公共仓库,本技能只是 degit 薄封装,不应直接修改模板,如需修复应向 even-realities/evenhub-templates 提 PR。硬件参考:显示 576 x 288 px、4 位灰度(16 级绿色);麦克风 PCM s16le @ 16 kHz 单声道;无摄像头、无扬声器;输入为镜腿触控板,可选 R1 戒指。