mcpField
Q
quickstart

quickstart

github.com/even-realities开发79139 次安装2 周前更新
代码仓库

关于 quickstart

quickstart 是用于搭建 Even Hub G2 项目的 Agent 技能,可创建 Vite 与 TypeScript 应用,并配置 Even Hub SDK、CLI、模拟器、清单及显示屏起始代码。

主要功能

  1. 01搭建 Vite 与 TypeScript 项目
  2. 02安装 Even Hub SDK
  3. 03配置 CLI 与模拟器
  4. 04生成 app.json 清单
  5. 05创建 G2 显示屏起始代码

适用场景

  1. 01启动新的 Even Hub G2 应用
  2. 02创建清单和起始界面
  3. 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 语言代码。

后续步骤

告知用户如何在完成脚手架搭建后运行项目:

  1. 启动开发服务器

    npm run dev
    

    Vite 会在 http://localhost:5173 提供应用(如果 5173 端口被占用,则使用其他端口)。

  2. 在模拟器中预览

    npx evenhub-simulator http://localhost:5173
    

    模拟器会在桌面窗口中渲染 G2 显示屏(576x288,4 位灰度),让你无需使用硬件即可反复调试。

  3. 在真实眼镜上测试

    确保你的电脑和眼镜连接到同一个 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 的灰度值。


关键资源


任务

为以下内容搭建新的 Even Hub G2 项目脚手架:$ARGUMENTS

评论

支持 Markdown