Open in
ThunderPhone CLI
התחברו, נהלו סוכנים קוליים ושיחות, הגדירו לקוחות MCP, וצרו שלדי פרויקטים מהמסוף.
ממשק שורת הפקודה דורש Node.js 18.18 או גרסה מאוחרת יותר. הפעילו אותו באמצעות npx, או התקינו אותו באופן גלובלי:
npm install -g thunderphone
thunderphone --helpהתחברות
npx thunderphone login
thunderphone whoami --jsonההתחברות מדפיסה קוד אימות, פותחת את הדפדפן וממתינה לאישור.
השתמשו ב---no-browser במחשב ללא ממשק גרפי ופתחו את כתובת ה-URL המודפסת במקום אחר.
התחברות ממכשיר דורשת שה-API יתמוך בזרימת OAuth למכשירים. מפתח 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 workTHUNDERPHONE_PROFILE מגדיר את פרופיל ברירת המחדל. התנתקות מסירה פרטי התחברות מקומיים;
היא אינה מבטלת את ההרשאה בשרת. ה-API המוגדר כברירת מחדל הוא https://api.thunderphone.com.
השתמשו ב---api-base-url או ב-THUNDERPHONE_API_BASE_URL עבור API אחר. אסימון של פרופיל
אינו יכול להישלח לכתובת API מוגדרת אחרת; התחברו לכתובת זו באמצעות פרופיל נפרד.
פקודות
כל פקודה מקבלת --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 | הקצאת סוכן נכנס |
sms send TO --from FROM --body TEXT --idempotency-key KEY | שליחת SMS דרך מספר ספק מחובר של לקוח עם הפעלה חוזרת בטוחה |
sms list [--limit N], sms get UUID | הצגת רשומות SMS או בדיקתן |
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. מספרי VoIP של לקוחות ממשיכים לתמוך בשיחות יוצאות.
מספרים שהוקצו על ידי ThunderPhone מתחילים כמספרים נכנסים בלבד; מנהל ארגון יכול
לבקש הפעלת שיחות יוצאות מדף מספרי הטלפון, שבו כל בקשה
נבדקת ידנית. ברירת המחדל של --wait היא זמן קצוב של שעה אחת; הגדירו
--timeout SECONDS כדי לשנות זאת. זמן קצוב מפסיק את ההמתנה בלי לנתק את השיחה.
SMS דורש גם מספר בעל יכולת SMS בחשבון Twilio או Telnyx המחובר שלכם. הוא לעולם אינו שולח ממספר בבעלות ThunderPhone. השתמשו מחדש במפתח idempotency רק בעת ניסיון חוזר עם אותו שולח, נמען ותוכן בדיוק.
ייבואים תומכים ב-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 או גרסה מאוחרת יותר.