跳到导航

ElevenLabs CLI

通过命令行以代码方式管理语音智能体。

概述

ElevenLabs CLI 可让你通过终端访问 ElevenLabs 智能体,解锁更多管理方式:

  • 将智能体以代码形式存储在版本控制系统中
  • 设置 CI/CD 集成,自动部署智能体
  • 让编码智能体访问和管理语音智能体
想直接查看代码?

在 GitHub 查看完整源代码并参与贡献。

无需安装

如果你使用 Claude 或其他 MCP 客户端,托管 MCP 服务器提供无需本地安装的智能体管理工具。若要将智能体纳入版本控制,请使用 CLI;如需通过对话管理,请使用托管 MCP 服务器。

安装

推荐使用 Homebrew(macOS)和 Scoop(Windows)安装,它们会提供独立二进制文件。

brew install elevenlabs/tap/elevenlabs

正在使用 AI 编程助手?在项目中运行 elevenlabs generate-skills,即可将每个命令组的 SKILL.md 写入 skills/,无需粘贴文档,助手就能了解 CLI 的完整功能。使用 --output-dir 可将其放到其他位置。该命令会读取 CLI 内置的 API 定义,因此无需 API 密钥且可离线运行——还能始终与已安装的 CLI 版本保持同步。

安装后,可在终端中全局使用 elevenlabs 命令。

快速开始

1

初始化新项目

elevenlabs agents init

这会创建包含配置目录和注册表文件的项目结构。

2

使用 ElevenLabs 进行身份验证

elevenlabs auth login

这会打开浏览器窗口,通过 OAuth 进行身份验证。CLI 会验证凭据并安全存储。

3

创建第一个智能体

elevenlabs agents add "My Assistant" --template assistant

这会使用助手模板创建新的智能体配置。

4

推送到 ElevenLabs 平台

elevenlabs agents push

这会将本地智能体配置上传到 ElevenLabs 平台。

项目结构

CLI 会创建结构化的项目目录:

your_project/
├── agents.json # Central agent configuration registry
├── tools.json # Tool definitions registry
├── tests.json # Test definitions registry
├── agent_configs/ # Agent configuration files
├── tool_configs/ # Tool configuration files
└── test_configs/ # Test configuration files

身份验证

elevenlabs auth login 会将凭据存储在操作系统的密钥环中:macOS 使用 Keychain, Windows 使用凭据管理器,Linux 使用 Secret Service。如果没有可用的密钥环, CLI 会回退到权限为 0600 的 ~/.config/elevenlabs/auth-keyring.json。运行 elevenlabs auth status 可查看当前使用的来源,运行 elevenlabs auth logout 可删除已存储的条目。

对于 CI,请在环境变量或 .env 文件中设置 ELEVENLABS_API_KEY,无需登录。

身份验证命令

elevenlabs auth login

智能体管理

创建智能体

使用预设模板创建智能体:

elevenlabs agents add "Agent Name" [options]

选项:

  • --template <type>:从可用模板中选择(默认值:default)
  • --skip-upload:仅在本地创建,不上传到平台

示例:

elevenlabs agents add "Customer Support Bot" --template customer-service

模板

CLI 为常见使用场景提供 6 个预设模板:

包含所有可用字段的完整配置,提供合理默认值、完整的语音/文本支持、小组件自定义和评估标准。

仅包含必要字段,包括基本提示词、语言、TTS 和对话设置。

专为语音交互优化,禁用文本输入,并提供高级语音设置。

以文本为重点的对话,禁用语音功能。

专业且富有同理心的提示词、较低温度(0.1)、30 分钟时长和评估 标准。

通用 AI 助手,兼顾创意性(温度 0.3),并支持灵活的语音/文本交互。

模板命令

elevenlabs agents templates list

同步

让本地配置与 ElevenLabs 平台保持同步:

elevenlabs agents push

状态和监控

检查智能体状态
elevenlabs agents status

导入和导出

elevenlabs agents pull

默认情况下,elevenlabs agents pull 会跳过本地已存在的智能体。使用 --update 标志可使用在浏览器中或通过 API 所做的远程更改覆盖本地配置。

工具管理

CLI 支持两类工具,用于扩展智能体能力:

Webhook 工具

支持身份验证和超时配置的 HTTP API 集成:

elevenlabs tools add "API Integration" --type "webhook" --config-path ./config.json

客户端工具

直接在客户端集成:

elevenlabs tools add "Client Function" --type "client" --config-path ./config.json

小组件生成

生成用于 Web 集成的 HTML 嵌入代码:

elevenlabs agents widget embed <agent_id>

输出的 HTML 代码如下:

<elevenlabs-convai agent-id="agent_id_here"></elevenlabs-convai>
<script src="https://unpkg.com/@elevenlabs/convai-widget-embed" async></script>

配置文件

智能体配置结构

每个智能体配置包括:

{
"name": "Agent Name",
"conversation_config": {
"agent": {
"language": "en",
"prompt": {
"prompt": "You are a helpful AI assistant.",
"llm": "gemini-3.5-flash",
"temperature": 0.0
}
},
"tts": {
"model_id": "eleven_turbo_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"agent_output_audio_format": "pcm_16000"
},
"asr": {
"provider": "scribe_realtime",
"quality": "high",
"user_input_audio_format": "pcm_16000"
},
"conversation": {
"text_only": false,
"max_duration_seconds": 600,
"client_events": ["audio", "interruption"]
}
},
"platform_settings": {
"widget": {
"variant": "full",
"placement": "bottom-right"
}
},
"tags": []
}

CI/CD 流水线集成

# In your GitHub Actions workflow
- name: Deploy ElevenAgents agents
run: |
npm install -g @elevenlabs/cli
export ELEVENLABS_API_KEY=${{ secrets.ELEVENLABS_API_KEY }}
elevenlabs agents push --dry-run # Preview changes
elevenlabs agents push # Deploy
elevenlabs agents status # Verify deployment