Open in
ThunderPhone CLI
Συνδεθείτε, διαχειριστείτε φωνητικούς πράκτορες και κλήσεις, ρυθμίστε προγράμματα-πελάτες MCP και δημιουργήστε τον βασικό σκελετό έργων από το τερματικό.
Το CLI απαιτεί Node.js 18.18 ή νεότερη έκδοση. Εκτελέστε το με npx ή εγκαταστήστε το καθολικά:
npm install -g thunderphone
thunderphone --helpΣυνδεθείτε
npx thunderphone login
thunderphone whoami --jsonΗ σύνδεση εμφανίζει έναν κωδικό επαλήθευσης, ανοίγει το πρόγραμμα περιήγησης και περιμένει εξουσιοδότηση.
Χρησιμοποιήστε το --no-browser σε μηχάνημα χωρίς γραφικό περιβάλλον και ανοίξτε το εμφανιζόμενο URL αλλού.
Η σύνδεση συσκευής απαιτεί την ενεργοποίηση της ροής OAuth συσκευής του API. Ένα κλειδί API οργανισμού
στο THUNDERPHONE_API_KEY μπορεί επίσης να πιστοποιήσει εντολές και έχει προτεραιότητα
έναντι των αποθηκευμένων διαπιστευτηρίων σύνδεσης.
Τα διαπιστευτήρια αποθηκεύονται ανά προφίλ στο ~/.config/thunderphone/credentials.json
με δικαιώματα αρχείου 0600. Τα XDG_CONFIG_HOME και THUNDERPHONE_CONFIG_DIR παρακάμπτουν τον
κατάλογο. Τα διακριτικά πρόσβασης ανανεώνονται αυτόματα και τα εναλλασσόμενα διακριτικά ανανέωσης
αποθηκεύονται ατομικά. Τα διακριτικά δεν εμφανίζονται ποτέ από τη σύνδεση.
thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile workΤο THUNDERPHONE_PROFILE ορίζει το προεπιλεγμένο προφίλ. Η αποσύνδεση αφαιρεί τα τοπικά διαπιστευτήρια·
δεν ανακαλεί την εκχώρηση διακομιστή. Το προεπιλεγμένο API είναι το https://api.thunderphone.com.
Χρησιμοποιήστε το --api-base-url ή το THUNDERPHONE_API_BASE_URL για άλλο API. Το διακριτικό ενός προφίλ
δεν μπορεί να σταλεί σε διαφορετικό ρυθμισμένο URL API· συνδεθείτε σε εκείνο το URL με ξεχωριστό προφίλ.
Εντολές
Κάθε εντολή δέχεται το --json. Τα επιτυχή δεδομένα αποστέλλονται στο stdout· τα σφάλματα στο stderr
με μη μηδενικό κωδικό εξόδου. Χωρίς --json, η έξοδος είναι ένας συνοπτικός πίνακας ή λίστα πεδίων.
Το JSON διατηρεί τη δομή απόκρισης του API, με τα πεδία διαπιστευτηρίων αποκρυμμένα. Η εξυπηρέτηση MCP
δεσμεύει το stdout για το πρωτόκολλο MCP.
| Εντολή | Σκοπός |
|---|---|
login [--no-browser] [--scope "scopes"] | Εξουσιοδότηση μέσω κωδικού συσκευής |
logout, whoami | Αφαίρεση τοπικών διαπιστευτηρίων· εμφάνιση προσβάσιμων οργανισμών |
agents list, agents get ID | Προβολή πρακτόρων |
agents create --file agent.json | Δημιουργία πράκτορα |
agents update ID --file agent.json | Αποθήκευση πρόχειρου πράκτορα |
agents deploy ID, agents delete ID | Ανάπτυξη πρόχειρου· διαγραφή πράκτορα |
numbers list | Προβολή τηλεφωνικών αριθμών |
numbers provision --country US --area-code 415 | Παροχή εισερχόμενου αριθμού ΗΠΑ |
numbers assign NUMBER_ID --agent ID | Ανάθεση πράκτορα εισερχόμενων κλήσεων |
call TO --agent ID --from FROM [--wait] | Πραγματοποίηση εξερχόμενης κλήσης· προαιρετική αναμονή για την απομαγνητοφώνησή της |
calls list [--limit N] [--agent ID] | Εμφάνιση κλήσεων (όριο 1–200) |
calls get ID, calls transcript ID | Προβολή μίας κλήσης ή της απομαγνητοφώνησής της |
test run AGENT_ID [--scenario ID] --consent-to-charge | Εκτέλεση χρεώσιμων αποθηκευμένων σεναρίων μέσω του διαδικτυακού καναλιού |
test status RUN_ID [--agent ID] | Επιθεώρηση παρτίδας, με λεπτομέρειες σεναρίου όταν παρέχεται πράκτορας |
import VENDOR export.json | Προετοιμασία εισαγωγής JSON προμηθευτή για έλεγχο |
imports get UUID, imports commit UUID | Επιθεώρηση εισαγωγής· οριστικοποίηση επιλεγμένων πρακτόρων μετά τον έλεγχο |
mcp setup, mcp serve | Ρύθμιση πελάτη· εκκίνηση της γέφυρας stdio |
init [directory] | Δημιουργία σκελετού έργου |
Οι εξερχόμενες κλήσεις απαιτούν συνδεδεμένο αριθμό παρόχου. Το THUNDERPHONE_FROM_NUMBER μπορεί
να παρέχει το --from. Οι αριθμοί που παρέχονται από το ThunderPhone είναι μόνο για εισερχόμενες κλήσεις. Το --wait ορίζεται από προεπιλογή
σε χρονικό όριο μίας ώρας· ορίστε το --timeout SECONDS για να το αλλάξετε. Η λήξη του χρονικού ορίου σταματά την αναμονή
χωρίς να τερματίζει την κλήση.
Οι εισαγωγές υποστηρίζουν τα vapi, retell, elevenlabs και bland. Το δεύτερο όρισμα είναι μια
διαδρομή προς εξαγωγή JSON προμηθευτή, όχι απομακρυσμένο αναγνωριστικό προμηθευτή. Το API προετοιμάζει μια αντιστοίχιση
ασύγχρονα· επιθεωρήστε την με imports get UUID και οριστικοποιήστε μόνο αφού είναι έτοιμη
και έχετε ελέγξει τα αντιστοιχισμένα πεδία και τις προειδοποιήσεις. Δείτε τις εισαγωγές πρακτόρων.
Ρύθμιση 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 userΠρογράμματα-πελάτες: claude-code, codex, cursor, vscode, gemini, claude-desktop και
windsurf. Το εύρος έργου είναι το προεπιλεγμένο. Τα Desktop και Windsurf απαιτούν εύρος χρήστη.
Παραλείψτε το --client για να εντοπιστεί ένας μόνο πελάτης από το έργο· η αμφίσημη ανίχνευση
ζητά διαδραστικά επιλογή ή αποτυγχάνει με οδηγίες σε μη διαδραστική συνεδρία.
Η ρύθμιση εμφανίζει το αρχείο που έγραψε και διατηρεί άσχετους διακομιστές. Το υπάρχον JSON
πρέπει να είναι έγκυρο αυστηρό JSON· οι τιμές TOML του Codex διατηρούνται, αλλά τα σχόλια μπορεί να αναδιαμορφωθούν.
Η ρύθμιση προτιμά άμεσο απομακρυσμένο HTTP. Με το --api-key-env, γράφει αναφορά
σε μεταβλητή, ποτέ το κλειδί. Χωρίς αυτή την επιλογή, το άμεσο HTTP βασίζεται στην
υποστήριξη OAuth του πελάτη· δεν χρησιμοποιεί το αρχείο διαπιστευτηρίων CLI. Για να επαναχρησιμοποιήσετε τα διαπιστευτήρια του thunderphone login
σε οποιονδήποτε πελάτη με δυνατότητα stdio, χρησιμοποιήστε:
{
"mcpServers": {
"thunderphone": {
"command": "npx",
"args": ["-y", "@thunderphone/mcp"]
}
}
}Το περιτύλιγμα ελέγχει το THUNDERPHONE_API_KEY, έπειτα το τρέχον προφίλ CLI (ανανεώνοντάς το
όταν χρειάζεται) και στη συνέχεια αναθέτει το OAuth στο mcp-remote. Το THUNDERPHONE_MCP_URL παρακάμπτει
το τελικό σημείο. Δεν εκπέμπει τηλεμετρία. Η αυτόνομη ρύθμιση είναι επίσης διαθέσιμη μέσω
npx -y @thunderphone/mcp setup --client cursor ή thunderphone-mcp setup μετά την
καθολική εγκατάσταση του @thunderphone/mcp.
Δημιουργία έργου
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Τα πρότυπα είναι node και python· οι τύποι πράκτορα είναι receptionist, outbound και
custom. Ο προεπιλεγμένος πράκτορας είναι ένας αγγλόφωνος/ισπανόφωνος τηλεφωνητής οδοντιατρείου με ρητά
δεδομένα επίδειξης. Τα έργα περιλαμβάνουν agent.json, σενάρια ανάπτυξης, διαμορφώσεις MCP για
Claude Code, Cursor και VS Code, οδηγίες πράκτορα, .env.example και ένα README.
Η δημιουργία σκελετού λειτουργεί εκτός σύνδεσης και αρνείται να αντικαταστήσει έναν μη κενό κατάλογο.
Επεξεργαστείτε τα επιχειρηματικά δεδομένα πριν από την ανάπτυξη. Εξαγάγετε το κλειδί API, τον συνδεδεμένο αριθμό
καλούντος και τον παραλήπτη δοκιμής σας, όπως τεκμηριώνεται στο παραγόμενο README. Το npm run deploy
ή το python deploy.py δημιουργεί ή ενημερώνει τον πράκτορα, αναπτύσσει το πρόχειρό του και πραγματοποιεί μια
χρεώσιμη δοκιμαστική κλήση. Τα σενάρια χρησιμοποιούν έλεγχο ταυτότητας με κλειδί API· το CLI και το περιτύλιγμα MCP stdio
υποστηρίζουν επίσης σύνδεση συσκευής. Τα σενάρια Python απαιτούν Python 3.9 ή νεότερη έκδοση.