---
title: "ThunderPhone CLI"
description: "Piesakieties, pārvaldiet balss aģentus un zvanus, konfigurējiet MCP klientus un izveidojiet projektu pamatus no termināļa."
---

CLI nepieciešama Node.js 18.18 vai jaunāka versija. Palaidiet to ar `npx` vai instalējiet globāli:

```bash
npm install -g thunderphone
thunderphone --help
```

## Pieteikšanās

```bash
npx thunderphone login
thunderphone whoami --json
```

Pieteikšanās izdrukā verifikācijas kodu, atver pārlūkprogrammu un gaida autorizāciju.
Bezgalvas sistēmā izmantojiet `--no-browser` un atveriet izdrukāto URL citur.
Pieteikšanās ierīcē prasa API OAuth ierīces plūsmas ieviešanu. Organizācijas API
atslēga mainīgajā `THUNDERPHONE_API_KEY` arī var autentificēt komandas, un tai ir prioritāte
pār saglabātajiem pieteikšanās datiem.

Pieteikšanās dati tiek glabāti katram profilam failā `~/.config/thunderphone/credentials.json`
ar faila režīmu `0600`. `XDG_CONFIG_HOME` un `THUNDERPHONE_CONFIG_DIR` pārraksta šo
direktoriju. Piekļuves marķieri tiek automātiski atsvaidzināti, un rotējošie atsvaidzināšanas marķieri
tiek saglabāti atomiski. Pieteikšanās nekad neizdrukā marķierus.

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

`THUNDERPHONE_PROFILE` nosaka noklusējuma profilu. Izrakstīšanās noņem lokālos pieteikšanās datus;
tā neatceļ servera piešķirto atļauju. Noklusējuma API ir `https://api.thunderphone.com`.
Citai API izmantojiet `--api-base-url` vai `THUNDERPHONE_API_BASE_URL`. Profila marķieri
nevar nosūtīt uz citu konfigurētu API URL; piesakieties šajā URL ar atsevišķu profilu.

## Komandas

Katra komanda pieņem `--json`. Veiksmīgie dati tiek nosūtīti uz stdout; kļūdas — uz stderr
ar nenulles izejas kodu. Bez `--json` izvade ir kompakta tabula vai lauku saraksts.
JSON saglabā API atbildes struktūru, bet akreditācijas datu lauki tiek rediģēti. MCP apkalpošana
rezervē stdout MCP protokolam.

| Komanda | Nolūks |
| --- | --- |
| `login [--no-browser] [--scope "scopes"]` | Autorizēties, izmantojot ierīces kodu |
| `logout`, `whoami` | Noņemt lokālos akreditācijas datus; uzskaitīt pieejamās organizācijas |
| `agents list`, `agents get ID` | Lasīt aģentus |
| `agents create --file agent.json` | Izveidot aģentu |
| `agents update ID --file agent.json` | Saglabāt aģenta melnrakstu |
| `agents deploy ID`, `agents delete ID` | Izvietot melnrakstu; dzēst aģentu |
| `numbers list` | Lasīt tālruņa numurus |
| `numbers provision --country US --area-code 415` | Nodrošināt ASV ienākošo numuru |
| `numbers assign NUMBER_ID --agent ID` | Piešķirt ienākošo aģentu |
| `sms send TO --from FROM --body TEXT --idempotency-key KEY` | Sūtīt SMS, izmantojot klienta pieslēgtā operatora numuru, ar drošu atkārtošanu |
| `sms list [--limit N]`, `sms get UUID` | Uzskaitīt vai pārbaudīt SMS ierakstus |
| `call TO --agent ID --from FROM [--wait]` | Veikt izejošo zvanu; pēc izvēles gaidīt tā transkriptu |
| `calls list [--limit N] [--agent ID]` | Uzskaitīt zvanus (limits 1–200) |
| `calls get ID`, `calls transcript ID` | Lasīt vienu zvanu vai tā transkriptu |
| `test run AGENT_ID [--scenario ID] --consent-to-charge` | Palaist maksas saglabātos scenārijus, izmantojot tīmekļa kanālu |
| `test status RUN_ID [--agent ID]` | Pārbaudīt paketi ar scenāriju informāciju, ja ir norādīts aģents |
| `import VENDOR export.json` | Sagatavot piegādātāja JSON importu pārskatīšanai |
| `imports get UUID`, `imports commit UUID` | Pārbaudīt importu; pēc pārskatīšanas apstiprināt atlasītos aģentus |
| `mcp setup`, `mcp serve` | Konfigurēt klientu; palaist stdio tiltu |
| `init [directory]` | Izveidot projekta pamatstruktūru |

Izejošajiem zvaniem ir nepieciešams numurs ar iespējotu izejošo zvanu veikšanu. `THUNDERPHONE_FROM_NUMBER` var
nodrošināt `--from`. Klientu VoIP numuri arī turpmāk atbalsta izejošos zvanus.
ThunderPhone nodrošinātie numuri sākotnēji ir tikai ienākošajiem zvaniem; organizācijas administrators var
pieprasīt izejošo zvanu veikšanu tālruņa numuru lapā, kur katrs pieprasījums tiek
pārskatīts manuāli. `--wait` noklusējuma taimauts ir viena stunda; izmantojiet
`--timeout SECONDS`, lai to mainītu. Taimauts pārtrauc gaidīšanu, nebeidzot zvanu.

SMS sūtīšanai ir nepieciešams arī SMS atbalstošs numurs jūsu pieslēgtajā Twilio vai Telnyx
kontā. SMS nekad netiek sūtītas no ThunderPhone piederoša numura. Atkārtoti izmantojiet idempotences
atslēgu tikai tad, ja atkārtoti mēģināt nosūtīt ziņojumu ar tieši to pašu sūtītāju, saņēmēju un tekstu.

Importēšana atbalsta `vapi`, `retell`, `elevenlabs` un `bland`. Otrais arguments ir
ceļš uz piegādātāja JSON eksportu, nevis attālināta piegādātāja ID. API asinhroni sagatavo kartējumu;
pārbaudiet to ar `imports get UUID` un apstipriniet tikai pēc tam, kad tas ir gatavs
un esat pārskatījis kartētos laukus un brīdinājumus. Skatiet [aģentu importēšanu](/lv/guides/import-agents).

## MCP iestatīšana

```bash
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
```

Klienti: `claude-code`, `codex`, `cursor`, `vscode`, `gemini`, `claude-desktop` un
`windsurf`. Projekta tvērums ir noklusējuma iestatījums. Desktop un Windsurf nepieciešams lietotāja tvērums.
Izlaidiet `--client`, lai noteiktu vienu klientu no projekta; neskaidras noteikšanas gadījumā
interaktīvā sesijā tiek prasīta izvēle vai neinteraktīvā sesijā tiek parādītas instrukcijas par kļūdu.
Iestatīšana parāda failu, kurā tā rakstīja, un saglabā nesaistītus serverus. Esošajam JSON
jābūt derīgam stingram JSON; Codex TOML vērtības tiek saglabātas, taču komentāri var tikt pārformatēti.

Iestatīšana dod priekšroku tiešam attālam HTTP savienojumam. Ar `--api-key-env` tā ieraksta mainīgā
atsauci, nevis atslēgu. Bez šīs opcijas tiešais HTTP paļaujas uz klienta
OAuth atbalstu; tas neizmanto CLI akreditācijas datu failu. Lai atkārtoti izmantotu `thunderphone login`
akreditācijas datus jebkurā klientā, kas atbalsta stdio, izmantojiet:

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

Ietvars pārbauda `THUNDERPHONE_API_KEY`, pēc tam pašreizējo CLI profilu (vajadzības
gadījumā to atjauninot), un pēc tam nodod OAuth apstrādi `mcp-remote`. `THUNDERPHONE_MCP_URL` ignorē
galapunktu. Tas nenosūta telemetriju. Atsevišķa iestatīšana ir pieejama arī ar
`npx -y @thunderphone/mcp setup --client cursor` vai `thunderphone-mcp setup` pēc
`@thunderphone/mcp` globālas instalēšanas.

## Izveidojiet projektu

```bash
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
```

Veidnes ir `node` un `python`; balss aģentu tipi ir `receptionist`, `outbound` un
`custom`. Noklusējuma balss aģents ir angļu/spāņu zobārstniecības reģistratūras balss aģents ar skaidri
norādītiem demonstrācijas faktiem. Projektos ir iekļauti `agent.json`, izvietošanas skripti, MCP konfigurācijas
Claude Code, Cursor un VS Code, balss aģenta instrukcijas, `.env.example` un README.
Skeleta izveide darbojas bezsaistē un atsakās pārrakstīt netukšu direktoriju.

Pirms izvietošanas rediģējiet uzņēmuma faktus. Eksportējiet API atslēgu, pieslēgto zvanītāja
numuru un testa saņēmēju, kā dokumentēts ģenerētajā README. `npm run deploy`
vai `python deploy.py` izveido vai atjaunina balss aģentu, izvieto tā melnrakstu un veic
maksas testa zvanu. Skripti izmanto autentifikāciju ar API atslēgu; CLI un stdio MCP
ietvars atbalsta arī ierīces pieteikšanos. Python skriptiem nepieciešama Python 3.9 vai jaunāka versija.
