@evenrealities/evenhub-cli

中文文档
0.2.0发布于 2026/10/20UNLICENSEDES Module零依赖近 30 天下载 42.2万

EvenHub应用软件开发、包装和在Even Realities G2眼镜上分发的命令行界面.

中文使用文档
文档目录33 节
  1. 安装
  2. 先登录
  3. 两种输出模式
  4. 退出代码
  5. 项目命令
  6. init - 脚手架 app.json
  7. pack 建立一个 .ehpk
  8. qr ——开发服务器QR代码
  9. 账户命令
  10. 应用命令
  11. create ——新应用加其首作
  12. upload ——现有应用的新版本
  13. update ——编辑未发布的app上市程序
  14. ls ——应用,或者一个应用的构建
  15. download - 找一个建筑
  16. rm - 删除一个构建或应用程序
  17. 分发命令
  18. promote 财务报告和审定财务报表 delist
  19. testers
  20. 图标规则
  21. 恢复中断的上传
  22. 环境变量
  23. 壳完成
  24. 0.2.0 (中文(简体) )
  25. 0.1.14 (2026-08-06) (中文(简体) )
  26. 0.1.13 (韩语)
  27. 0.1.12 (中文(简体) )
  28. 0.1.11 (韩语)
  29. 0.1.10 (2026-03-23) (中文(简体) )
  30. 0.1.9 (2026-03-21) (中文(简体) )
  31. 0.1.8 (2026-03-19) (中文(中国大陆) )
  32. 01.7 (2026-03-13) (中文(简体) )
  33. 0.1.6 (2026-03-12) (中文(简体) )

连Hub CLI

EvenHub 开发和应用管理的命令行界面. 覆盖 整个循环 开发者从终端运行: 脚手架工程、 包、 创建 应用程序,上传新建筑,邀请β测试者, 并加盖β 频道. 公众评议和出版在"门户"上停留.

两者 evenhub 财务报告和审定财务报表 eh 运行同一程序.

安装

npm install -g @evenrealities/evenhub-cli

已出版的软件包载有其编译的 JavaScript 和 Web Assembly 装包机,所以安装它 既不需要布恩,也不需要拉斯特。 支持的 Node.js 版本 是在20号、22.13号、22号、23.5号及以后的节点上.

先登录

login 提示密码,因此需要一个交互式终端。 运行 它曾经,用手:

evenhub login

地产 ~/.config/evenhub/credentials.yaml (单位:千美元)XDG_CONFIG_HOME 设定时获胜; Windows 使用 %APPDATA%只有你才能读 每一个 命令重用它们,所以脚本, CI 任务和代理从不提示. 一个过期 访问令牌自动刷新; 当刷新令牌也过期时, 命令退出 2 并请求您再次登录.

evenhub logout 无效刷新令牌服务器侧并删除本地端 文档.

两种输出模式

每个命令都接受 --json。没有它,你得到对齐,人可读 线条。 用它装上一个JSON的物体 而不是其他的 提示, 警告和进展到 stderr .

失败情况 --json 也是JSON的对象:

{"ok": false, "exit": 5, "code": 1020, "message": "...", "hint": "..."}

服务器上已更改的失败添加 partial,哪个 按名称列出这些效果:

{"ok": false, "exit": 10, "code": 1500, "message": "Description update failed", "hint": "...", "partial": {"package_id": "com.example.demo", "initial_build": "1.0.0", "app_created": true, "draft_id": "...", "description_applied": false}}

退出代码

每个代码有一个失败类型,从服务器自己的错误代码中映射出来.

代码含义
0 个成绩
1个用法或参数错误
2个未登录或两个令牌过期
3个目标不存在,或者这个账户不拥有它
页:1目标已经存在
页:1版本被固定在一个频道上, 无法删除
6个图标被拒绝
第7条App 发布或正在审查; 列出编辑经过审查
第8条达到的限制或税率有限
第9条本地步骤失败, 服务器状态不变
10个网络或服务器出错
第11个服务器端的更改已落地, 失败后为本地步骤
130个中断

任何本地验证可以解决的 都会在请求发出之前解决 所以 出站 9 表示服务器状态不变,同一命令可以再次运行为 它站着。 出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出入出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出出 接受更改,失败后采取当地步骤(保存证书或 ”)。 它携带 partial 在JSON有效载荷中 Completed effects: 显示 命名已登陆的每个效果; 信件和提示名称为本地步骤 修复。 修复这个步骤,而不是重放命令.

项目命令

init - 脚手架 app.json

evenhub init                      # ./app.json
evenhub init --directory ./my-app
evenhub init --output ./config/app.json

脚手架搭载着 min_app_version 财务报告和审定财务报表 min_sdk_version sDK 数据 释放此 CLI 发送到对面, 所以一个新鲜的项目包 不绊倒 检查地板.

pack 建立一个 .ehpk

evenhub pack app.json ./dist -o out.ehpk
evenhub pack app.json ./dist --sdk-ver 0.0.14
evenhub pack app.json ./dist --check
选项效果
-o, --output <file>输出路径( 默认) out.ehpk(中文(简体) )
--no-ignore包含点文件
-c, --check检查包ID是否仍然免费
--sdk-ver <version>从 SDK 释放出地板而不是 npm latest
--enforce-manual-version邮票 app.json是因为 min_app_version 写着,甚至地板下

在包装过程中,CLI读取了SDK的 minAppVersion 从npm和邮票它 在包装的明细表中。 数值高于 app.json 保存; 下方为 举起手来. app.json 磁盘上从未修改.

如果 npm 无法到达 CLI 警告并返回到捆绑在 释放时间。 这个值一定比登记处的要老 所以通过 --sdk-ver <version> 和最近的SDK打包时.

qr ——开发服务器QR代码

在 Even app 中侧载 Dev 模式时唯一需要的命令 .

evenhub qr
evenhub qr --url http://192.168.1.100:3000
evenhub qr --ip 192.168.1.100 --port 3000
evenhub qr --external          # write a PNG and open it
evenhub qr --clear             # forget the cached scheme, IP, port and path

IP是自动被检测的,最后的设置会在运行之间被记住.

账户命令

命令目的
evenhub login [-e <email>]交互式登录(见上文)
evenhub self-check显示登录账户、其作用和命名空间
evenhub logout无效刷新令牌并删除本地证书

应用命令

create ——新应用加其首作

evenhub create out.ehpk --name "My App" --tagline "One line" --icon icon.png
选项限制
--name <text>1到20个字符
--tagline <text>1到50个字符
--description <text> 编号 : --description-file <path>1到2000个字符
--icon <file.png>24x24 PNG,见下文
--package-id <id>默认为 app.json 在当前目录中
--new-draft忽略缓存草稿并再次上传

长度以Unicode代码点来计算,所以一个CJK字符计为一. 无 --icon 应用程序得到一个占位符 输出是这样说的.

upload ——现有应用的新版本

evenhub upload out.ehpk -m "What changed"

弹出 version 内 app.json 并再次装入; 重新装入已有的 版本出入口4. -m, --changelog 需要并封顶500个字符.

update ——编辑未发布的app上市程序

evenhub update --name "New name" --tagline "New line"
evenhub update --description-file ./store.md
evenhub update --icon icon.png

CLI 直接提交列表编辑. 如果一个应用软件得到批准或发布 版本,或待审查,服务器拒绝以代码1022进行更新; cLI 保留了这个错误,并退出 7。 在门户上进行编辑.

ls ——应用,或者一个应用的构建

evenhub ls                      # every app on the account
evenhub ls --channels           # add the beta/public pointers
evenhub ls <package_id>         # every build of one app
evenhub ls <package_id> --verbose

构件由语义版本排序,所以 1.0.10 坐在这里 1.0.9。 。 。 . 裸体 ls 进行单项请求; 频道列花费每个应用程序一个请求, 这就是为什么他们坐在后面 --channels。仅限 --verbose 请求应用和 审查细节并包括高层 app 财务报告和审定财务报表 review JSON田园.

download - 找一个建筑

evenhub download 1.0.1 -o ./build.ehpk

CLI 请求服务器提供新签名的存储 URL 并获取软件包 不带任何证书.

rm - 删除一个构建或应用程序

evenhub rm 1.0.1                        # one build
evenhub rm --app <package_id> --yes     # the app and all of its builds

一个频道仍然指向的构造无法删除; 删除频道 先说 删除一个应用程序是不可逆的,所以它会提示,除非 --yes 通过.

分发命令

promote 财务报告和审定财务报表 delist

evenhub promote 1.0.1 --to beta
evenhub delist --from beta

promote 只处理β通道。 公共出版需求审查 当地拒绝,没有发出请求. delist 清除一个频道指针和 保持每一个建筑.

testers

evenhub testers                                   # the roster and each status
evenhub testers --search name@
evenhub testers add [email protected],[email protected]
evenhub testers add --from ./testers.csv
evenhub testers add [email protected] --reinvite
evenhub testers rm [email protected]

add 通过逗号、分号或新行分隔地址,或文件 --from (每行一个地址,或单列的CSV email 页眉行 已跳过). 可引用单元格、门户的导出方式以及领先 字节顺序标记被忽略 。 地址完全按照书面发送 - 本地 部分是一些邮件主机对大小写敏感的 - 批次在之前被验证 任何信息都会被发送: 一个错误的地址拒绝带有9号出口的全部文件. 同一拼法的重复被放弃;一个地址的两个拼法都是 发送并报告,因为他们是否是一个测试者是服务器的电话.

名册匹配使用精确的电子邮件拼写,包括大小写. 匹配 请求地址或活动地址被跳过并报告,所以重运行 拼写保留了待定链接. --reinvite 向受邀者发出新的邀请, 它使先前电子邮件中的链接无效。 现役成员被扣住 即便如此,服务器仍然保留了公认的会员资格,而且 没有要替换的邀请链接 。 请柬在七天后失效. 拒绝的和过期的地址可以不提交 --reinvite。 。 。 . 成功报告提交请求,而不是按地址发送电子邮件。 贾森 invited 提交的地址清单; reinvited 提交的地址 匹配下方现有的非主动行 --reinvite。 。 。 . 搭建一个Beta大楼需要积极的会员身份和在Beta大楼的基础上建设 频道.

图标规则

服务器比传送门的上传框更严格,所以 CLI 运行相同 检查本地并报告精确的像素 .

  1. PNG, 最多1 MB. (英语).
  2. 准确的24x24.
  3. 每个像素要么完全透明,要么不透明 #F4F4F4。 。 。 .
  4. 升像素形成光栅相通 2x2 个块:按光栅顺序扫描,每个块 未消耗的已点燃的像素 一定是右下和下方的相邻点亮的 对,不能坐在最后一行或一列.

在检查块前检查整个图像的颜色, 所以一个出错 其它有效块内的有色像素在自己的区域中报告 坐标,用它的颜色,而不是在街角.

如果您不愿手建位图, 请在门户的画布上绘制图标 .

恢复中断的上传

create 财务报告和审定财务报表 upload 先发送软件包,再承诺第二 在此之前 执行中, CLI 试图缓存草稿 ID, 软件包 SHA-256, 基址和 账户身份 ~/.config/evenhub/state.yaml如果承诺失败,则晚一点 使用同一软件包运行,可以重新使用可用的、未过期的缓存草稿. 在重试结果不确定的写入之前检查服务器状态 .

缓存是可选的 。 如果账户身份无法安全确定,或 缓存读取、 保存或清理失败, CLI 在 stderr 上警告并继续 与核心操作。 仅缓存故障不能更改退出代码; aPI结果仍然决定成功。 缓存验证继续隔离 账户、应用程序和环境。 失败的产出报告 draft_cached 准确; false 表示上传的草稿无法自动再利用 .

服务器侧面草稿直播30分钟. 一个比它更旧的缓存条目, 或者一个 属于不同的账户, 应用或显示, 被丢弃, 软件包 重新发送. --new-draft 总是再次发出.

环境变量

变量效果
EVENHUB_BASE_URL覆盖 API 基础( 默认) https://hub.evenrealities.com(中文(简体) )
EVENHUB_API_URL直接覆盖 API 根
EVENHUB_API_DEBUG记录每个 API 请求及其状态到 stderr
EVENHUB_API_HEADERS额外的调试请求头
EVENHUB_NPM_REGISTRY书记处曾经查过SDK的 minAppVersion
XDG_CONFIG_HOME保存证书、 QR 和草稿状态

壳完成

脚本覆盖了两者 evenhub 联 合 国 eh 别名.

# bash — source from .bashrc
evenhub --completion-bash > ~/.evenhub-completion.bash

# zsh — any directory on your fpath
evenhub --completion-zsh > ~/.zfunc/_evenhub

# fish — needs a second file, since fish autoloads by command name
evenhub --completion-fish > ~/.config/fish/completions/evenhub.fish
echo 'complete -c eh -w evenhub' > ~/.config/fish/completions/eh.fish

变化

0.2.0 (中文(简体) )

  • 添加应用程序管理环 : create, (中文(简体) ), upload, (中文(简体) ), update, (中文(简体) ), ls, (中文(简体) ), download, (中文(简体) ), rm, (中文(简体) ), promote, (中文(简体) ), delist, (中文(简体) ), testers, (中文(简体) ), logout
  • self-check 打印账户和角色及收益 --json
  • --json 每个命令上: stdout 上的一个对象, stderr 上的诊断
  • 每个失败类型有一个退出代码, 由服务器的错误代码映射
  • 退出 9 保留给服务器状态不变的失败; 本地步骤 在写出报告后失败, 并列出已完成的效果 partial
  • 外壳完成覆盖整个表面 evenhub 财务报告和审定财务报表 eh数字 : pack 提议 --json 现在它的第一个位置是 <manifest> 改为 json,以及 self-check 完成 。 在zsh和鱼,提供文件名 仅当参数走路径时; shash 保持可读行文件名倒置 任何完成的脚本都空出
  • 本地验证名称、标签行、描述、更改日志、电子邮件和图标,所以 拒绝的输入从未到达服务器
  • 图标检查在块前运行颜色并命名违法像素
  • 恢复中断 create 或者说 upload 从缓存的草稿中 服务器的30分钟终身荣誉
  • 语义版本的顺序构建
  • testers add 跳过已邀请或活动的地址 ; --reinvite 部队 向受邀者发出新邀请,并留住现任成员
  • 放弃捆绑的运行时间依赖性 main.js 从不负载,所以 单独安装软件包
  • 仅装入 PNG QR 渲染器 qr --external,删除节点 来自其他命令的去除警告

0.1.14 (2026-08-06) (中文(简体) )

  • 来源和印章 min_app_version 包装时从 SDK npm 元数据
  • 添加 --sdk-ver 编辑 --enforce-manual-version 兼容性覆盖
  • 为两者添加 shell 补全支持 evenhub 财务报告和审定财务报表 eh
  • 包装失败时返回失败退出状态

0.1.13 (韩语)

  • 在终端中打印 qrcode 时添加 TERM/COLORTERM 检测

0.1.12 (中文(简体) )

  • 现在使用 qrcode-terminal 用于终端 qrcode 和 qr-image 用于外部 qrcode .
  • 固定登录命令( 尽管目前不是超级有用)

0.1.11 (韩语)

  • 窗口中的固定包装问题

0.1.10 (2026-03-23) (中文(简体) )

  • 对app.json的小型限制调整

0.1.9 (2026-03-21) (中文(简体) )

  • 调整app.json大小限制

0.1.8 (2026-03-19) (中文(中国大陆) )

  • 调整 app.json 格式

01.7 (2026-03-13) (中文(简体) )

  • 固定输入命令的“-d”选项

0.1.6 (2026-03-12) (中文(简体) )

  • 调整 app.json 文件格式

版本与发布记录

@evenrealities/evenhub-cli 共发布 11 个版本,首次发布于 2026/01/28;过去 12 个月发布了 11 个版本。

版本发布日期距今
0.2.0latest2026/10/2024 天前
0.1.142026/08/202 个月前
0.1.132026/04/206 个月前
0.1.122026/04/166 个月前
0.1.112026/03/257 个月前
0.1.102026/03/247 个月前

关于 @evenrealities/evenhub-cli 的常见问题

@evenrealities/evenhub-cli 是什么?

EvenHub应用软件开发、包装和在Even Realities G2眼镜上分发的命令行界面.

如何安装 @evenrealities/evenhub-cli?

在项目目录运行 npm install @evenrealities/evenhub-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 eh、evenhub,可以用 npx eh 直接运行。

@evenrealities/evenhub-cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/evenrealities__evenhub-cli 是否存在。

@evenrealities/evenhub-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@evenrealities/evenhub-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^20.17.0 || ^22.13.0 || >=23.5.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@evenrealities/evenhub-cli 可以商用吗?

@evenrealities/evenhub-cli 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@evenrealities/evenhub-cli 的下载量有多少?

根据 npm 官方下载统计,@evenrealities/evenhub-cli 在 2026/10/14 – 2026/11/12 这 30 天内被下载 421,544 次,日均约 14,051 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@evenrealities/evenhub-cli 还在维护吗?

最新版本 0.2.0 发布于 2026/10/20(24 天前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/01/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。