@botiverse/hands-cli

中文文档
0.5.43发布于 2026/11/08MITTypeScriptES Module构建来源已验证近 30 天下载 2697

Hands CLI——管理终端的应用,构建,发布.

中文使用文档
文档目录6 节
  1. 安装
  2. 快速启动
  3. 直接 API 访问( E) hands api (中文(简体) )
  4. CI 模式
  5. 认证工作方式( v1)
  6. 本地日志

@botiverse/ hands-cli (英语)

Hands CLI——管理终端的应用,构建,发布.

状态 : 阿尔法。 npm 软件包以 @botiverse/hands-cli; v1 舰只 login, (中文(简体) ), logout, (中文(简体) ), whoami, (中文(简体) ), apps create/list/get/client-key, (中文(简体) ), builds list/get,以及 builds publish-version, (中文(简体) ), builds publish-android, (中文(简体) ), builds publish-ios, (中文(简体) ), builds testflight-groups, (中文(简体) ), builds testflight-publish, (中文(简体) ), builds testflight-status, (中文(简体) ), builds publish-ohos,以及 builds publish-electron。 。 。 . 列出的其他命令 docs/cli-reference.md 随着后端终点的出现,土地逐渐增加.

安装

npm install -g @botiverse/hands-cli
hands --help

# Or run without installing globally:
npm exec --package @botiverse/[email protected] -- hands --help

# Local repo development:
pnpm --filter @botiverse/hands-cli build
pnpm --filter @botiverse/hands-cli start -- whoami

快速启动

# 1. Log in. The CLI prints a URL you must open in a browser.
hands login

# 2. Verify who you are.
hands whoami

# 3. Create or list apps in your current Hands organization.
hands apps create --slug hands-example-web --name "Hands Example Web" --platform web
hands apps list

# Read the public SDK client key explicitly (app admin only).
hands apps client-key hands-example-web

# 4. List builds for an app (by slug or id).
hands builds list myapp-android

# 5. Publish an Android APK release.
hands builds publish-android raft-android \
  --channel main \
  --apk ./app-release.apk \
  --version-name 1.0.3 \
  --version-code 1000300

用于将文物留在外部CDN的节点应用软件,注册一个 一次不可改变的目标声明:

hands builds publish-version raft-computer \
  --version-name 0.72.13 \
  --target darwin-arm64 \
  --source-url https://cdn.raft.build/computer/0.72.13/darwin-arm64 \
  --raw-sha256 "$RAW_SHA256" --raw-size "$RAW_SIZE" \
  --gzip-sha256 "$GZIP_SHA256" --gzip-size "$GZIP_SIZE" \
  --node-version 22.23.1

此记录外部字节证据; 它不上传文物或 启动释放。 复说同相宣说能入正等正觉. 更改一个 永久版本或目标字段返回冲突.

直接 API 访问( E)hands api(中文(简体) )

直接在同一个服务器侧RBAC上呼叫任何Hands端点并审计 a 专用子命令使用——脚本支付,而不是权限绕行 :

hands api GET /api/apps --param platform=android
hands api PATCH /api/apps/<appId>/releases/<releaseId>/shares/<shareId> --data '{"expires_at":null}'
hands api PATCH /api/apps/<appId>/releases/<releaseId>/shares/<shareId> --data @body.json
hands api GET /api/apps/<appId>/feedback/<ticketId>/attachments/<attachmentId> --output attachment.bin
hands --json api GET /api/apps                                               # body only

路径参数为生- <appId> 而其他的ID是资源UUID,而不是sults (单位:千美元)hands api 不解决弹壳。 同一来源 /api/* 只( 相对路径) 或同一来源的绝对URL; 交叉来源, //protocol-relative,以及 ../- 逃脱被拒绝). 指示从不跟随,所以传令者从不 离开手源。 荣耀全球 --api 财务报告和审定财务报表 --json 旗帜。 满旗 参考文献 : https://hands.building/docs/cli-参考文献/。 。 。 .

CI 模式

export HANDS_API=https://hands.build
export HANDS_AUTH_TOKEN=...       # Hands JWT or an app deploy token
hands whoami
hands builds list myapp-android

认证工作方式( v1)

Raft OAuth使用浏览器重定向. 手将成功的登录转换为 签字的JWT,所以 hands login 请您:

  1. 在任意浏览器中打开已打印的 URL .
  2. 和拉夫签约.
  3. 复制 Hands CLI 回调页面显示的 JWT .
  4. 把它贴回CLI.

JWT被保存到 $XDG_CONFIG_HOME/quiver/auth.json (第0600节). CI,通过 HANDS_AUTH_TOKEN 或者说 HANDS_BEARER_TOKEN遗产 QUIVER_* 现有自动化仍然接受别名.

v2 将转换为真实的无头流( Raft 设备流或 a) --token-stdin 服务用户模式)。 见 publish-tasks.md P3.4.x (中文(简体) ).

本地日志

CLI 将 JSONL 日志编辑为最佳 $XDG_STATE_HOME/hands/logs (或 ~/.local/state/hands/logs) (中文(简体) ). 日志失败 绝不更改命令输出或退出状态。 覆盖目录 HANDS_LOG_DIR。 。 。 .

创建 gzip 捆绑, 只有在您有签名、 未过期的收藏策略和 ed25519公用钥匙:

hands logs collect \
  --policy ./collect-policy.json \
  --public-key ./hands-log-policy-public.pem \
  --output ./hands-logs.json.gz

政策签名 版本 过期 降级状态 编辑 每日大小, 每个收集规模、货币和网络预算在当地执行. 拒绝的收藏保存失败关闭, 不更改审计日志 cLI 进程退出行为 .

版本与发布记录

@botiverse/hands-cli 共发布 40 个版本,首次发布于 2026/07/09;过去 12 个月发布了 40 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.5.43latest2026/11/08今天
0.5.422026/11/07今天
0.5.412026/11/035 天前
0.5.402026/11/025 天前
0.5.392026/11/025 天前
0.5.382026/11/025 天前

关于 @botiverse/hands-cli 的常见问题

@botiverse/hands-cli 是什么?

Hands CLI——管理终端的应用,构建,发布.

如何安装 @botiverse/hands-cli?

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

@botiverse/hands-cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@botiverse/hands-cli 支持 ESM 还是 CommonJS?

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

@botiverse/hands-cli 需要什么版本的 Node.js?

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

@botiverse/hands-cli 可以商用吗?

@botiverse/hands-cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@botiverse/hands-cli 的下载量有多少?

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

@botiverse/hands-cli 还在维护吗?

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