---
title: "ThunderPhone CLI"
description: "Prisijunkite, valdykite balso agentus ir skambučius, konfigūruokite MCP klientus ir kurkite projektų struktūrą iš terminalo."
---

CLI reikalinga Node.js 18.18 arba naujesnė versija. Paleiskite ją su `npx` arba įdiekite visuotinai:

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

## Prisijungimas

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

Prisijungus pateikiamas patvirtinimo kodas, atidaroma naršyklė ir laukiama autorizacijos.
Kompiuteryje be grafinės sąsajos naudokite `--no-browser` ir atidarykite pateiktą URL kitur.
Prisijungimui per įrenginį būtina API OAuth įrenginių srauto funkcija. Organizacijos API
raktas, esantis `THUNDERPHONE_API_KEY`, taip pat gali autentifikuoti komandas ir turi pirmenybę
prieš išsaugotus prisijungimo kredencialus.

Kredencialai saugomi pagal profilį faile `~/.config/thunderphone/credentials.json`
su failo režimu `0600`. `XDG_CONFIG_HOME` ir `THUNDERPHONE_CONFIG_DIR` pakeičia
katalogą. Prieigos prieigos raktai atnaujinami automatiškai, o keičiami atnaujinimo raktai
išsaugomi atominiu būdu. Prisijungimo metu raktai niekada nerodomi.

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

`THUNDERPHONE_PROFILE` nustato numatytąjį profilį. Atsijungus pašalinami vietiniai kredencialai;
serverio leidimas neatšaukiamas. Numatytoji API yra `https://api.thunderphone.com`.
Kitai API naudokite `--api-base-url` arba `THUNDERPHONE_API_BASE_URL`. Profilio prieigos raktas
negali būti siunčiamas į kitą sukonfigūruotą API URL; prie to URL prisijunkite naudodami atskirą profilį.

## Komandos

Kiekviena komanda priima `--json`. Sėkmingi duomenys siunčiami į standartinę išvestį; klaidos – į standartinę klaidų išvestį
su nenuliniu baigimo kodu. Be `--json` išvestis yra glausta lentelė arba laukų sąrašas.
JSON išlaiko API atsakymo struktūrą, o kredencialų laukai yra paslepiami. MCP aptarnavimas
rezervuoja standartinę išvestį MCP protokolui.

| Komanda | Paskirtis |
| --- | --- |
| `login [--no-browser] [--scope "scopes"]` | Autorizuotis naudojant įrenginio kodą |
| `logout`, `whoami` | Pašalinti vietinius kredencialus; pateikti pasiekiamas organizacijas |
| `agents list`, `agents get ID` | Nuskaityti agentus |
| `agents create --file agent.json` | Sukurti agentą |
| `agents update ID --file agent.json` | Išsaugoti agento juodraštį |
| `agents deploy ID`, `agents delete ID` | Įdiegti juodraštį; pašalinti agentą |
| `numbers list` | Nuskaityti telefono numerius |
| `numbers provision --country US --area-code 415` | Sukurti JAV įeinantį numerį |
| `numbers assign NUMBER_ID --agent ID` | Priskirti įeinančių skambučių agentą |
| `call TO --agent ID --from FROM [--wait]` | Atlikti išeinantį skambutį; pasirinktinai laukti jo transkripcijos |
| `calls list [--limit N] [--agent ID]` | Pateikti skambučių sąrašą (riba 1–200) |
| `calls get ID`, `calls transcript ID` | Nuskaityti vieną skambutį arba jo transkripciją |
| `test run AGENT_ID [--scenario ID] --consent-to-charge` | Paleisti apmokestinamus išsaugotus scenarijus naudojant žiniatinklio kanalą |
| `test status RUN_ID [--agent ID]` | Peržiūrėti paketą su scenarijų informacija, kai nurodytas agentas |
| `import VENDOR export.json` | Parengti tiekėjo JSON importą peržiūrai |
| `imports get UUID`, `imports commit UUID` | Peržiūrėti importą; po peržiūros patvirtinti pasirinktus agentus |
| `mcp setup`, `mcp serve` | Sukonfigūruoti klientą; paleisti standartinės įvesties ir išvesties tiltą |
| `init [directory]` | Sukurti projekto karkasą |

Išeinantiems skambučiams reikalingas prijungtas ryšio tiekėjo numeris. `THUNDERPHONE_FROM_NUMBER` gali
pateikti `--from`. ThunderPhone suteikti numeriai skirti tik įeinantiems skambučiams. Pagal numatytuosius nustatymus `--wait`
turi vienos valandos laukimo limitą; pakeiskite jį naudodami `--timeout SECONDS`. Pasibaigus laikui laukti nustojama,
tačiau skambutis nenutraukiamas.

Importai palaiko `vapi`, `retell`, `elevenlabs` ir `bland`. Antrasis argumentas yra
kelias į tiekėjo JSON eksportą, o ne nuotolinis tiekėjo ID. API asinchroniškai parengia susiejimą;
peržiūrėkite jį naudodami `imports get UUID` ir patvirtinkite tik tada, kai jis parengtas
ir peržiūrėjote susietus laukus bei įspėjimus. Žr. [agentų importus](/lt/guides/import-agents).

## MCP nustatymas

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

Klientai: `claude-code`, `codex`, `cursor`, `vscode`, `gemini`, `claude-desktop` ir
`windsurf`. Projekto sritis yra numatytoji. Desktop ir Windsurf reikalauja naudotojo srities.
Praleiskite `--client`, kad aptiktumėte vieną klientą projekte; jei aptikimas
dviprasmis, interaktyviai prašoma pasirinkti, o neinteraktyvioje sesijoje pateikiamos instrukcijos arba įvyksta klaida.
Nustatymas išspausdina sukurtą failą ir išsaugo nesusijusius serverius. Esamas JSON
turi būti galiojantis griežtas JSON; Codex TOML reikšmės išsaugomos, tačiau komentarai gali būti performatuoti.

Nustatymas teikia pirmenybę tiesioginiam nuotoliniam HTTP. Naudojant `--api-key-env`, įrašoma kintamojo
nuoroda, o ne raktas. Be šios parinkties tiesioginis HTTP priklauso nuo kliento
OAuth palaikymo; jis nenaudoja CLI kredencialų failo. Jei norite pakartotinai naudoti `thunderphone login`
kredencialus bet kuriame stdio palaikančiame kliente, naudokite:

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

Apvalkalas tikrina `THUNDERPHONE_API_KEY`, tada dabartinį CLI profilį (prireikus jį
atnaujindamas), tada perduoda OAuth `mcp-remote`. `THUNDERPHONE_MCP_URL` pakeičia
galinį tašką. Jis nesiunčia telemetrijos. Atskiras nustatymas taip pat pasiekiamas per
`npx -y @thunderphone/mcp setup --client cursor` arba `thunderphone-mcp setup`, prieš tai
visuotinai įdiegus `@thunderphone/mcp`.

## Sukurkite projektą

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

Šablonai yra `node` ir `python`; agentų tipai yra `receptionist`, `outbound` ir
`custom`. Numatytasis agentas yra anglų ir ispanų kalbomis kalbantis odontologijos registratūros balso agentas su aiškiai nurodytais
demonstraciniais faktais. Projektuose yra `agent.json`, diegimo scenarijai, MCP konfigūracijos, skirtos
Claude Code, Cursor ir VS Code, agento instrukcijos, `.env.example` ir README.
Karkaso generavimas vyksta neprisijungus ir neleidžia perrašyti netuščio katalogo.

Prieš diegdami redaguokite verslo faktus. Eksportuokite API raktą, prijungto skambintojo
numerį ir bandomojo skambučio gavėją, kaip nurodyta sugeneruotame README. `npm run deploy`
arba `python deploy.py` sukuria arba atnaujina agentą, įdiegia jo juodraštį ir atlieka
apmokestinamą bandomąjį skambutį. Scenarijuose naudojamas autentifikavimas API raktu; CLI ir stdio MCP
apvalkalas taip pat palaiko prisijungimą įrenginiu. Python scenarijams reikia Python 3.9 arba naujesnės versijos.
