ThunderPhone 2.0 yayında.Hemen kendiniz kullanmaya başlayın; dakikası 2 sentten başlayan fiyatlarla.Duyuruyu okuyun

Getting Started

ThunderPhone CLI

Terminalden oturum açın, sesli AI ajanlarını ve çağrıları yönetin, MCP istemcilerini yapılandırın ve projeler için iskelet oluşturun.

CLI, Node.js 18.18 veya üzerini gerektirir. npx ile çalıştırın veya global olarak yükleyin:

npm install -g thunderphone
thunderphone --help

Oturum açın

npx thunderphone login
thunderphone whoami --json

Oturum açma işlemi bir doğrulama kodu yazdırır, tarayıcıyı açar ve yetkilendirmeyi bekler. Başsız bir makinede --no-browser kullanın ve yazdırılan URL'yi başka bir yerde açın. Cihazla oturum açmak için API'nin OAuth cihaz akışı desteğinin kullanıma sunulmuş olması gerekir. THUNDERPHONE_API_KEY içindeki bir kuruluş API anahtarı da komutların kimliğini doğrulayabilir ve saklanan oturum açma kimlik bilgilerinden önceliklidir.

Kimlik bilgileri, ~/.config/thunderphone/credentials.json içinde profil bazında 0600 dosya modu ile saklanır. XDG_CONFIG_HOME ve THUNDERPHONE_CONFIG_DIR, bu dizini geçersiz kılar. Erişim belirteçleri otomatik olarak yenilenir ve dönüşümlü yenileme belirteçleri atomik olarak kaydedilir. Oturum açma sırasında belirteçler asla yazdırılmaz.

thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile work

THUNDERPHONE_PROFILE, varsayılan profili ayarlar. Oturumu kapatma yerel kimlik bilgilerini kaldırır; sunucu tarafındaki yetkilendirmeyi iptal etmez. Varsayılan API https://api.thunderphone.com adresidir. Farklı bir API için --api-base-url veya THUNDERPHONE_API_BASE_URL kullanın. Bir profilin belirteci farklı yapılandırılmış bir API URL'sine gönderilemez; bu URL'de ayrı bir profille oturum açın.

Komutlar

Her komut --json kabul eder. Başarılı veriler stdout'a; hatalar sıfır olmayan bir çıkış koduyla stderr'e gider. --json olmadan çıktı, kompakt bir tablo veya alan listesidir. JSON, kimlik bilgisi alanları gizlenmiş şekilde API yanıt yapısını korur. MCP sunumu, stdout'u MCP protokolü için ayırır.

KomutAmaç
login [--no-browser] [--scope "scopes"]Cihaz kodu aracılığıyla yetkilendirin
logout, whoamiYerel kimlik bilgilerini kaldırın; erişilebilir organizasyonları listeleyin
agents list, agents get IDAjanları okuyun
agents create --file agent.jsonBir ajan oluşturun
agents update ID --file agent.jsonBir ajan taslağını kaydedin
agents deploy ID, agents delete IDTaslağı yayına alın; bir ajanı silin
numbers listTelefon numaralarını okuyun
numbers provision --country US --area-code 415ABD için gelen arama numarası sağlayın
numbers assign NUMBER_ID --agent IDBir gelen arama ajanı atayın
sms send TO --from FROM --body TEXT --idempotency-key KEYGüvenli yeniden yürütmeyle müşterinin bağlı operatör numarası üzerinden SMS gönderin
sms list [--limit N], sms get UUIDSMS kayıtlarını listeleyin veya inceleyin
call TO --agent ID --from FROM [--wait]Giden arama başlatın; isteğe bağlı olarak transkriptini bekleyin
calls list [--limit N] [--agent ID]Aramaları listeleyin (sınır 1–200)
calls get ID, calls transcript IDBir aramayı veya transkriptini okuyun
test run AGENT_ID [--scenario ID] --consent-to-chargeWeb kanalını kullanarak ücretlendirilebilir kaydedilmiş senaryoları çalıştırın
test status RUN_ID [--agent ID]Bir toplu işlemi inceleyin; ajan sağlandığında senaryo ayrıntılarını görüntüleyin
import VENDOR export.jsonİnceleme için bir sağlayıcı JSON içe aktarması hazırlayın
imports get UUID, imports commit UUIDBir içe aktarmayı inceleyin; incelemeden sonra seçilen ajanları onaylayın
mcp setup, mcp serveBir istemci yapılandırın; stdio köprüsünü başlatın
init [directory]Bir proje iskeleti oluşturun

Giden aramalar, giden arama etkin bir numara gerektirir. THUNDERPHONE_FROM_NUMBER, --from sağlayabilir. Müşteri VoIP numaraları giden aramaları desteklemeye devam eder. ThunderPhone tarafından sağlanan numaralar başlangıçta yalnızca gelen aramalara açıktır; bir organizasyon yöneticisi, her isteğin manuel olarak incelendiği Telefon Numaraları sayfasından giden arama talep edebilir. --wait varsayılan olarak bir saatlik zaman aşımı kullanır; değiştirmek için --timeout SECONDS ayarlayın. Zaman aşımı, aramayı sonlandırmadan beklemeyi durdurur.

SMS için ayrıca bağlı Twilio veya Telnyx hesabınızda SMS özellikli bir numara gerekir. ThunderPhone'a ait bir numaradan asla gönderim yapmaz. İdempotensi anahtarını yalnızca tamamen aynı gönderici, alıcı ve ileti gövdesini yeniden denerken yeniden kullanın.

İçe aktarmalar vapi, retell, elevenlabs ve bland destekler. İkinci bağımsız değişken, uzak bir sağlayıcı kimliği değil, sağlayıcı JSON dışa aktarma dosyasının yoludur. API eşlemeyi eşzamansız olarak hazırlar; imports get UUID ile inceleyin ve yalnızca hazır olduğunda ve eşlenen alanları ve uyarıları gözden geçirdiğinizde onaylayın. Ajan içe aktarmaları bölümüne bakın.

MCP kurulumu

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 user

İstemciler: claude-code, codex, cursor, vscode, gemini, claude-desktop ve windsurf. Varsayılan olarak proje kapsamı kullanılır. Desktop ve Windsurf, kullanıcı kapsamı gerektirir. Projeden tek bir istemciyi algılamak için --client seçeneğini atlayın; belirsiz algılama, etkileşimli olarak sorar veya etkileşimsiz oturumda yönergelerle başarısız olur. Kurulum, yazdığı dosyayı gösterir ve ilgisiz sunucuları korur. Mevcut JSON geçerli katı JSON olmalıdır; Codex TOML değerleri korunur ancak yorumlar yeniden biçimlendirilebilir.

Kurulum doğrudan uzak HTTP'yi tercih eder. --api-key-env ile anahtarı değil, bir değişken referansı yazar. Bu seçenek olmadan doğrudan HTTP, istemcinin OAuth desteğine dayanır; CLI kimlik bilgileri dosyasını kullanmaz. thunderphone login kimlik bilgilerini stdio destekleyen herhangi bir istemcide yeniden kullanmak için şunu kullanın:

{
  "mcpServers": {
    "thunderphone": {
      "command": "npx",
      "args": ["-y", "@thunderphone/mcp"]
    }
  }
}

Sarmalayıcı önce THUNDERPHONE_API_KEY değerini, ardından mevcut CLI profilini kontrol eder (gerektiğinde yeniler), sonra OAuth'u mcp-remote aracına devreder. THUNDERPHONE_MCP_URL, uç noktayı geçersiz kılar. Telemetri göndermez. Bağımsız kurulum ayrıca npx -y @thunderphone/mcp setup --client cursor veya @thunderphone/mcp paketini genel olarak yükledikten sonra thunderphone-mcp setup aracılığıyla da kullanılabilir.

Proje oluşturma

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 receptionist

Şablonlar node ve python; ajan türleri ise receptionist, outbound ve custom seçenekleridir. Varsayılan ajan, açık demo bilgilerine sahip İngilizce/İspanyolca bir diş kliniği resepsiyonistidir. Projeler; agent.json, yayına alma betikleri, Claude Code, Cursor ve VS Code için MCP yapılandırmaları, ajan yönergeleri, .env.example ve bir README içerir. İskelet oluşturma çevrimdışıdır ve boş olmayan bir dizinin üzerine yazmayı reddeder.

Yayına almadan önce işletme bilgilerini düzenleyin. Oluşturulan README'de belgelendiği şekilde API anahtarını, bağlı arayan numarasını ve test alıcınızı dışa aktarın. npm run deploy veya python deploy.py, ajanı oluşturur ya da günceller, taslağını yayına alır ve ücretlendirilebilir bir test araması başlatır. Betikler API anahtarı kimlik doğrulamasını kullanır; CLI ve stdio MCP sarmalayıcısı ayrıca cihazla oturum açmayı da destekler. Python betikleri Python 3.9 veya sonraki bir sürümü gerektirir.