Open in
ThunderPhone CLI
Đăng nhập, quản lý tác nhân AI thoại và cuộc gọi, cấu hình ứng dụng khách MCP, và tạo khung dự án từ terminal.
CLI yêu cầu Node.js 18.18 trở lên. Chạy bằng npx hoặc cài đặt trên toàn cục:
npm install -g thunderphone
thunderphone --helpĐăng nhập
npx thunderphone login
thunderphone whoami --jsonLệnh đăng nhập in mã xác minh, mở trình duyệt và chờ cấp quyền.
Dùng --no-browser trên máy không có giao diện và mở URL được in ở nơi khác.
Đăng nhập thiết bị yêu cầu API đã triển khai quy trình OAuth dành cho thiết bị. API key của tổ chức trong THUNDERPHONE_API_KEY cũng có thể xác thực lệnh và được ưu tiên
hơn thông tin đăng nhập đã lưu.
Thông tin xác thực được lưu theo profile trong ~/.config/thunderphone/credentials.json
với chế độ tệp 0600. XDG_CONFIG_HOME và THUNDERPHONE_CONFIG_DIR ghi đè thư mục.
Access token tự động làm mới và refresh token xoay vòng được lưu nguyên tử. Token không bao giờ được lệnh đăng nhập in ra.
thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile workTHUNDERPHONE_PROFILE đặt profile mặc định. Đăng xuất sẽ xóa thông tin xác thực cục bộ;
không thu hồi quyền cấp trên máy chủ. API mặc định là https://api.thunderphone.com.
Dùng --api-base-url hoặc THUNDERPHONE_API_BASE_URL cho API khác. Token của một profile
không thể gửi đến URL API được cấu hình khác; hãy đăng nhập vào URL đó bằng một profile riêng.
Lệnh
Mọi lệnh đều chấp nhận --json. Dữ liệu thành công được gửi đến stdout; lỗi được gửi đến stderr
với mã thoát khác 0. Không có --json, đầu ra là bảng hoặc danh sách trường gọn nhẹ.
JSON giữ nguyên cấu trúc phản hồi API, với các trường thông tin xác thực được che giấu. Việc phục vụ MCP
dành riêng stdout cho giao thức MCP.
| Lệnh | Mục đích |
|---|---|
login [--no-browser] [--scope "scopes"] | Ủy quyền bằng mã thiết bị |
logout, whoami | Xóa thông tin xác thực cục bộ; liệt kê tổ chức có thể truy cập |
agents list, agents get ID | Đọc tác nhân AI |
agents create --file agent.json | Tạo tác nhân AI |
agents update ID --file agent.json | Lưu bản nháp tác nhân AI |
agents deploy ID, agents delete ID | Triển khai bản nháp; xóa tác nhân AI |
numbers list | Đọc số điện thoại |
numbers provision --country US --area-code 415 | Cấp số nhận cuộc gọi đến tại Hoa Kỳ |
numbers assign NUMBER_ID --agent ID | Gán tác nhân AI nhận cuộc gọi đến |
sms send TO --from FROM --body TEXT --idempotency-key KEY | Gửi SMS qua số nhà mạng do khách hàng kết nối với khả năng phát lại an toàn |
sms list [--limit N], sms get UUID | Liệt kê hoặc kiểm tra bản ghi SMS |
call TO --agent ID --from FROM [--wait] | Thực hiện cuộc gọi đi; tùy chọn chờ bản ghi chép lời thoại |
calls list [--limit N] [--agent ID] | Liệt kê cuộc gọi (giới hạn 1–200) |
calls get ID, calls transcript ID | Đọc một cuộc gọi hoặc bản ghi chép lời thoại của cuộc gọi đó |
test run AGENT_ID [--scenario ID] --consent-to-charge | Chạy các kịch bản đã lưu có tính phí bằng kênh web |
test status RUN_ID [--agent ID] | Kiểm tra một lô, kèm chi tiết kịch bản khi có tác nhân AI |
import VENDOR export.json | Chuẩn bị dữ liệu nhập JSON của nhà cung cấp để xem xét |
imports get UUID, imports commit UUID | Kiểm tra dữ liệu nhập; xác nhận các tác nhân AI đã chọn sau khi xem xét |
mcp setup, mcp serve | Cấu hình một ứng dụng khách; khởi động cầu nối stdio |
init [directory] | Tạo khung dự án |
Cuộc gọi đi yêu cầu số hỗ trợ gọi đi. THUNDERPHONE_FROM_NUMBER có thể
cung cấp --from. Số VoIP của khách hàng vẫn hỗ trợ cuộc gọi đi.
Các số do ThunderPhone cấp ban đầu chỉ nhận cuộc gọi đến; quản trị viên tổ chức có thể
yêu cầu bật gọi đi từ trang Số điện thoại, nơi mỗi yêu cầu được
xem xét thủ công. --wait mặc định có thời gian chờ một giờ; đặt
--timeout SECONDS để thay đổi. Hết thời gian chờ sẽ ngừng chờ mà không kết thúc cuộc gọi.
SMS cũng yêu cầu số có khả năng SMS trên tài khoản Twilio hoặc Telnyx đã kết nối của bạn. SMS không bao giờ được gửi từ số thuộc sở hữu của ThunderPhone. Chỉ sử dụng lại khóa idempotency khi thử lại với chính xác cùng người gửi, người nhận và nội dung.
Dữ liệu nhập hỗ trợ vapi, retell, elevenlabs và bland. Đối số thứ hai là
đường dẫn đến tệp xuất JSON của nhà cung cấp, không phải ID nhà cung cấp từ xa. API chuẩn bị ánh xạ
không đồng bộ; kiểm tra bằng imports get UUID và chỉ xác nhận sau khi dữ liệu đã sẵn sàng
và bạn đã xem xét các trường được ánh xạ cùng cảnh báo. Xem nhập tác nhân AI.
Thiết lập MCP
thunderphone mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
thunderphone mcp setup --client codex --scope user --api-key-env THUNDERPHONE_API_KEY
thunderphone mcp setup --client claude-desktop --scope userCác client: claude-code, codex, cursor, vscode, gemini, claude-desktop và
windsurf. Phạm vi dự án là mặc định. Desktop và Windsurf yêu cầu phạm vi người dùng.
Bỏ qua --client để phát hiện một client duy nhất từ dự án; nếu phát hiện không rõ ràng,
hệ thống sẽ nhắc tương tác hoặc thất bại kèm hướng dẫn trong phiên không tương tác.
Thiết lập in ra tệp đã ghi và giữ nguyên các server không liên quan. JSON hiện có
phải là JSON nghiêm ngặt hợp lệ; các giá trị TOML của Codex được giữ nguyên nhưng chú thích có thể được định dạng lại.
Thiết lập ưu tiên HTTP từ xa trực tiếp. Với --api-key-env, nó ghi tham chiếu
biến, không bao giờ ghi khóa. Không có tùy chọn đó, HTTP trực tiếp dựa vào khả năng
OAuth của client; nó không sử dụng tệp thông tin xác thực CLI. Để dùng lại thông tin xác thực
thunderphone login trong bất kỳ client nào hỗ trợ stdio, hãy dùng:
{
"mcpServers": {
"thunderphone": {
"command": "npx",
"args": ["-y", "@thunderphone/mcp"]
}
}
}Trình bao bọc kiểm tra THUNDERPHONE_API_KEY, sau đó kiểm tra hồ sơ CLI hiện tại (làm mới
khi cần), rồi ủy quyền OAuth cho mcp-remote. THUNDERPHONE_MCP_URL ghi đè
điểm cuối. Nó không gửi dữ liệu đo từ xa. Thiết lập độc lập cũng có sẵn qua
npx -y @thunderphone/mcp setup --client cursor hoặc thunderphone-mcp setup sau khi
cài đặt @thunderphone/mcp trên toàn hệ thống.
Tạo một dự án
npx create-thunderphone-agent my-receptionist
npx create-thunderphone-agent my-outbound --template python --agent-type outbound
# Equivalent:
thunderphone init my-receptionist --template node --agent-type receptionistCác mẫu là node và python; các loại tác nhân là receptionist, outbound và
custom. Tác nhân mặc định là lễ tân nha khoa tiếng Anh/tiếng Tây Ban Nha với các
dữ kiện minh họa rõ ràng. Dự án bao gồm agent.json, script triển khai, cấu hình MCP cho
Claude Code, Cursor và VS Code, hướng dẫn cho tác nhân, .env.example và README.
Quá trình tạo khung hoạt động ngoại tuyến và từ chối ghi đè thư mục không trống.
Chỉnh sửa thông tin doanh nghiệp trước khi triển khai. Xuất khóa API, số điện thoại người gọi
đã kết nối và người nhận thử nghiệm của bạn như được ghi trong README được tạo. npm run deploy
hoặc python deploy.py tạo hoặc cập nhật tác nhân, triển khai bản nháp và thực hiện một cuộc gọi thử
có tính phí. Các script sử dụng xác thực bằng khóa API; CLI và trình bao bọc MCP stdio
cũng hỗ trợ đăng nhập thiết bị. Script Python yêu cầu Python 3.9 trở lên.