ThunderPhone 2.0 er lanceret.Selvbetjening fra 2 cent pr. minut.Læs mere om lanceringen

Getting Started

ThunderPhone CLI

Log ind, administrer stemmeagenter og opkald, konfigurer MCP-klienter, og opret projektstrukturer fra terminalen.

CLI'en kræver Node.js 18.18 eller nyere. Kør den med npx, eller installer den globalt:

npm install -g thunderphone
thunderphone --help

Log ind

npx thunderphone login
thunderphone whoami --json

Login viser en bekræftelseskode, åbner browseren og venter på godkendelse. Brug --no-browser på en maskine uden grafisk brugerflade, og åbn den viste URL et andet sted. Enhedslogin kræver API'ets udrulning af OAuth-enhedsflowet. En organisations-API- nøgle i THUNDERPHONE_API_KEY kan også godkende kommandoer og har forrang frem for gemte loginoplysninger.

Loginoplysninger gemmes pr. profil i ~/.config/thunderphone/credentials.json med filtilstanden 0600. XDG_CONFIG_HOME og THUNDERPHONE_CONFIG_DIR tilsidesætter mappen. Adgangstokens opdateres automatisk, og roterende opdateringstokens gemmes atomisk. Tokens vises aldrig af login.

thunderphone login --profile work
thunderphone agents list --profile work --json
thunderphone logout --profile work

THUNDERPHONE_PROFILE angiver standardprofilen. Logout fjerner lokale loginoplysninger; det tilbagekalder ikke servergodkendelsen. Standard-API'et er https://api.thunderphone.com. Brug --api-base-url eller THUNDERPHONE_API_BASE_URL til et andet API. En profils token kan ikke sendes til en anden konfigureret API-URL; log ind på den URL med en separat profil.

Kommandoer

Hver kommando accepterer --json. Vellykkede data sendes til stdout; fejl sendes til stderr med en exitkode, der ikke er nul. Uden --json er outputtet en kompakt tabel eller feltliste. JSON bevarer API-svarstrukturen med redigerede legitimationsfelter. MCP-servering reserverer stdout til MCP-protokollen.

KommandoFormål
login [--no-browser] [--scope "scopes"]Godkend via en enhedskode
logout, whoamiFjern lokale legitimationsoplysninger; vis tilgængelige organisationer
agents list, agents get IDLæs agenter
agents create --file agent.jsonOpret en agent
agents update ID --file agent.jsonGem et agentudkast
agents deploy ID, agents delete IDUdrul udkastet; slet en agent
numbers listLæs telefonnumre
numbers provision --country US --area-code 415Klargør et amerikansk indgående nummer
numbers assign NUMBER_ID --agent IDTildel en indgående agent
sms send TO --from FROM --body TEXT --idempotency-key KEYSend SMS via et operatørnummer, kunden har tilsluttet, med sikker gentagelse
sms list [--limit N], sms get UUIDVis eller inspicer SMS-poster
call TO --agent ID --from FROM [--wait]Foretag et udgående opkald; vent eventuelt på dets transskription
calls list [--limit N] [--agent ID]Vis opkald (grænse 1–200)
calls get ID, calls transcript IDLæs ét opkald eller dets transskription
test run AGENT_ID [--scenario ID] --consent-to-chargeKør fakturerbare gemte scenarier via webkanalen
test status RUN_ID [--agent ID]Inspicer en batch med scenariedetaljer, når en agent er angivet
import VENDOR export.jsonForbered en leverandør-JSON-import til gennemgang
imports get UUID, imports commit UUIDInspicer en import; bekræft valgte agenter efter gennemgang
mcp setup, mcp serveKonfigurer en klient; start stdio-broen
init [directory]Opret grundstrukturen for et projekt

Udgående opkald kræver et nummer med aktiverede udgående opkald. THUNDERPHONE_FROM_NUMBER kan angive --from. Kundens VoIP-numre understøtter fortsat udgående opkald. ThunderPhone-klargjorte numre starter som kun indgående; en organisationsadministrator kan anmode om udgående opkald fra siden Telefonnumre, hvor hver anmodning gennemgås manuelt. --wait har som standard en timeout på en time; angiv --timeout SECONDS for at ændre den. En timeout stopper ventetiden uden at afslutte opkaldet.

SMS kræver også et SMS-kompatibelt nummer på din tilsluttede Twilio- eller Telnyx- konto. Den sender aldrig fra et nummer, der ejes af ThunderPhone. Genbrug kun en idempotens- nøgle, når du prøver igen med præcis samme afsender, modtager og brødtekst.

Import understøtter vapi, retell, elevenlabs og bland. Det andet argument er en sti til en leverandørs JSON-eksport, ikke et eksternt leverandør-ID. API'et forbereder en mapping asynkront; inspicer den med imports get UUID, og bekræft først, når den er klar, og du har gennemgået de mappede felter og advarsler. Se agentimporter.

MCP-opsætning

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

Klienter: claude-code, codex, cursor, vscode, gemini, claude-desktop og windsurf. Projektscope er standard. Desktop og Windsurf kræver brugerscope. Udelad --client for at registrere en enkelt klient fra projektet; tvetydig registrering spørger interaktivt eller fejler med instruktioner i en ikke-interaktiv session. Opsætningen viser den fil, den skrev, og bevarer ikke-relaterede servere. Eksisterende JSON skal være gyldig streng JSON; Codex TOML-værdier bevares, men kommentarer kan blive omformateret.

Opsætningen foretrækker direkte fjern-HTTP. Med --api-key-env skriver den en variabelreference, aldrig nøglen. Uden den indstilling er direkte HTTP afhængig af klientens OAuth-understøttelse; den bruger ikke CLI-legitimationsfilen. Brug følgende for at genbruge thunderphone login-legitimationsoplysninger i enhver stdio-kompatibel klient:

{
  "mcpServers": {
    "thunderphone": {
      "command": "npx",
      "args": ["-y", "@thunderphone/mcp"]
    }
  }
}

Wrapperen kontrollerer THUNDERPHONE_API_KEY, derefter den aktuelle CLI-profil (opdaterer ved behov) og overdrager derefter OAuth til mcp-remote. THUNDERPHONE_MCP_URL tilsidesætter endepunktet. Den udsender ingen telemetri. Selvstændig opsætning er også tilgængelig via npx -y @thunderphone/mcp setup --client cursor eller thunderphone-mcp setup efter global installation af @thunderphone/mcp.

Opret et projekt

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

Skabelonerne er node og python; agenttyperne er receptionist, outbound og custom. Standardagenten er en engelsksproget/spansksproget tandlægereceptionist med eksplicitte demofakta. Projekter inkluderer agent.json, deploy-scripts, MCP-konfigurationer til Claude Code, Cursor og VS Code, agentinstruktioner, .env.example og en README. Stilladsgenerering foregår offline og nægter at overskrive en ikke-tom mappe.

Rediger virksomhedsoplysningerne før deploy. Eksporter API-nøglen, det tilknyttede opkaldernummer og din testmodtager som dokumenteret i den genererede README. npm run deploy eller python deploy.py opretter eller opdaterer agenten, deployer dens kladde og foretager et fakturerbart testopkald. Scripts bruger API-nøgleautentificering; CLI'en og stdio MCP-wrapperen understøtter også enhedslogin. Python-scripts kræver Python 3.9 eller nyere.