关于 quickstart
quickstart 是用于搭建 Even Hub G2 项目的 Agent 技能,可创建 Vite 与 TypeScript 应用,并配置 Even Hub SDK、CLI、模拟器、清单及显示屏起始代码。
主要功能
- 01搭建 Vite 与 TypeScript 项目
- 02安装 Even Hub SDK
- 03配置 CLI 与模拟器
- 04生成 app.json 清单
- 05创建 G2 显示屏起始代码
适用场景
- 01启动新的 Even Hub G2 应用
- 02创建清单和起始界面
- 03在模拟器中预览应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ even-realities/ everything-evenhub --skill quickstart安装后在 Claude Code 中输入/quickstart确认已加载。
详细介绍
你正在为 Even Hub G2 智能眼镜搭建完整项目。请按顺序完成以下所有步骤,不要跳过任何步骤。使用从 $ARGUMENTS 中获取的项目名称(如果未提供,则使用 my-evenhub-app)。
功能说明
创建完整可用的 Even Hub 项目目录,其中包含:
- Vite + TypeScript 应用(或用户偏好的框架)
- 已安装并可立即使用的 Even Hub SDK
- 作为开发依赖项的 Even Hub CLI 和 Simulator
- 生成的
app.json清单文件 - 可运行的
src/main.ts入门文件,可在 G2 显示屏上渲染文本
步骤
1. 确定项目名称
从 $ARGUMENTS 中提取项目名称。移除空格和特殊字符,生成有效的目录名称(例如,"My Cool App" → my-cool-app)。如果未提供参数,则使用 my-evenhub-app。
同时通过移除目录名称中的连字符生成 package_id slug(例如,my-cool-app → mycoolapp)。app.json 中的 package_id 必须为小写且不包含连字符(例如,com.example.mycoolapp)。
2. 使用 Vite 创建项目
运行以下命令(将 <name> 替换为项目名称):
npm create vite@latest <name> -- --template vanilla-ts
如果用户指定了其他框架(react、vue、svelte 等),请将 vanilla-ts 替换为相应的 Vite 模板。如果不确定,请使用 vanilla-ts。
3. 安装基础依赖项
cd <name> && npm install
4. 安装 Even Hub SDK
npm install @evenrealities/even_hub_sdk
5. 安装开发工具(CLI + Simulator)
npm install -D @evenrealities/evenhub-cli @evenrealities/evenhub-simulator
6. 生成应用清单
npx evenhub init
这会将 app.json 写入项目根目录。如果该命令会进入交互模式,请根据下方模板填写字段。生成后,打开 app.json 并修正,使其与模板一致:
- 将
min_sdk_version设为"0.0.12"(init 命令可能会默认使用较旧版本)。 - 将
permissions设为[],除非应用确实需要特定权限。移除 init 命令生成的任何占位权限。 - 确认所有其他字段均与下方的 app.json 模板一致。编辑其余占位值,使其符合项目情况。
7. 替换 src/main.ts 为入门代码并清理样板文件
将 src/main.ts 完全替换为以下内容。然后删除 Vite 模板遗留的所有未使用样板文件(例如,src/counter.ts、src/style.css、src/assets/)。
import { waitForEvenAppBridge, TextContainerProperty, CreateStartUpPageContainer } from '@evenrealities/even_hub_sdk'
const bridge = await waitForEvenAppBridge()
const mainText = new TextContainerProperty({
xPosition: 0,
yPosition: 0,
width: 576,
height: 288,
borderWidth: 0,
borderColor: 5,
paddingLength: 4,
containerID: 1,
containerName: 'main',
content: 'Hello from G2!',
isEventCapture: 1,
})
const result = await bridge.createStartUpPageContainer(new CreateStartUpPageContainer({
containerTotalNum: 1,
textObject: [mainText],
}))
console.log('Page created:', result === 0 ? 'success' : 'failed')
8. 确认项目结构
打印创建文件的摘要。最终项目结构应如下所示:
<name>/
app.json
index.html
package.json
src/
main.ts
...
app.json 模板
如果 npx evenhub init 未自动生成该文件,请在项目根目录创建 app.json,并填入以下内容(根据项目情况更新值):
{
"package_id": "com.example.<name>",
"edition": "202601",
"name": "<Human-readable app name>",
"version": "0.1.0",
"min_app_version": "2.0.0",
"min_sdk_version": "0.0.12",
"entrypoint": "index.html",
"permissions": [],
"supported_languages": ["en"]
}
字段说明:
package_id— 应用的反向域名唯一标识符(例如,com.acme.myapp)。不允许使用连字符——每个字段段落只能使用小写字母和数字。edition— 应用面向的 Even Hub 平台版本;当前 G2 固件请使用"202601"。name— Even Hub 应用商店/启动器中显示的易读名称。version— 应用的语义化版本号(MAJOR.MINOR.PATCH)。min_app_version— 运行此应用所需的最低 Even Hub 配套应用版本。min_sdk_version— 所需的最低 Even Hub SDK 版本。需与构建所使用的 SDK 版本一致(当前为"0.0.12")。entrypoint— Vite 用作应用根页面的 HTML 文件;保留为"index.html"。permissions— 权限对象数组({ "name": "...", "desc": "..." })。无需特殊权限的应用请使用[]。有效名称:network、location、g2-microphone、phone-microphone、album、camera。supported_languages— 应用支持的 ISO 639-1 语言代码。
后续步骤
告知用户如何在完成脚手架搭建后运行项目:
-
启动开发服务器
npm run devVite 会在
http://localhost:5173提供应用(如果 5173 端口被占用,则使用其他端口)。 -
在模拟器中预览
npx evenhub-simulator http://localhost:5173模拟器会在桌面窗口中渲染 G2 显示屏(576x288,4 位灰度),让你无需使用硬件即可反复调试。
-
在真实眼镜上测试
确保你的电脑和眼镜连接到同一个 Wi-Fi 网络,然后运行:
npx evenhub qr --url http://<your-ip>:5173使用 Even Hub 配套应用扫描二维码,将应用侧载到 G2 上。
硬件速查
| 属性 | 值 |
|---|---|
| 显示分辨率 | 576 x 288 px |
| 色深 | 4 位灰度(16 种绿色深浅) |
| 摄像头 | 无 |
| 扬声器 | 无 |
| 连接方式 | Bluetooth 5.2 |
| 输入方式 | 镜框上的触控板;可选的 R1 戒指控制器 |
设计布局时请牢记这些限制:全宽容器应使用 width: 576,全高容器应使用 height: 288,所有颜色都必须是 0–15 的灰度值。
关键资源
- SDK 包:npm 上的 @evenrealities/even_hub_sdk
- 官方文档:https://hub.evenrealities.com/docs/getting-started/overview
- 社区 Discord:https://discord.gg/Y4jHMCU4sv
任务
为以下内容搭建新的 Even Hub G2 项目脚手架:$ARGUMENTS