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 کو کسی اور جگہ کھولیں۔ ڈیوائس لاگ اِن کے لیے API کے OAuth ڈیوائس فلو کا فعال ہونا ضروری ہے۔ THUNDERPHONE_API_KEY میں موجود تنظیم کی API کلید بھی کمانڈز کی توثیق کر سکتی ہے اور محفوظ شدہ لاگ اِن اسناد پر ترجیح رکھتی ہے۔

اسناد پروفائل کے لحاظ سے ~/.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 کے لیے --api-base-url یا THUNDERPHONE_API_BASE_URL استعمال کریں۔ کسی پروفائل کا ٹوکن کسی مختلف کنفیگر شدہ API URL کو نہیں بھیجا جا سکتا؛ اس 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 ایکسپورٹ کا پاتھ ہے، ریموٹ وینڈر ID نہیں۔ 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۔ پروجیکٹ اسکوپ ڈیفالٹ ہے۔ ڈیسک ٹاپ اور Windsurf کے لیے صارف اسکوپ درکار ہے۔ پروجیکٹ سے ایک واحد کلائنٹ کا پتہ لگانے کے لیے --client کو چھوڑ دیں؛ مبہم شناخت انٹرایکٹو طور پر پرامپٹ کرتی ہے یا غیر انٹرایکٹو سیشن میں ہدایات کے ساتھ ناکام ہو جاتی ہے۔ سیٹ اپ اس فائل کو پرنٹ کرتا ہے جو اس نے لکھی ہے اور غیر متعلقہ سرورز کو برقرار رکھتا ہے۔ موجودہ JSON لازماً درست سخت JSON ہونا چاہیے؛ Codex TOML ویلیوز برقرار رہتی ہیں مگر تبصروں کی فارمیٹنگ تبدیل ہو سکتی ہے۔

سیٹ اپ براہ راست ریموٹ HTTP کو ترجیح دیتا ہے۔ --api-key-env کے ساتھ، یہ کلید کبھی نہیں بلکہ ویری ایبل ریفرنس لکھتا ہے۔ اس آپشن کے بغیر، براہ راست HTTP کلائنٹ کی OAuth سپورٹ پر انحصار کرتا ہے؛ یہ CLI کریڈینشل فائل استعمال نہیں کرتا۔ کسی بھی stdio-قابل کلائنٹ میں thunderphone login کریڈینشلز دوبارہ استعمال کرنے کے لیے، یہ استعمال کریں:

{
  "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 انسٹال کرنے کے بعد thunderphone-mcp setup کے ذریعے بھی دستیاب ہے۔

ایک پروجیکٹ بنائیں

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، ڈیپلائے اسکرپٹس، Claude Code، Cursor اور VS Code کے لیے MCP کنفیگریشنز، ایجنٹ کی ہدایات، .env.example، اور ایک README شامل ہوتے ہیں۔ اسکیفولڈنگ آف لائن ہے اور کسی غیر خالی ڈائریکٹری کو اووررائٹ کرنے سے انکار کرتی ہے۔

ڈیپلائے کرنے سے پہلے کاروباری حقائق میں ترمیم کریں۔ تیار کردہ README میں درج طریقے کے مطابق API کلید، منسلک کالر نمبر، اور اپنا ٹیسٹ وصول کنندہ ایکسپورٹ کریں۔ npm run deploy یا python deploy.py ایجنٹ بناتا یا اپ ڈیٹ کرتا ہے، اس کا ڈرافٹ ڈیپلائے کرتا ہے، اور قابلِ بل ٹیسٹ کال کرتا ہے۔ اسکرپٹس API-کلید کی تصدیق استعمال کرتی ہیں؛ CLI اور stdio MCP ریپر ڈیوائس لاگ اِن کو بھی سپورٹ کرتے ہیں۔ Python اسکرپٹس کے لیے Python 3.9 یا اس کے بعد کا ورژن درکار ہے۔