@gewulogic/hive-cli
v0.1.7
Published
CLI for common Hive gateway operations
Readme
hive-cli
hive-cli 是 Hive 网关常用操作的命令行工具。它把后台已经有的接口收成一组适合命令行使用的入口,默认请求生产环境 https://api.iot.gewulogic.com。
安装
npm install -g @gewulogic/hive-cli如果只是本地验证,也可以在包目录里先打包再安装:
npm pack
npm install -g ./gewulogic-hive-cli-0.1.2.tgz登录
hive-cli auth login admin也可以直接带参数:
hive-cli auth login admin \
--email [email protected] \
--password 'your-password'查看当前会话:
hive-cli auth whoami退出登录:
hive-cli auth logout网关命令
所有需要指定网关的命令都支持两种写法:
--gateway-id <gateway-uuid>--machine-id <machine-id>
升级指定服务镜像:
hive-cli gateway upgrade --machine-id GW-2026-0001默认会升级 beezer:production。如果要覆盖默认值,也可以显式传:
hive-cli gateway upgrade beezer_updater \
--gateway-id 11111111-1111-4111-8111-111111111111 \
--tag canary从本地文件创建新版本、激活并下发配置:
hive-cli gateway config apply \
--machine-id GW-2026-0001 \
--file ./beezer-config.yaml \
--name "2026-04-13" \
--description "update line A"创建、激活、下发并重启 beezer:
hive-cli gateway config rollout \
--machine-id GW-2026-0001 \
--file ./beezer-config.yaml单独重启 beezer:
hive-cli gateway restart beezer \
--machine-id GW-2026-0001通过网关终端执行命令:
hive-cli gateway exec \
--machine-id GW-2026-0001 \
--cmd 'df -hT'命令本身带较多参数时,建议使用 --cmd 保留原始命令字符串。也可以关闭实时输出,只在结束后汇总:
hive-cli gateway exec \
--gateway-id 11111111-1111-4111-8111-111111111111 \
--cmd 'chroot /host/root du -xh /var/lib/docker --max-depth=1' \
--no-stream创建 TCP tunnel 并写出 visitor.toml:
hive-cli gateway tcp-tunnel open \
--machine-id GW-2026-0001 \
--target-host 192.168.10.20 \
--target-port 502 \
--output-dir ./tunnel-out查看当前活动 tunnel:
hive-cli gateway tcp-tunnel status \
--machine-id GW-2026-0001关闭 tunnel:
hive-cli gateway tcp-tunnel close \
--machine-id GW-2026-0001 \
--session-id session-123查看命令状态:
hive-cli gateway command status --command-id cmd-123Integrations 命令
查看租户 integrations:
hive-cli integrations list \
--tenant-id 11111111-1111-4111-8111-111111111111查看单个 integration 详情:
hive-cli integrations show \
--integration-id 22222222-2222-4222-8222-222222222222创建 MQTT integration:
hive-cli integrations create \
--tenant-id 11111111-1111-4111-8111-111111111111 \
--name 'MES MQTT' \
--broker-url 'ws://mqtt.example.com:8083/mqtt' \
--client-id 'hive-mes-tenant' \
--username 'mqtt-user' \
--mqtt-password 'your-mqtt-password' \
--topic-template 'factory/{tenant_slug}/{device_id}/telemetry' \
--qos 1 \
--allowlist 'mqtt.example.com'修改 MQTT integration:
hive-cli integrations update \
--integration-id 22222222-2222-4222-8222-222222222222 \
--broker-url mqtts://mqtt.example.com:8883 \
--topic-template 'factory/{device_id}/telemetry' \
--qos 1 \
--enable写入 MQTT broker 密码:
hive-cli integrations update \
--integration-id 22222222-2222-4222-8222-222222222222 \
--mqtt-password 'your-mqtt-password'上传转换脚本并只做 dry-run 校验,不激活:
hive-cli integrations script upload \
--integration-id 22222222-2222-4222-8222-222222222222 \
--file ./transform.py \
--dry-run-event-file ./event.json上传并激活转换脚本:
hive-cli integrations script upload \
--integration-id 22222222-2222-4222-8222-222222222222 \
--file ./transform.py \
--dry-run-event-json '{"value":42}' \
--activate查看 active 转换脚本:
hive-cli integrations script show \
--integration-id 22222222-2222-4222-8222-222222222222下载指定版本转换脚本:
hive-cli integrations script download \
--integration-id 22222222-2222-4222-8222-222222222222 \
--version 3 \
--file ./transform.py删除 MQTT integration:
hive-cli integrations delete \
--integration-id 22222222-2222-4222-8222-222222222222自动化脚本可加 --yes 跳过确认。
其他地址
如果要请求其他环境,可以在单次命令里显式覆盖:
hive-cli auth login admin --base-url http://localhost:8000或设置环境变量:
export HIVE_CLI_BASE_URL=http://localhost:8000