Το ThunderPhone 2.0 είναι εδώ.Ξεκινήστε μόνοι σας, από 2¢/λεπτό.Διαβάστε την ανακοίνωση

Getting Started

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 ή νεότερη έκδοση.