Open in
ThunderPhone CLI
Melden Sie sich an, verwalten Sie Sprachagenten und Anrufe, konfigurieren Sie MCP-Clients und erstellen Sie Projektgerüste über das Terminal.
Die CLI erfordert Node.js 18.18 oder höher. Führen Sie sie mit npx aus oder installieren Sie sie global:
npm install -g thunderphone
thunderphone --helpAnmelden
npx thunderphone login
thunderphone whoami --jsonDie Anmeldung gibt einen Bestätigungscode aus, öffnet den Browser und wartet auf die Autorisierung.
Verwenden Sie --no-browser auf einem Rechner ohne grafische Oberfläche und öffnen Sie die ausgegebene URL an anderer Stelle.
Die Geräteanmeldung setzt voraus, dass der OAuth-Gerätefluss der API bereitgestellt wurde. Ein API-Schlüssel einer Organisation in THUNDERPHONE_API_KEY kann Befehle ebenfalls authentifizieren und hat Vorrang
vor gespeicherten Anmeldedaten.
Anmeldedaten werden nach Profil in ~/.config/thunderphone/credentials.json
mit dem Dateimodus 0600 gespeichert. XDG_CONFIG_HOME und THUNDERPHONE_CONFIG_DIR überschreiben das
Verzeichnis. Zugriffstokens werden automatisch aktualisiert und rotierende Aktualisierungstokens werden
atomar gespeichert. Tokens werden bei der Anmeldung niemals ausgegeben.
thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile workTHUNDERPHONE_PROFILE legt das Standardprofil fest. Die Abmeldung entfernt lokale Anmeldedaten;
sie widerruft nicht die serverseitige Berechtigung. Die Standard-API ist https://api.thunderphone.com.
Verwenden Sie --api-base-url oder THUNDERPHONE_API_BASE_URL für eine andere API. Das Token eines Profils
kann nicht an eine andere konfigurierte API-URL gesendet werden; melden Sie sich mit einem separaten Profil bei dieser URL an.
Befehle
Jeder Befehl akzeptiert --json. Erfolgreiche Daten werden an stdout ausgegeben; Fehler an stderr
mit einem Exit-Code ungleich null. Ohne --json besteht die Ausgabe aus einer kompakten Tabelle oder Feldliste.
JSON behält die Struktur der API-Antwort bei, wobei Anmeldedatenfelder geschwärzt werden. Die MCP-Bereitstellung
reserviert stdout für das MCP-Protokoll.
| Befehl | Zweck |
|---|---|
login [--no-browser] [--scope "scopes"] | Über einen Gerätecode autorisieren |
logout, whoami | Lokale Anmeldedaten entfernen; zugängliche Organisationen auflisten |
agents list, agents get ID | Agenten abrufen |
agents create --file agent.json | Einen Agenten erstellen |
agents update ID --file agent.json | Einen Agentenentwurf speichern |
agents deploy ID, agents delete ID | Den Entwurf bereitstellen; einen Agenten löschen |
numbers list | Telefonnummern abrufen |
numbers provision --country US --area-code 415 | Eine US-Nummer für eingehende Anrufe bereitstellen |
numbers assign NUMBER_ID --agent ID | Einen Agenten für eingehende Anrufe zuweisen |
sms send TO --from FROM --body TEXT --idempotency-key KEY | SMS über eine vom Kunden verbundene Carrier-Nummer mit sicherer Wiederholung senden |
sms list [--limit N], sms get UUID | SMS-Einträge auflisten oder prüfen |
call TO --agent ID --from FROM [--wait] | Einen ausgehenden Anruf tätigen; optional auf dessen Transkript warten |
calls list [--limit N] [--agent ID] | Anrufe auflisten (Limit 1–200) |
calls get ID, calls transcript ID | Einen Anruf oder dessen Transkript abrufen |
test run AGENT_ID [--scenario ID] --consent-to-charge | Abrechenbare gespeicherte Szenarien über den Webkanal ausführen |
test status RUN_ID [--agent ID] | Einen Batch prüfen, mit Szenariodetails, wenn ein Agent angegeben ist |
import VENDOR export.json | Einen JSON-Import eines Anbieters zur Prüfung vorbereiten |
imports get UUID, imports commit UUID | Einen Import prüfen; ausgewählte Agenten nach der Prüfung übernehmen |
mcp setup, mcp serve | Einen Client konfigurieren; die stdio-Bridge starten |
init [directory] | Ein Projektgerüst erstellen |
Ausgehende Anrufe erfordern eine für ausgehende Anrufe aktivierte Nummer. THUNDERPHONE_FROM_NUMBER kann
--from bereitstellen. VoIP-Nummern von Kunden unterstützen weiterhin ausgehende Anrufe.
Von ThunderPhone bereitgestellte Nummern sind anfangs nur für eingehende Anrufe verfügbar; ein Organisationsadministrator kann
auf der Seite Telefonnummern ausgehende Anrufe beantragen, wobei jede Anfrage
manuell geprüft wird. --wait verwendet standardmäßig ein Timeout von einer Stunde; verwenden Sie
--timeout SECONDS, um es zu ändern. Bei einem Timeout wird das Warten beendet, ohne den Anruf zu beenden.
SMS erfordert außerdem eine SMS-fähige Nummer in Ihrem verbundenen Twilio- oder Telnyx- Konto. Es wird niemals von einer ThunderPhone-eigenen Nummer gesendet. Verwenden Sie einen Idempotenz- Schlüssel nur erneut, wenn Sie exakt denselben Absender, Empfänger und Nachrichtentext wiederholen.
Importe unterstützen vapi, retell, elevenlabs und bland. Das zweite Argument ist ein
Pfad zu einem JSON-Export eines Anbieters, keine Remote-Anbieter-ID. Die API bereitet eine Zuordnung
asynchron vor; prüfen Sie sie mit imports get UUID und übernehmen Sie sie erst, wenn sie bereit ist
und Sie die zugeordneten Felder und Warnungen geprüft haben. Siehe Agentenimporte.
MCP-Einrichtung
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 userClients: claude-code, codex, cursor, vscode, gemini, claude-desktop und
windsurf. Der Projektbereich ist der Standard. Desktop und Windsurf erfordern den Benutzerbereich.
Lassen Sie --client weg, um einen einzelnen Client aus dem Projekt zu erkennen; eine mehrdeutige Erkennung
fordert interaktiv zur Auswahl auf oder schlägt in einer nicht interaktiven Sitzung mit Anweisungen fehl.
Die Einrichtung gibt die geschriebene Datei aus und bewahrt nicht zusammenhängende Server. Vorhandenes JSON
muss gültiges striktes JSON sein; Codex-TOML-Werte bleiben erhalten, Kommentare können jedoch neu formatiert werden.
Die Einrichtung bevorzugt direktes Remote-HTTP. Mit --api-key-env schreibt sie eine Variablenreferenz,
niemals den Schlüssel. Ohne diese Option verlässt sich direktes HTTP auf die
OAuth-Unterstützung des Clients; die CLI-Anmeldedatendatei wird nicht verwendet. Um thunderphone login-
Anmeldedaten in einem beliebigen stdio-fähigen Client wiederzuverwenden, verwenden Sie:
{
"mcpServers": {
"thunderphone": {
"command": "npx",
"args": ["-y", "@thunderphone/mcp"]
}
}
}Der Wrapper prüft THUNDERPHONE_API_KEY, anschließend das aktuelle CLI-Profil (und aktualisiert es
bei Bedarf) und delegiert dann OAuth an mcp-remote. THUNDERPHONE_MCP_URL überschreibt
den Endpunkt. Er sendet keine Telemetriedaten. Die eigenständige Einrichtung ist auch über
npx -y @thunderphone/mcp setup --client cursor oder thunderphone-mcp setup verfügbar, nachdem
@thunderphone/mcp global installiert wurde.
Projekt erstellen
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 receptionistVorlagen sind node und python; Agententypen sind receptionist, outbound und
custom. Der Standardagent ist ein englisch-/spanischsprachiger Empfangsagent für Zahnarztpraxen mit expliziten
Demofakten. Projekte enthalten agent.json, Bereitstellungsskripte, MCP-Konfigurationen für
Claude Code, Cursor und VS Code, Agentenanweisungen, .env.example und eine README.
Die Gerüstgenerierung erfolgt offline und überschreibt kein nicht leeres Verzeichnis.
Bearbeiten Sie die Geschäftsdaten vor der Bereitstellung. Exportieren Sie den API-Schlüssel, die verbundene
Anrufernummer und Ihren Testempfänger wie in der generierten README dokumentiert. npm run deploy
oder python deploy.py erstellt oder aktualisiert den Agenten, stellt seinen Entwurf bereit und führt einen
kostenpflichtigen Testanruf durch. Die Skripte verwenden API-Schlüssel-Authentifizierung; die CLI und der stdio-MCP-
Wrapper unterstützen auch die Geräteanmeldung. Python-Skripte erfordern Python 3.9 oder höher.