Skip to content

CLI 总览

pbPhoneBase 的命令行工具 — 一个云手机自动化平台。通过终端即可完整控制 Android 云设备:管理设备生命周期、操作屏幕、安装应用、传输文件、运行自动化 Skill。

GitHub: https://github.com/phonebase-cloud/phonebase-cli

AI Agent 或脚本调用时,所有输出默认为结构化 JSON;人类在交互终端使用时,则展示友好的表格和彩色消息。

全局参数

参数说明
-s, --device <id>指定目标设备编号(所有命令通用)
-j, --json <body>直接传入 JSON body
-f, --file <path>从文件读取 JSON body(- 表示 stdin)
-V, --version显示 CLI 版本号
-h, --help显示帮助信息

TIP

-s 是全局参数,任何命令都可以用它指定操作的目标设备。省略时使用当前已连接的设备。

环境变量

变量说明示例
PHONEBASE_API_KEYAPI 认证密钥pb_sk_xxxxxxxxxxxx
PHONEBASE_API_URLAPI 网关地址https://api.phonebase.cloud
PHONEBASE_LANGCLI 语言(en / zhen
PHONEBASE_OUTPUT输出格式(json / textjson

INFO

环境变量优先级高于配置文件。

临时使用(仅当前会话):

bash
# 在单条命令前加上环境变量
PHONEBASE_OUTPUT=json pb devices

# 或在当前会话中 export
export PHONEBASE_API_KEY=pb_sk_xxxxxxxxxxxx

永久生效(跨会话):

bash
echo 'export PHONEBASE_API_KEY=pb_sk_xxxxxxxxxxxx' >> ~/.zshrc
source ~/.zshrc
bash
echo 'export PHONEBASE_API_KEY=pb_sk_xxxxxxxxxxxx' >> ~/.bashrc
source ~/.bashrc

输出格式

pb 自动识别调用者是人类还是 AI,并切换输出格式。

调用者格式强制指定
人类友好的表格和彩色消息PHONEBASE_OUTPUT=text
AI结构化 JSONPHONEBASE_OUTPUT=json

例如,pb devices 会根据调用者输出不同格式:

人类看到的:

CODE               STATUS    ONLINE   CONNECTED  STARTED_AT
IDY291LX6WW6RCW   running   yes      yes        2025-01-15T08:30:00Z
IDY2A0ZNVOR00ZK   stopped   no       -          -

AI 看到的:

json
{
  "code": 200,
  "data": {
    "devices": [
      {
        "device_code": "IDY291LX6WW6RCW",
        "plex_status": "running",
        "is_online": true,
        "connected": true,
        "started_at": "2025-01-15T08:30:00Z"
      }
    ]
  },
  "msg": "OK"
}