ThunderPhone 2.0 on nyt julkaistu.Ota käyttöön itse – alkaen 2 ¢/min.Lue lisää julkistuksesta

Getting Started

ThunderPhone CLI

Kirjaudu sisään, hallitse puheagentteja ja puheluita, määritä MCP-asiakkaita ja luo projektirunkoja terminaalista.

CLI edellyttää Node.js:n versiota 18.18 tai uudempaa. Suorita se komennolla npx tai asenna se globaalisti:

npm install -g thunderphone
thunderphone --help

Kirjaudu sisään

npx thunderphone login
thunderphone whoami --json

Kirjautuminen tulostaa vahvistuskoodin, avaa selaimen ja odottaa valtuutusta. Käytä päätelaitteettomassa ympäristössä --no-browser-asetusta ja avaa tulostettu URL muualla. Laitekirjautuminen edellyttää API:n OAuth-laitevirran käyttöönottoa. Organisaation API-avain muuttujassa THUNDERPHONE_API_KEY voi myös todentaa komennot, ja se on ensisijainen tallennettuihin kirjautumistietoihin nähden.

Tunnistetiedot tallennetaan profiilikohtaisesti tiedostoon ~/.config/thunderphone/credentials.json tiedostotilalla 0600. XDG_CONFIG_HOME ja THUNDERPHONE_CONFIG_DIR ohittavat hakemiston. Käyttöoikeustunnukset päivittyvät automaattisesti, ja kiertävät päivitystunnukset tallennetaan atomisesti. Kirjautuminen ei koskaan tulosta tunnuksia.

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

THUNDERPHONE_PROFILE määrittää oletusprofiilin. Uloskirjautuminen poistaa paikalliset tunnistetiedot; se ei peruuta palvelimen myöntämää valtuutusta. Oletus-API on https://api.thunderphone.com. Käytä toista APIa varten --api-base-url-asetusta tai THUNDERPHONE_API_BASE_URL-muuttujaa. Profiilin tunnusta ei voi lähettää toiseen määritettyyn API-URL:ään; kirjaudu kyseiseen URL:ään erillisellä profiililla.

Komennot

Jokainen komento hyväksyy --json-valitsimen. Onnistuneet tiedot tulostetaan stdoutiin; virheet stderr:iin nollasta poikkeavalla poistumiskoodilla. Ilman --json-valitsinta tuloste on tiivis taulukko tai kenttäluettelo. JSON säilyttää API-vastauksen rakenteen, ja tunnistetietokentät peitetään. MCP-palvelu varaa stdoutin MCP-protokollalle.

KomentoTarkoitus
login [--no-browser] [--scope "scopes"]Valtuuta laitekoodin avulla
logout, whoamiPoista paikalliset tunnistetiedot; luettele käytettävissä olevat organisaatiot
agents list, agents get IDLue agentit
agents create --file agent.jsonLuo agentti
agents update ID --file agent.jsonTallenna agenttiluonnos
agents deploy ID, agents delete IDOta luonnos käyttöön; poista agentti
numbers listLue puhelinnumerot
numbers provision --country US --area-code 415Ota käyttöön yhdysvaltalainen saapuvien puhelujen numero
numbers assign NUMBER_ID --agent IDMääritä saapuvien puhelujen agentti
sms send TO --from FROM --body TEXT --idempotency-key KEYLähetä SMS asiakkaan yhdistetyn operaattorin numeron kautta turvallisella uudelleentoistolla
sms list [--limit N], sms get UUIDLuettele tai tarkastele SMS-tietueita
call TO --agent ID --from FROM [--wait]Soita lähtevä puhelu; odota halutessasi sen transkriptiota
calls list [--limit N] [--agent ID]Luettele puhelut (raja 1–200)
calls get ID, calls transcript IDLue yksittäinen puhelu tai sen transkriptio
test run AGENT_ID [--scenario ID] --consent-to-chargeSuorita laskutettavia tallennettuja skenaarioita verkkokanavalla
test status RUN_ID [--agent ID]Tarkastele erää ja skenaariotietoja, kun agentti on annettu
import VENDOR export.jsonValmistele toimittajan JSON-tuonti tarkistettavaksi
imports get UUID, imports commit UUIDTarkastele tuontia; vahvista valitut agentit tarkistuksen jälkeen
mcp setup, mcp serveMääritä asiakas; käynnistä stdio-silta
init [directory]Luo projektin perusrakenne

Lähtevät puhelut edellyttävät lähteviin puheluihin sallittua numeroa. THUNDERPHONE_FROM_NUMBER voi antaa arvon --from-valitsimelle. Asiakkaan VoIP-numerot tukevat edelleen lähteviä puheluita. ThunderPhone-palvelun käyttöön ottamat numerot ovat aluksi vain saapuvia puheluita varten; organisaation ylläpitäjä voi pyytää lähtevien puhelujen käyttöönottoa Phone Numbers -sivulta, jossa jokainen pyyntö tarkistetaan manuaalisesti. --wait-valitsimen oletusaikakatkaisu on yksi tunti; muuta sitä valitsimella --timeout SECONDS. Aikakatkaisu lopettaa odottamisen päättämättä puhelua.

SMS edellyttää myös SMS-ominaisuudella varustettua numeroa yhdistetyllä Twilio- tai Telnyx-tililläsi. Sitä ei koskaan lähetetä ThunderPhone-omisteisesta numerosta. Käytä idempotenssiavainta uudelleen vain, kun yrität täsmälleen samaa lähettäjää, vastaanottajaa ja viestin sisältöä uudelleen.

Tuonnit tukevat palveluita vapi, retell, elevenlabs ja bland. Toinen argumentti on polku toimittajan JSON-vientiin, ei etätoimittajan tunnus. API valmistelee määrityksen asynkronisesti; tarkastele sitä komennolla imports get UUID ja vahvista se vasta, kun se on valmis ja olet tarkistanut yhdistetyt kentät ja varoitukset. Katso agenttituonnit.

MCP-asennus

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

Asiakasohjelmat: claude-code, codex, cursor, vscode, gemini, claude-desktop ja windsurf. Projektialue on oletusarvo. Työpöytäsovellus ja Windsurf edellyttävät käyttäjäaluetta. Jätä --client pois, jos haluat tunnistaa yhden asiakasohjelman projektista; epäselvä tunnistus pyytää valintaa interaktiivisesti tai epäonnistuu ohjeiden kera ei-interaktiivisessa istunnossa. Asennus tulostaa kirjoittamansa tiedoston ja säilyttää muut palvelimet ennallaan. Olemassa olevan JSONin on oltava kelvollista tiukkaa JSONia; Codexin TOML-arvot säilyvät, mutta kommenttien muotoilu voi muuttua.

Asennus käyttää ensisijaisesti suoraa etä-HTTP:tä. Kun käytät --api-key-env-asetusta, se kirjoittaa muuttujaviittauksen, ei koskaan avainta. Ilman tätä asetusta suora HTTP käyttää asiakasohjelman OAuth-tukea; se ei käytä CLI-tunnistetiedostoa. Jos haluat käyttää thunderphone login -tunnistetietoja uudelleen missä tahansa stdio-yhteensopivassa asiakasohjelmassa, käytä:

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

Kääre tarkistaa ensin THUNDERPHONE_API_KEY-muuttujan, sitten nykyisen CLI-profiilin (päivittäen sen tarvittaessa) ja delegoi sitten OAuthin mcp-remote-palvelulle. THUNDERPHONE_MCP_URL ohittaa päätepisteen. Se ei lähetä telemetriaa. Erillinen asennus on saatavilla myös komennolla npx -y @thunderphone/mcp setup --client cursor tai thunderphone-mcp setup, kun @thunderphone/mcp on asennettu globaalisti.

Luo projekti

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

Mallit ovat node ja python; agenttityypit ovat receptionist, outbound ja custom. Oletusagentti on englannin- ja espanjankielinen hammaslääkäriaseman vastaanottoagentti, jolla on eksplisiittiset demotiedot. Projekteihin sisältyvät agent.json, julkaisuohjelmat, MCP-määritykset Claude Codelle, Cursorille ja VS Codelle, agentin ohjeet, .env.example ja README. Projektirungon luonti toimii offline-tilassa eikä ylikirjoita ei-tyhjää hakemistoa.

Muokkaa liiketoimintatiedot ennen julkaisua. Vie API-avain, yhdistetty soittajan numero ja testivastaanottajasi ympäristöön luodussa README-tiedostossa kuvatulla tavalla. npm run deploy tai python deploy.py luo tai päivittää agentin, julkaisee sen luonnoksen ja soittaa laskutettavan testipuhelun. Komentosarjat käyttävät API-avainautentikointia; CLI ja stdio MCP -kääre tukevat myös laitteella kirjautumista. Python-komentosarjat edellyttävät Python 3.9:ää tai uudempaa.