exotel-cli

中文文档
0.1.6发布于 2026/11/03MIT零依赖

extel的代理优先CLI:登录一次,将extel MCP服务器连接到Claude Code, Cursor, Codex, VS Code, Windsurf或Claude Desktop,安装extel代理技能,并调用任何带有JSON输出的extel MCP工具,——dry-run和花费确认。

中文使用文档
文档目录10 节
  1. 安装
  2. 你的第一次呼叫是一次命令
  3. 不确定是哪个API?
  4. 你能做什么
  5. 代理技能
  6. 安全,专为特工打造
  7. 两个界面,一个登录
  8. CI /非交互式
  9. 开发
  10. 安全笔记

exotel-cli

来自终端的Exotel,为编码代理而建。一个命令连接Claude Code, Cursor, Codex, vscode, Windsurf或Claude Desktop到您的Exotel帐户,并教代理Exotel工作流程。

npx exotel-cli init

init 询问您的帐户SID, API密钥和API令牌(my.exotel.com→设置→API设置), 检查它们,保存到 ~/.config/exotel/credentials.json (模式600),注册Exotel MCP 在它找到的每个代理中安装服务器(备份每个配置文件),并安装Exotel技能。

要求Node.js 18+。没有依赖关系。

安装

如何命令需要
npmnpm install -g exotel-cli (或运行一次: npx exotel-cli init)node . js 18 +
Homebrew (macOS, Linux)brew install exotel/tap/exotel没有别的,包括选项卡补全
单独的文件下载 exotel-<version>-<os>-<arch> 从GitHub发布,放 exotel 在你的路上没有其他的

选项卡完成npm安装: exotel completion zsh > "${fpath[1]}/_exotel" (或 bash, fish;看到 exotel help completion).

自己构建二进制文件: npm run build:binary → dist/exotel (构建Node 25.5+;结果不需要Node)。

你的第一次呼叫是一次命令

npm install -g exotel-cli
exotel init        # paste Account SID, API key, API token once
exotel call        # asks what should answer (VoiceBot, App Bazaar flow or your wss bot), who to call, then follows the call live

exotel call 从你的VoiceBots和exophone中挑选,记住你的电话号码和来电显示 (exotel config),在结账之前询问,并以发生的事情和下一个命令结束 (笔录、通话记录、 exotel explain <status>). 每个提示都有一个标志,所以脚本和代理 永远不要被问到: exotel call +9198XXXXXXXX --bot-id Asha --caller-id <ExoPhone> --yes。

输出在终端中是一个可读的表,在管道或带有时是JSON --json。拼写错误得到解决 “你的意思是?” NO_COLOR=1 关闭颜色; --quiet 隐藏的进步。

不确定是哪个API?

exotel ask "connect my OpenAI bot to a phone call"     # recommended API, command, gotchas + docs from both portals
exotel docs search warm transfer                       # search developer.exotel.com + docs.exotel.com (1,200+ pages)
exotel docs show https://developer.exotel.com/docs/agentstream/connect-voice-ai   # read a page as Markdown

你能做什么

产品命令文档
账户exotel balanceVoice v1→Balance
电话号码(ExoPhones)exotel numbers available | buy | list | get | update | releaseExoPhones API
SIP中继exotel trunk setup (所有的步骤同时),或者 create | map-number | set-number-mode | whitelist-ip | destination | credentials add|list|delete | caller-id | delete动态SIP中继
您自己的语音机器人(标准)exotel voice-ai connect --to … --stream-url wss://…,或 --app-id <app_id> 一个带有Voicebot小程序的App Bazaar流连接语音AI API
Exotel VoiceBotexotel voicebot list | test-call | transcriptVoiceBot
实时呼叫控制(需要通过Exotel支持实现)exotel leg create | get | events | action, exotel bridge …, exotel events listen | scaffold腿API
ExoMLexotel exoml validate flow.xml (和 leg action 发送前验证)ExoML
流人exotel applet test connect|gather|dial|passthru|stream <url>连接/收集/ Passthru /流应用程序
短信、WhatsApp、电话、CQA、AI辅助……exotel mcp tools, exotel mcp call <tool> key=value…MCP服务器工具
别的exotel api <METHOD> </path/with/{sid}>任何Exotel REST API

exotel <command> --help 列出每个标志(例如 exotel trunk --help).

未覆盖:Voice v3 (/v3/accounts/{sid}/calls). 使用 exotel api 如果需要的话。

代理技能

技能为
exotel-setup从这里开始:连接、验证并选择合适的技能
exotel-phone-numbers看到和路线号码;余额(购买:通过Exotel支持)
exotel-messaging-and-calls短信(印度DLT), WhatsApp,简单的电话,点击呼叫
exotel-voicebot-quickstartexotel托管AI语音机器人:创建→测试呼叫→记录→修复
exotel-connect-voice-ai你自己的语音机器人(OpenAI, ElevenLabs, Gemini, Sarvam, Pipecat…
exotel-sip-trunking通过SIP连接PBX / SBC / Voice AI平台;SIP错误码
exotel-call-control实时呼叫的腿部、桥接和ExoML操作(需求实现)
exotel-flow-webhooks为流小程序编写和测试动态URL处理程序
exotel-call-debugging为什么呼叫或信息失败
exotel-conversation-quality会话智力评分
exotel skill list
exotel skill install all                         # detected agents, user-wide
exotel skill install exotel-sip-trunking --agent claude --project
exotel skill install all --dir ./my-agent/skills

技能也活在 /skills,所以 npx skills add exotel/ExotelMCP 作品。

安全,专为特工打造

  • JSON输出 用管子吹或用 --json,错误包括(与Exotel的错误) code, message 和一个 hint).
  • --dry-run 对于发送、调用或写入的每个命令:打印准确的请求,而不是凭据。
  • 确认有帐单的东西或真正的电话响的东西$),任何不可逆的(!), 任何改变实时呼叫路由(~)需要 --yes 或者一个交互式的“y”。没有它 CLI退出时显示代码3,并打印出它应该执行的操作。
  • 退出代码: 0 ok, 1错误,2使用,3确认,4未登录。
  • 在argv中没有秘密: API令牌和SIP密码来自一个隐藏的提示,一个env变量或 --…-stdin。 whoami 和 mcp config 掩盖秘密,除非你通过 --reveal。

两个界面,一个登录

CLI直接调用Exotel的REST api。MCP服务器(https://mcp.exotel.com/mcp)给予代理人 VoiceBot, SMS, WhatsApp,会话智能等工具。 exotel init 设置两者 相同的证书;技能说明了每个任务使用哪个。

CI /非交互式

export EXOTEL_ACCOUNT_SID=… EXOTEL_API_KEY=… EXOTEL_API_TOKEN=… EXOTEL_API_BASE_URL=https://api.in.exotel.com
exotel numbers list --json
exotel trunk setup --name ci_trunk --number +91… --ip 203.0.113.10 --dry-run

环境变量覆盖保存的文件。 EXOTEL_AUTH_JSON 传递完整的MCP报头对象; EXOTEL_MCP_URL 指向自托管的MCP服务器。

开发

cd cli && npm test           # unit + CLI tests, no network
node bin/exotel.js doctor    # live checks
npm pack                     # bundles ../skills into the package

安全笔记

  • 事件接收者(events listen, voice-ai … --listen, voice-ai inbound):收听 127.0.0.1 只有。集 EXOTEL_EVENTS_USER / EXOTEL_EVENTS_PASS 要求基本认证,并要求Exotel支持发送这些凭证 在事件端点上;否则任何拥有你的隧道URL的人都可以发布虚假事件。
  • 你的机器人的公共wss URL:添加一个共享的秘密(BOT_TOKEN 在 examples/exotel-voice-agent).
  • exotel calls recording 将您的Exotel凭据仅发送到 *.exotel.com / *.exotel.in 在HTTPS。
  • exotel integrate elevenlabs setup 给ElevenLabs您的Exotel API密钥和令牌(ElevenLabs需要他们的地方 调用);它先问。为它使用单独的API密钥,以便您可以自行撤销它。
  • claude mcp add 期间暂时接收MCP授权头作为命令参数 exotel init; 其他客户端的配置文件以600模式编写。

版本与发布记录

exotel-cli 共发布 6 个版本,首次发布于 2026/11/03;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.1.6latest2026/11/03今天
0.1.42026/11/03今天
0.1.22026/11/03今天
0.1.12026/11/03今天
0.1.02026/11/03今天
0.0.0-stage2026/11/03今天

关于 exotel-cli 的常见问题

exotel-cli 是什么?

extel的代理优先CLI:登录一次,将extel MCP服务器连接到Claude Code, Cursor, Codex, VS Code, Windsurf或Claude Desktop,安装extel代理技能,并调用任何带有JSON输出的extel MCP工具,——dry-run和花费确认。

如何安装 exotel-cli?

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

exotel-cli 支持 TypeScript 吗?

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

exotel-cli 需要什么版本的 Node.js?

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

exotel-cli 可以商用吗?

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

exotel-cli 还在维护吗?

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