# @elevenlabs/cli 中文文档

规范地址：https://npmcn.com/package/%40elevenlabs/cli/

版本：1\.11\.0
npm 元数据更新时间：2026-11-12T15:02:33.934Z
中文译文更新时间：2026-11-13T12:22:03.680Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40elevenlabs/cli
原文对照：https://npmcn.com/package/%40elevenlabs/cli/?lang=original
项目主页：https://github.com/elevenlabs/cli#readme
源码仓库：https://github.com/elevenlabs/cli

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：34.5 kB，4 个文件
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2025-10-22T13:27:12.993Z
- 最新版本发布：2026-11-12T15:02:33.338Z
- 近 30 天下载量：121766（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：42（近 12 个月 36 个）

## 中文简介

十一层的CLI

## 安装

```sh
npm install @elevenlabs/cli
```

也可以使用：`pnpm add @elevenlabs/cli`、`yarn add @elevenlabs/cli`、`bun add @elevenlabs/cli`

## README

# 11Labs CLI——作为法典的代理人

![hero](https://npmcn.com/package/%40elevenlabs/cli/assets/Cover.png)

命令行接口 [十一实验室平台](https://elevenlabs.io/docs/agents-platform/overview)。 。 。 .

CLI做两件事:

-   **完全 API 访问** ——每11Labs API端点作为子命令可用(`elevenlabs <resource> <method>`) (中文(简体) ).
-   **代理作为代码** ——管理本地配置文件中的谈话AI代理,有模板,分支,并进行推/拉同步.

## 目录

-   [安装](https://npmcn.com/package/%40elevenlabs/cli/#readme-installation)
-   [认证](https://npmcn.com/package/%40elevenlabs/cli/#readme-authentication)
-   [快开始](https://npmcn.com/package/%40elevenlabs/cli/#readme-quick-start)
-   [语音文本](https://npmcn.com/package/%40elevenlabs/cli/#readme-speaking-text)
-   [等待流量结果](https://npmcn.com/package/%40elevenlabs/cli/#readme-waiting-for-flows-results)
-   [代理作为代码](https://npmcn.com/package/%40elevenlabs/cli/#readme-agents-as-code)
-   [数据居住](https://npmcn.com/package/%40elevenlabs/cli/#readme-data-residency)
-   [UI 组件](https://npmcn.com/package/%40elevenlabs/cli/#readme-ui-components)
-   [使用量](https://npmcn.com/package/%40elevenlabs/cli/#readme-usage)
-   [文档](https://npmcn.com/package/%40elevenlabs/cli/#readme-documentation)
-   [高级](https://npmcn.com/package/%40elevenlabs/cli/#readme-advanced)
    -   [通用旗帜](https://npmcn.com/package/%40elevenlabs/cli/#readme-common-flags)
    -   [环境变量](https://npmcn.com/package/%40elevenlabs/cli/#readme-environment-variables)
    -   [告诉我们你在做什么](https://npmcn.com/package/%40elevenlabs/cli/#readme-telling-us-what-you-are-doing)
    -   [遥测](https://npmcn.com/package/%40elevenlabs/cli/#readme-telemetry)
    -   [输出格式](https://npmcn.com/package/%40elevenlabs/cli/#readme-output-formats)
    -   [壳完成](https://npmcn.com/package/%40elevenlabs/cli/#readme-shell-completion)
-   [发展](https://npmcn.com/package/%40elevenlabs/cli/#readme-development)

## 安装

### 主机( macOS / Linux)

```bash
brew install elevenlabs/tap/elevenlabs
```

### Scoop (窗户)

```powershell
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs
```

### npm (macOS / Linux / Windows) (中文(简体) )

```bash
npm install -g @elevenlabs/cli
```

通过稀薄的发射装置安装相同的二进制,选择正确的构造 你的纲领。 使用 `npx @elevenlabs/cli <command>` 运行一次没有 在全球安装.

### 外壳( macOS / Linux)

```bash
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh
```

### Power Shell (窗户)

```powershell
powershell -ExecutionPolicy ByPass -c "irm https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.ps1 | iex"
```

### 从源头构建

安装 [Rust工具链](https://rustup.rs/),则:

```bash
git clone https://github.com/elevenlabs/cli.git
cd cli
cargo build --release
```

二进制降落在 `./target/release/elevenlabs`运行它作为 `elevenlabs` 从任何地方,安装它与货物, 它复制到 `~/.cargo/bin`数字 :

```bash
cargo install --path .
```

## 认证

每一份申请都经过认证 [11Labs API 密钥](https://elevenlabs.io/app/settings/api-keys),作为 `xi-api-key` 头曰. 在环境中设定:

```bash
export ELEVENLABS_API_KEY=xi-...
```

A 类 `.env` 工作目录中的文件是自动加载的,所以设置 `ELEVENLABS_API_KEY=xi-...` 这也是可行的,有助于将关键范围保持在一个项目上.

对于一次性呼叫,通过每个命令:

```bash
elevenlabs user get --xi-api-key xi-...
```

## 快开始

列出可用的命令 :

```bash
elevenlabs --help
```

调用 API 端点 :

```bash
elevenlabs <resource> <method>
```

运行 `elevenlabs <resource> --help` 以查看资源的现有方法.

## 语音文本

将文本转换为语音并播放, 不选择文件路径或找到玩家 :

```bash
elevenlabs say "this came from the terminal"
echo "build finished" | elevenlabs say          # or: elevenlabs say -
```

语音、模型、音频格式和播放器默认为您存储的所有内容, 并且每个运行都可以被覆盖 :

```bash
elevenlabs say config                                    # show the current defaults
elevenlabs say config voice EXAVITQu4vr4xnSDxMaL
elevenlabs say config model eleven_multilingual_v2
elevenlabs say config player mpv
elevenlabs say config voice --unset                      # back to the built-in default

elevenlabs say "one off" --voice JBFqnCBsd6RMkjVDRZzb --model eleven_flash_v2_5   # faster, no audio tags
elevenlabs say "save it" --output out.mp3                # write a file, skip playback
```

默认存储于 `~/.elevenlabs/config.json` 并行 [数据存储](https://npmcn.com/package/%40elevenlabs/cli/#readme-data-residency)。从框出 `say` 用途 `eleven_v4` ——最有表现力的模型,并(与v3)是唯一一个读取: [音频标签](https://elevenlabs.io/docs/overview/capabilities/text-to-speech/best-practices#audio-tags) 喜欢 `elevenlabs say "[whispers] it worked"` 作为交付而不是言语。 音频格式跟随播放器,除非 `--output-format` 或一个 `--output` 文件名上说不是.

将弹出贝壳播放到盒子上的任何玩家, 更喜欢读 stdin 的贝壳, 因此音频在下载完成前开始 : `ffplay`, (中文(简体) ), `mpv`, (中文(简体) ), `afplay` (macOS), (英语:, `paplay`编号 :`aplay` (林纳克), `Media.SoundPlayer` (温道. 安装 [ffmpeg 数据](https://ffmpeg.org/) 或者说 [密码v](https://mpv.io/) 如果没有人在场,或点 `--player` 自己来.

> `config` 是一个子命令,所以说 准确的字需要 `elevenlabs say -- config`。 。 。 .

## 等待流量结果

流程图像、视频和文字对语音世代,以及模板运行,在背景中完成: `create` 随即返回 `status: pending`。 。 。 . `create-and-wait` 使用与 `create`,然后投票,直到结果 `completed` 或者说 `failed` 并打印它(与 `get`:

```bash
elevenlabs flows image create-and-wait \
  --json '{"model_id": "bytedance-seedream-5-lite", "prompt": "a corgi on a beach"}'

elevenlabs flows templates list                          # find a template and its input ports
elevenlabs flows templates runs create-and-wait \
  --template-id <template_id> --inputs '{"prompt": "a corgi"}' --wait-timeout 600

elevenlabs flows video create-and-wait --json - --query content_url < request.json
```

它在检查之间等待 只要服务器的 `Retry-After` 标题问,从不小于 `--min-poll-interval` (默认 3s). 当 stderr 是一个终端时, 进度会写入 stderr `--debug`stdout只带最后的结果,所以 `--format`, (中文(简体) ), `--query` 和管子的行为 因为他们 `get`。 。 。 .

-   **`failed`** 如其它结果一样打印,命令退出 `1`。 。 。 .
-   **`--wait-timeout <seconds>`** 在那之后放弃( 默认: 无限期地等待) 。 它离开 `1` 误差 `reason` 实值 `waitTimeout`,并携带id和 `get` 命令继续使用。 工作持续运行在服务器上.
-   **`--dry-run`** 打印创建请求并发送任何信息, 如 `create`。 。 。 .

生产,更喜欢设置 `webhook` 打开 `create` 并处理webhook事件, 而不是进行一个进程打开.

## 代理作为代码

从本地配置文件管理对话的AI代理. `elevenlabs agents init` 脚手架为一工程;代理配置以JSON,YAML或TOML为活盘并同步到11Labs. 拉出配置保留了生电线场,被逐字推后,所以无所不包地走来走去.

### 项目结构

```
your_project/
├── agents.json         # Agent registry: ids + branch mappings → config paths
├── tools.json          # Tool registry
├── tests.json          # Test registry
├── agent_configs/      # Agent configuration files
├── tool_configs/       # Tool configuration files
└── test_configs/       # Test configuration files
```

### 图标

```bash
# Scaffold a new project (pass a path, or --override to reset an existing one)
elevenlabs agents init [path] [--override]

# Create an agent from a template (or an existing file), upload it, and register it
elevenlabs agents add <name> [--template <template>] [--output-path <path> | --config-format json|yaml|toml]
elevenlabs agents add [name] --from-file <path>

# Show the status of locally-configured agents
elevenlabs agents status

# Sync configs with ElevenLabs (push force-overrides main + registered branches)
elevenlabs agents push [--agent <agent_id>] [--branch <name|id>] [--version-description <text>] [--dry-run]
elevenlabs agents pull [--agent <agent_id>] [--branch <name|id>] [--all-branches] [--update] [--all] [--config-format json|yaml|toml] [--dry-run]

# List available agent templates, or print one's full configuration
elevenlabs agents templates list
elevenlabs agents templates show <template>

# Print an embeddable HTML widget snippet for an agent
elevenlabs agents widget embed <agent_id>

# Run the tests attached to an agent (polls to completion; exits non-zero on failure)
elevenlabs agents test <agent_id>

# Draw an agent's workflow in the terminal, or print it as Mermaid (local files only, no API key)
elevenlabs agents workflow diagram <config-path|agent_id|name> [--format ascii|mermaid|mermaid-md]

# Show how agents connect to tools, tests, documents and each other (local files only)
elevenlabs agents graph [config-path|agent_id|name] [--format ascii|mermaid|mermaid-md]
elevenlabs agents graph --uses <id|name>
```

### 配置文件格式

配置文件的扩展名设置格式 : `.json`, (中文(简体) ), `.yaml`编号 :`.yml` 或者说 `.toml`登记文件(`agents.json`, (中文(简体) ), `tools.json`, (中文(简体) ), `tests.json`留下来 JSON 和他们的 `config` 路径可以指向其中的任何一个,因此可以手动转换一个配置并更新其路径.

新文件是JSON,除非您选择了另一种格式. `agents pull --config-format toml` 将新代理写为 TOML, 新的分支文件遵循其代理配置的格式 。 已经存在的文件保留格式 . `agents add --from-file support.yaml` 也保存代理配置为 YAML ; `--config-format` 推翻它.

TOML 没有 `null`,所以写入 TOML 将空出字段。 对于特工来说,没有什么损失: `push` 只更改其发送的字段,一个已取消设置的字段。 TOML 无法做到的就是清除一个字段,因为删除它的行会让"十一行"上的值保持不变. 为了清理一个,设置到 `null` 在JSON或YAML配置。 一些空是数据而不是未设置的字段:一个在列表中(一个项目,或者混合值列表中一个对象的字段),或者一个自由形式值,如一个工具参数的任意位置 `constant_value`。与其中之一的配置不能保存为TOML; CLI 这样说并命名字段.

### 一个命名空间的两个表面

`elevenlabs agents` 持有两种命令,它有助于知道 你使用的是什么:

|  | 工作流程命令 | API 命令 |
| --- | --- | --- |
| **什麽** | `init`, (中文(简体) ), `add`, (中文(简体) ), `status`, (中文(简体) ), `push`, (中文(简体) ), `pull`, (中文(简体) ), `test`, (中文(简体) ), `templates`, (中文(简体) ), `widget embed`, (中文(简体) ), `workflow diagram`, (中文(简体) ), `graph` | `create`, (中文(简体) ), `get`, (中文(简体) ), `list`, (中文(简体) ), `update`, (中文(简体) ), `delete`, (中文(简体) ), `duplicate`, (中文(简体) ), `run_tests`和分组 `branches`, (中文(简体) ), `tools`, (中文(简体) ), `tests`, (中文(简体) ), `conversations` |
| **运行于** | 您的本地工程文件, 将它们与 11Labs 同步 | API 直接——一个命令,一个请求 |
| **参数** | 定位,例如:. `agents test <agent_id>` | 旗帜等. `agents get --agent-id <id>` |
| **产出** | 进度案文 | API的答复`--format json|table|yaml|csv`(中文(简体) ) |

API命令拥有原始名称,因此工作流程只增加了API没有的动词. 有两个后果值得了解:

-   **列名** —— 说 `agents list` 是API在您工作空间的代理列表 。 对于什么配置 _当地_,使用时 `agents status`。 。 。 .
-   **删除** —— 说 `agents delete --agent-id <id>` 远程删除( API 命令)。 没错 **没有** 删除本地配置文件或其 `agents.json` 条目;自行删除.

> **从 v0 (`@elevenlabs/cli`:** v0 级 `agents list` 显示本地配置和 `agents delete <id>` 占据了位置 并清理了当地。 在v1中,这两个名称都属于API表面——使用 `agents status` 用于本地视图,以及 `--agent-id` 用于删除。 v0 级 `agents widget <id>` 现在 `agents widget embed <id>`,从 `agents widget` 是一个 API 分组.

### 可视化工作流程

工作流程作为 `workflow.nodes` 编号 : `workflow.edges` 在代理配置中,它既无所失又难以读取,更难作为diff审查. `agents workflow diagram` 将一个变成流程图:

```bash
# Draw it in the terminal: a config or workflow file, or an id or name from agents.json
elevenlabs agents workflow diagram Support
elevenlabs agents workflow diagram agent_configs/support.json
elevenlabs agents workflow diagram workflows/support.json          # a bare workflow, e.g. exported by an SDK's Workflow builder
elevenlabs agents workflow diagram --all

# Print it as Mermaid source, to save, or to paste into docs or a PR comment
elevenlabs agents workflow diagram Support --format mermaid > docs/support-flow.mmd
elevenlabs agents workflow diagram Support --format mermaid-md     # wrapped in a ```mermaid fence
elevenlabs agents workflow diagram --all --format mermaid-md       # every agent and branch, one section each
```

它只读取本地文件:没有 API 密钥,没有网络,所以它也在 CI 在叉上运行.

默认格式, `ascii`,绘制框和箭头(在 stdout 是一个终端时以颜色表示 `NO_COLOR` 已设置 。 为了保持工作流程的狭义,可以读取,每个边缘条件被绘制为边缘上被编号的密钥,并用下面的传说全文写出:

```
         ╭───────╮
         │ Start │
         ╰───────╯
             │
             │
             │
             │
           ╭───╮
           │ 1 │
           ╰───╯
             │
             │
             ▼
   ┌───────────────────┐
   ║       Tool        ║
   ║ tool_lookup_order ║
   └───────────────────┘
    │                 │
    └───┐          ┌──┘
        │          │
        │          │
    ╭───╮          ╭───╮
    │ 2 │          │ 3 │
    ╰───╯          ╰───╯
      │              │
      │              │
      ▼              │
╭───────────╮        ▼
│    Say    │    ╭───────────────╮
│ Apologize │    │ End (success) │
╰───────────╯    ╰───────────────╯

  1  The caller has given an order number
  2  failure
  3  success
```

几件事让繁忙的工作流程可以读取,所以行不会交叉或一起跑:

-   退后一步( 后退 ) 以分贝结束, 例如 `6 ↩`传说中说: `6 Changes topic (back to 'Ask for the order number')`。 。 。 .
-   在每个路径上划出一条通往(结束、代理或电话传输)的几条路径.
-   当一个节点的分枝仍然会交叉时,它的盒子会被拓宽,或者分枝会重新排列,以不交叉的抽取为准.
-   当绘图比终端宽(或 `COLUMNS`),长ID被缩短,如: `tool_01j…sfb67`如果它仍然不合适, 一张纸条说; `--format mermaid` 有完整的身份证.

`--format mermaid` 指纹 [美人鱼](https://mermaid.js.org/), GitHub 在Markdown 文件、 问题和 PR 评论中给出的。 每个节点类型都有自己的形状和颜色(启动/结束,比如工具,更新状态,子代理,以及代理或电话传输);类型CLI尚不知道被绘制为平淡的破碎框. 边缘标签概括了条件:如果它有一个标签,则它的标签,否则LLM条件文本(已通关), `success`编号 :`failure` 用于工具结果,或 `expression`。向另一方向绘制一个后向状态作为点箭头。 节点和边缘由 ID 排序出,所以输出只在工作流程完成和 diff 清理时才会改变.

```mermaid
flowchart TD
    n_apologize("Say · Apologize")
    n_done(["End (success)"])
    n_lookup[["Tool · tool_lookup_order"]]
    n_start_node(["Start"])
    n_lookup -->|"failure"| n_apologize
    n_lookup -->|"success"| n_done
    n_start_node -->|"The caller has given an order number"| n_lookup
```

### 绘制项目图

代理配置(Agent configs)是指工具,测试,知识基础文档等由ID代理的代理. `agents graph` 追踪所有代理人的参考文献 `agents.json` 并解决他们反对 `tools.json`, (中文(简体) ), `tests.json` 财务报告和审定财务报表 `agents.json`,这样你就可以看到什么与什么相关联,什么变化影响.

```bash
# Every agent, one drawing each, in the terminal
elevenlabs agents graph

# One agent: everything it uses, and every agent that hands off to it
elevenlabs agents graph Billing

# The whole project as one Mermaid graph, for docs or a PR comment
elevenlabs agents graph --format mermaid-md

# Which agents use this tool (or test, agent or document)? An ID, or a tool's or test's name
elevenlabs agents graph --uses tool_refund
```

内容如下:

-   工具输入 `prompt.tool_ids`,工作流程工具节点和 `additional_tool_ids`
-   代理在 `transfer_to_agent` 工具和工作流程 `standalone_agent` 节点( 线条箭头); 交接到该分支已注册的分支点
-   测试 `platform_settings.testing.attached_tests`
-   知识基础文档 `prompt.knowledge_base` 财务报告和审定财务报表 `additional_knowledge_base`,以配置给出的名称显示,因为文档没有本地注册

在工作流程节点的快速覆盖计数中引用。 不在工程中的ID,如仪表板上制作的工具或向repo外的代理人交接,被显示为外出而非投放.

在终端中,每个代理都是自己抽取的,作为一张卡片,上面有各种连接的倒数,环绕它的东西被组合成每个类型的一个盒子:左手交给它的代理,而右手交给它的代理,工具,测试和文件. 交接是厚重的箭头,箱子是订购的,所以没有两行交叉. 如果绘图比终端宽(或 `COLUMNS`,在设定时,将长ID缩短到开始和结束,如 `tool_01jx…sfb67`。 。 。 . `--format mermaid` 将整个工程画成一个图表,每个资源都有节点.

```
                                                              ┌──────────────┐
                                                              ║  Tools (1)   ║
                                                              ║ issue_refund ║
                                 ┌──────────────────┐────────►└──────────────┘
┌─────────────────────────┐      │      Agent       │
│   Handed off from (2)   │      │     Billing      │
│         Support         │━━━━━►│ 2 hand off to it │
│ Support (branch 'beta') │      │      1 tool      │
└─────────────────────────┘      │    1 document    │    ┌────►┌───────────────┐
                                 └──────────────────┘────┘     ( Documents (1) )
                                                               (  Pricing FAQ  )
                                                               └───────────────┘
```

`--uses` 打印每个引用,分页的一行:代理的ID,名称,以及引用的位置。 这使得脚本变得容易,例如检查一个已修改的工具配置会影响哪些代理:

```
agent_billing	Billing	prompt.tool_ids
agent_support	Support (branch 'beta')	workflow node 'refunds'
```

### 工具

管理 Webhook 和客户端工具 您的代理引用 。 工具在 `tools.json` 下方为配置 `tool_configs/`。 。 。 .

```bash
# Create a webhook or client tool, upload it, and register it in tools.json
elevenlabs tools add <name> [--type webhook|client] [--config-path <path>]

# Sync tool configs with ElevenLabs
elevenlabs tools push [--tool <tool_id>] [--dry-run]
elevenlabs tools pull [--tool <tool_id>] [--output-dir tool_configs] [--update] [--all] [--dry-run]

# Delete a tool locally and in ElevenLabs
elevenlabs tools delete <tool_id>
elevenlabs tools delete --all
```

### 测试

管理代理测试, 跟踪到 `tests.json` 下方为配置 `test_configs/`把它们附在特工的身上 `platform_settings.testing.attached_tests` 和运行他们在一起 `elevenlabs agents test <agent_id>`。 。 。 .

```bash
# Create a test from a template, upload it, and register it in tests.json
elevenlabs tests add <name> [--template basic-llm|tool|conversation-flow|customer-service]
elevenlabs tests templates list

# Sync test configs with ElevenLabs
elevenlabs tests push [--test <test_id>] [--config-dir test_configs] [--dry-run]
elevenlabs tests pull [--test <test_id>] [--output-dir test_configs] [--update] [--all] [--dry-run]

# Delete a test locally and in ElevenLabs
elevenlabs tests delete <test_id>
elevenlabs tests delete --all
```

`tests push` (单位:千美元) **自动发现** 未跟踪配置: 它扫描 `--config-dir` 递归 `.json` 看起来像测试的文件(a) `chat_history` 数组或一个 `success_condition` 字符串)并注册到 `tests.json` 在推前,可以不手工编辑索引而将一个配置放入并推出.

### 模板

预建的起始配置 `agents add`列表中 `elevenlabs agents templates list` (检查一个与 `agents templates show <template>`:

| 模板 | 说明 |
| --- | --- |
| `default` | 包含所有可用字段和合理默认的完整配置 |
| `minimal` | 只有必要字段的最小配置 |
| `voice-only` | 优化仅限声音的对话 |
| `text-only` | 优化仅限文本的对话 |
| `customer-service` | 为客户服务设想预设 |
| `assistant` | 一般用途 AI 助理配置 |

## 数据居住

选择您请求所在的区域 。 设置存储于 `~/.elevenlabs/config.json` 适用于 **每个** 命令 :

```bash
elevenlabs residency                 # show the current region and its base URL
elevenlabs residency eu-residency    # switch region
```

| 地区 | 基础 URL |
| --- | --- |
| `global` (默认) | `https://api.elevenlabs.io` |
| `us` | `https://api.us.elevenlabs.io` |
| `eu-residency` | `https://api.eu.residency.elevenlabs.io` |
| `in-residency` | `https://api.in.residency.elevenlabs.io` |
| `sg-residency` | `https://api.sg.residency.elevenlabs.io` |

`--base-url` 财务报告和审定财务报表 `ELEVENLABS_BASE_URL` 当您需要一次性重置时优先。 本区域还制定了 `server-location` 属性 `agents widget`。 。 。 .

## UI 组件

安装 [十一实验室](https://ui.elevenlabs.io/) 包含到您的项目中的组件( 代表为 `shadcn`,因此需要节点/npm:

```bash
elevenlabs components add                    # all components
elevenlabs components add conversation-bar
```

## 使用量

每个API资源都作为子命令(例如. `elevenlabs <resource> <method>`) (中文(简体) ). 运行 `elevenlabs <resource> --help` 以查看可用的方法.

作为旗帜或JSON提供请求参数:

```bash
elevenlabs <resource> <method> --json '{"key": "value"}'
```

## 文档

见 [页:1](https://npmcn.com/package/%40elevenlabs/cli/reference.md) 为完整命令参考.

## 高级

### 通用旗帜

每个行动都有这些旗帜:

| 旗帜 | 说明 |
| --- | --- |
| `--dry-run` | 本地验证请求并打印 HTTP 请求而不发送 |
| `--json <JSON|->` | 作为JSON(或 `-` 改为 stdin) |
| `--params <JSON>` | 将额外参数合并为 JSON( 覆盖单个旗帜) |
| `--format <json|table|yaml|csv>` | 输出格式( 默认) `json`(中文(简体) ) |
| `--output <PATH>` | 写入文件的二进制回复 |
| `--base-url <URL>` | 覆盖 API 基础 URL |
| `--page-all` | 作为 NDJSON 的自动标签和流结果 |
| `--page-limit <N>` | 自动剪贴时获取的最大页面( 默认) `10`(中文(简体) ) |
| `-q, --quiet` | 成功时禁用 stdout 输出( 错误仍为 stderr ) |
| `--intent <TEXT>` | 可选的单一判决对你想做什么的描述(见 [告诉我们你在做什么](https://npmcn.com/package/%40elevenlabs/cli/#readme-telling-us-what-you-are-doing)(中文(简体) ) |
| `--telemetry <on|off>` | 请求是否包含匿名平台标记( 见 [遥测](https://npmcn.com/package/%40elevenlabs/cli/#readme-telemetry)(中文(简体) ) |

### 环境变量

| 变量 | 说明 |
| --- | --- |
| `ELEVENLABS_BASE_URL` | 覆盖 API 基础 URL |
| `ELEVENLABS_CA_BUNDLE` | 带有额外信任根的 PEM 文件路径( 或) `SSL_CERT_FILE`(中文(简体) ) |
| `ELEVENLABS_INSECURE=1` | 跳过 TLS 校验( 只调试) |
| `ELEVENLABS_PROXY` | HTTP( S) 代理 URL |
| `ELEVENLABS_TIMEOUT_SECS` | 请求总超时数( 秒) |
| `ELEVENLABS_TELEMETRY=off` | 关闭匿名平台标签( 见 [遥测](https://npmcn.com/package/%40elevenlabs/cli/#readme-telemetry)(中文(简体) ) |

标准环境变量(`HTTPS_PROXY` 编号 : `HTTP_PROXY` 编号 : `NO_PROXY` 编号 : `SSL_CERT_FILE`) 也享有荣誉.

### 告诉我们你在做什么

多数 `elevenlabs` 交通来自AI特工. 两个可选输入允许代理 说它在做什么,它不能做什么, 这就是告诉我们什么 命令来构建下一个。 两者都是选入; CLI 行为相同,没有 他们.

**`--intent`** - 为什么这个命令要运行。 发作为 `X-Agent-Intent` 请求头.

```bash
elevenlabs voices search --intent "pick a narrator voice for an audiobook"
```

旗帜是唯一的输入——没有环境变量设置 打算一次完成整个任务。 每个命令的新句子是故意的: 根据顺序,一系列命令的意向 显示呼叫者是什么 操作中, 无法使用全任务字符串 .

一个被拒绝的值(见下文)会在stderr上发出警告,并且没有发送标题,但 命令仍然运行:遥测绝不能是请求失败的原因.

**`elevenlabs feedback missing-capability`** 你需要CLI做点什么 没有。 没有任何要求 附加,所以它得到自己的命令:

```bash
elevenlabs feedback missing-capability \
  "no way to batch-render a script to separate files per speaker"
```

#### 在两个字段外保留个人数据

说明 _目标_而不是数据。 资源标识( E)`agent_01jz…`和 项目相对路径很好; 姓名、客户内容和任何您想要的 不是在分析店里想要的 不是.

其中两项是强制执行的,而不是信任的。 值超过500 字符,或带有证书或绝对文件路径的字符被删除 在请求建立之前—— `--intent` 在 stderr 和命令上发出警告 正常收益,同时 `feedback` 失败, 您可以重写它 。 其余的就是 指导:故意不过滤联系方式,因为电话和 没有这些支持能力差距就无法描述.

为零保留和企业完全保留免费文本 工作空间,是实际存在的边界.

### 遥测

每个要求 `User-Agent` 匿名地说,大概是CLI运行的地方 我们可以看到哪些平台需要工作 有多少平台需要工作 人们尝试CLI与 `npx` 在安装前 :

```
elevenlabs-cli/1.7.1 os/macos install/npx
```

`os/` 实值 `macos`, (中文(简体) ), `linux`, (中文(简体) ), `windows` 或者说 `other`· ; `env/`当出现时 `ssh`, (中文(简体) ), `container` 或者说 `wsl`· ; `install/` 从二进制的坐落地读取(`npx`, (中文(简体) ), `bunx`, (中文(简体) ), `pnpm-dlx`, (中文(简体) ), `yarn-dlx`, (中文(简体) ), `npm`, (中文(简体) ), `homebrew`, (中文(简体) ), `scoop`, (中文(简体) ), `installer` 或者说 `other`(三); `agent/` 是编码代理或编辑器终端命令运行在, `claude-code`, (中文(简体) ), `claude-desktop`, (中文(简体) ), `cursor`, (中文(简体) ), `codex`, (中文(简体) ), `gemini-cli` 或者说 `vscode`, (中文(简体) ), 从该工具集的变量中读取. `cursor` 财务报告和审定财务报表 `vscode` 也涵盖a 命令在编辑器终端中输入。 机器没有别的东西 发送: 没有路径, 主机名或 id . `onboard` 将相同的值放在 签入审批链接.

`onboard` 并说项目最后的签注是如何结束的 当它结束于 过去的一天 : `signin/<outcome>` 根据委员会的要求 `cli_prev` 下一个 核准链接,其中 `<outcome>` 是一个固定的单词, 例如 `timed-out`, (中文(简体) ), `stopped` 或者说 `no-key`。链接还包含 `cli_prev_id`,开始 a SHA -256 散列的标志 `state`,因此可以匹配到它的批准 页面; 状态本身从未发送.

把它关掉,通过 `--telemetry off` 转到任何命令,或设置 `ELEVENLABS_TELEMETRY=off` (或 `DO_NOT_TRACK=1`)通通通通地关. `--telemetry on` 打开一个命令 关机不会 删除 `cmd/<command>` 标记工作流程命令添加,或者 `--intent` 你们 自我介绍一下.

### 输出格式

使用全局 `--format` 用于控制输出的旗帜。 支持的数值 : `json` (违约), `table`, (中文(简体) ), `yaml`, (中文(简体) ), `csv`。 。 。 .

```bash
# Pipe JSON output through jq
elevenlabs <resource> <method> --format json | jq

# Machine-readable catalog of every operation
elevenlabs --help --format json | jq 'length'
```

### 壳完成

生成 shell 补全脚本 :

```bash
elevenlabs completion <bash|zsh|fish|powershell>
```

## 发展

CLI 由 [费恩](https://buildwithfern.com/) 从11Labs OpenAPI spec中取出,其中代理-as-code工作流程以手写命令的形式分层于上 `cli/elevenlabs/workflow/`。这些文件,连同这个读取器和 `.github/workflows/ci.yml`,列在 `.fernignore` 因此,再生不能覆盖它们.

### 测试

```bash
cargo test                                              # framework + workflow + wire tests
cargo test --manifest-path elevenlabs-sdk/Cargo.toml    # generated SDK crate
cargo test --manifest-path elevenlabs-types/Cargo.toml  # generated types crate
```

生成的箱子是路径依赖性而不是工作空间成员,所以很简单 `cargo test` 跳过它们,因此分别引用(CI运行全部三个).

| 套间 | 它包含什么 |
| --- | --- |
| `cargo test --test wire_test` | 生成的电线测试:每个测试站起一个进程内模拟服务器,通过CLI驱动一个端点,并声明请求并做出响应. 无为网. |
| `cargo test --bin elevenlabs` | 手写工作流程的单元测试(配置回转,模板,拉动规划,居住, |
| `cargo test --test flows_wait_test` | `flows … create-and-wait` 对模拟服务器: `Retry-After` 节奏,超时, `failed` 退出代码,选项验证. 睡眠在虚拟时钟上运行. 无为网. |
| `cargo test --test e2e_smoke` | 现场端到端烟测试—— **选入**,见下文 |

`flows … create-and-wait` 从 `cli/elevenlabs/workflow/flows_spec.json`,则 `/v1/flows/` 切片为 `cli/elevenlabs/openapi0.json`。再生改变流谱后, `cargo test` 失败, 直到您刷新它 `UPDATE_FLOWS_SPEC=1 cargo test --bin elevenlabs flows_spec`。 。 。 .

### 现场末端烟雾测试

`tests/e2e_smoke.rs` 对照真实账户运行全部工作流程 : `init` → `add` → `push` → `pull` → `delete`,断言一个配置在一推/拉来回字节中存活.

> ⚠️ **它创建和删除代理. 使用一个专用的,空的测试账户——从不生产.**

选入和跳出,除非 `ELEVENLABS_E2E_API_KEY` 已经设定。 那个变量是故意的 _没有_ `ELEVENLABS_API_KEY`,所以您通常的证书输出的外壳不能意外地改变一个活的工作空间:

```bash
ELEVENLABS_E2E_API_KEY=xi-... cargo test --test e2e_smoke -- --nocapture
```

它清除它创建的代理,包括失败时的代理;如果删除失败,它会打印出用手清除的ID.

## 常见问题

### @elevenlabs/cli 是什么？

十一层的CLI

### 如何安装 @elevenlabs/cli？

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

### @elevenlabs/cli 支持 TypeScript 吗？

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

### @elevenlabs/cli 可以商用吗？

@elevenlabs/cli 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @elevenlabs/cli 的下载量有多少？

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

### @elevenlabs/cli 还在维护吗？

最新版本 1\.11\.0 发布于 2026/11/12（1 天前）；至今共发布 42 个版本，其中过去 12 个月发布了 36 个；首次发布于 2025/10/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

