ThunderPhone 2.0 er lansert.Kom i gang selv – fra 2¢/min.Les mer om lanseringen

Getting Started

ThunderPhone CLI

Logg inn, administrer stemmeagenter og samtaler, konfigurer MCP-klienter og opprett prosjektskall fra terminalen.

CLI-en krever Node.js 18.18 eller nyere. Kjør den med npx, eller installer den globalt:

npm install -g thunderphone
thunderphone --help

Logg inn

npx thunderphone login
thunderphone whoami --json

Innlogging skriver ut en bekreftelseskode, åpner nettleseren og venter på autorisering. Bruk --no-browser på en hodeløs maskin, og åpne den utskrevne URL-en et annet sted. Enhetsinnlogging krever at API-ets OAuth-enhetsflyt er rullet ut. En API-nøkkel for organisasjonen i THUNDERPHONE_API_KEY kan også autentisere kommandoer og har prioritet foran lagrede innloggingsopplysninger.

Innloggingsopplysninger lagres per profil i ~/.config/thunderphone/credentials.json med filmodus 0600. XDG_CONFIG_HOME og THUNDERPHONE_CONFIG_DIR overstyrer katalogen. Tilgangstokener fornyes automatisk, og roterende oppdateringstokener lagres atomisk. Tokener skrives aldri ut ved innlogging.

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

THUNDERPHONE_PROFILE angir standardprofilen. Utlogging fjerner lokale innloggingsopplysninger; den tilbakekaller ikke servertilgangen. Standard-API-et er https://api.thunderphone.com. Bruk --api-base-url eller THUNDERPHONE_API_BASE_URL for et annet API. En profils token kan ikke sendes til en annen konfigurert API-URL; logg inn på den URL-en med en separat profil.

Kommandoer

Alle kommandoer godtar --json. Data ved vellykket kjøring sendes til stdout; feil sendes til stderr med en avslutningskode som ikke er null. Uten --json er utdataene en kompakt tabell eller feltliste. JSON beholder API-svarstrukturen, med legitimasjonsfelt sladdet. MCP-servering reserverer stdout for MCP-protokollen.

KommandoFormål
login [--no-browser] [--scope "scopes"]Autoriser via en enhetskode
logout, whoamiFjern lokale legitimasjonsopplysninger; list tilgjengelige organisasjoner
agents list, agents get IDLes agenter
agents create --file agent.jsonOpprett en agent
agents update ID --file agent.jsonLagre et agentutkast
agents deploy ID, agents delete IDDistribuer utkastet; slett en agent
numbers listLes telefonnumre
numbers provision --country US --area-code 415Klargjør et amerikansk innkommende nummer
numbers assign NUMBER_ID --agent IDTilordne en innkommende agent
sms send TO --from FROM --body TEXT --idempotency-key KEYSend SMS via et operatørnummer kunden har koblet til, med trygg gjentakelse
sms list [--limit N], sms get UUIDList eller undersøk SMS-poster
call TO --agent ID --from FROM [--wait]Foreta et utgående anrop; vent eventuelt på transkripsjonen
calls list [--limit N] [--agent ID]List anrop (grense 1–200)
calls get ID, calls transcript IDLes ett anrop eller transkripsjonen
test run AGENT_ID [--scenario ID] --consent-to-chargeKjør fakturerbare lagrede scenarioer via nettkanalen
test status RUN_ID [--agent ID]Undersøk en gruppe, med scenariodetaljer når en agent er oppgitt
import VENDOR export.jsonForbered en leverandør-JSON-import for gjennomgang
imports get UUID, imports commit UUIDUndersøk en import; fullfør valgte agenter etter gjennomgang
mcp setup, mcp serveKonfigurer en klient; start stdio-broen
init [directory]Opprett grunnstrukturen for et prosjekt

Utgående anrop krever et nummer med utgående anrop aktivert. THUNDERPHONE_FROM_NUMBER kan angi --from. Kundens VoIP-numre fortsetter å støtte utgående anrop. Numre klargjort av ThunderPhone starter som kun innkommende; en organisasjonsadministrator kan be om utgående anrop fra siden Telefonnumre, der hver forespørsel gjennomgås manuelt. --wait har som standard en tidsgrense på én time; angi --timeout SECONDS for å endre den. En tidsavbrudd stopper ventingen uten å avslutte anropet.

SMS krever også et SMS-kompatibelt nummer på Twilio- eller Telnyx-kontoen din som er koblet til. Det sendes aldri fra et nummer som eies av ThunderPhone. Gjenbruk en idempotensnøkkel bare når du prøver på nytt med nøyaktig samme avsender, mottaker og innhold.

Importer støtter vapi, retell, elevenlabs og bland. Det andre argumentet er en bane til en leverandør-JSON-eksport, ikke en ekstern leverandør-ID. API-et forbereder en tilordning asynkront; undersøk den med imports get UUID, og fullfør først når den er klar og du har gjennomgått de tilordnede feltene og advarslene. Se agentimporter.

MCP-oppsett

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. Prosjektomfang er standard. Desktop og Windsurf krever brukeromfang. Utelat --client for å oppdage én enkelt klient fra prosjektet; tvetydig oppdagelse ber om valg interaktivt eller mislykkes med instruksjoner i en ikke-interaktiv økt. Oppsettet skriver ut filen det opprettet og bevarer urelaterte servere. Eksisterende JSON må være gyldig, streng JSON; Codex TOML-verdier bevares, men kommentarer kan omformateres.

Oppsett foretrekker direkte ekstern HTTP. Med --api-key-env skriver det en variabelreferanse, aldri nøkkelen. Uten det alternativet er direkte HTTP avhengig av klientens OAuth-støtte; det bruker ikke CLI-legitimasjonsfilen. Bruk følgende for å gjenbruke thunderphone login-legitimasjon i en klient som støtter stdio:

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

Omslaget sjekker THUNDERPHONE_API_KEY, deretter gjeldende CLI-profil (og oppdaterer ved behov), før det delegerer OAuth til mcp-remote. THUNDERPHONE_MCP_URL overstyrer endepunktet. Det sender ingen telemetri. Frittstående oppsett er også tilgjengelig via npx -y @thunderphone/mcp setup --client cursor eller thunderphone-mcp setup etter at du har installert @thunderphone/mcp globalt.

Opprett et prosjekt

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

Maler er node og python; agenttyper er receptionist, outbound og custom. Standardagenten er en engelsk/spansk stemmeagent for en tannlegepraksis med eksplisitte demoopplysninger. Prosjekter inkluderer agent.json, distribusjonsskript, MCP-konfigurasjoner for Claude Code, Cursor og VS Code, agentinstruksjoner, .env.example og en README. Skjelettopprettelsen er frakoblet og nekter å overskrive en ikke-tom katalog.

Rediger virksomhetsopplysningene før distribusjon. Eksporter API-nøkkelen, det tilkoblede oppringingsnummeret og testmottakeren din som beskrevet i den genererte README-en. npm run deploy eller python deploy.py oppretter eller oppdaterer agenten, distribuerer utkastet og gjennomfører et fakturerbart testanrop. Skriptene bruker autentisering med API-nøkkel; CLI-en og stdio MCP-omslaget støtter også enhetsinnlogging. Python-skript krever Python 3.9 eller nyere.