---
title: "ThunderPhone CLI"
description: "Влезте, управлявайте гласови агенти и обаждания, конфигурирайте MCP клиенти и създавайте начална структура на проекти от терминала."
---

CLI изисква Node.js 18.18 или по-нова версия. Изпълнете го с `npx` или го инсталирайте глобално:

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

## Вход

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

Входът извежда код за потвърждение, отваря браузъра и изчаква упълномощаване.
Използвайте `--no-browser` на машина без графична среда и отворете изведения URL адрес на друго място.
Входът от устройство изисква внедряване на OAuth потока за устройства на API. API ключът на организация в `THUNDERPHONE_API_KEY` също може да удостоверява команди и има предимство
пред запазените идентификационни данни за вход.

Идентификационните данни се съхраняват по профили в `~/.config/thunderphone/credentials.json`
с режим на файла `0600`. `XDG_CONFIG_HOME` и `THUNDERPHONE_CONFIG_DIR` заменят
директорията. Токените за достъп се обновяват автоматично, а ротационните токени за обновяване се
запазват атомарно. Токените никога не се извеждат при вход.

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

`THUNDERPHONE_PROFILE` задава профила по подразбиране. Изходът премахва локалните идентификационни данни;
той не отменя предоставеното от сървъра разрешение. API по подразбиране е `https://api.thunderphone.com`.
Използвайте `--api-base-url` или `THUNDERPHONE_API_BASE_URL` за друго API. Токенът на даден профил
не може да бъде изпратен към различен конфигуриран URL адрес на API; влезте в този URL адрес с отделен профил.

## Команди

Всяка команда приема `--json`. Успешните данни се изпращат към стандартния изход; грешките се изпращат към стандартния изход за грешки
с код за изход, различен от нула. Без `--json` изходът е компактна таблица или списък с полета.
JSON запазва структурата на отговора на API, като полетата за идентификационни данни са редактирани. Обслужването на MCP
запазва стандартния изход за протокола MCP.

| Команда | Предназначение |
| --- | --- |
| `login [--no-browser] [--scope "scopes"]` | Упълномощаване чрез код за устройство |
| `logout`, `whoami` | Премахване на локални идентификационни данни; изброяване на достъпните организации |
| `agents list`, `agents get ID` | Преглед на агенти |
| `agents create --file agent.json` | Създаване на агент |
| `agents update ID --file agent.json` | Запазване на чернова на агент |
| `agents deploy ID`, `agents delete ID` | Внедряване на черновата; изтриване на агент |
| `numbers list` | Преглед на телефонни номера |
| `numbers provision --country US --area-code 415` | Предоставяне на входящ номер в САЩ |
| `numbers assign NUMBER_ID --agent ID` | Задаване на агент за входящи обаждания |
| `call TO --agent ID --from FROM [--wait]` | Иницииране на изходящо обаждане; по избор изчакване на транскрипцията му |
| `calls list [--limit N] [--agent ID]` | Изброяване на обажданията (лимит 1–200) |
| `calls get ID`, `calls transcript ID` | Преглед на едно обаждане или неговата транскрипция |
| `test run AGENT_ID [--scenario ID] --consent-to-charge` | Изпълняване на таксувани запазени сценарии чрез уеб канала |
| `test status RUN_ID [--agent ID]` | Проверка на пакет с подробности за сценария, когато е указан агент |
| `import VENDOR export.json` | Подготовка на JSON импортиране от доставчик за преглед |
| `imports get UUID`, `imports commit UUID` | Проверка на импортиране; потвърждаване на избраните агенти след преглед |
| `mcp setup`, `mcp serve` | Конфигуриране на клиент; стартиране на stdio мост |
| `init [directory]` | Създаване на структура на проект |

Изходящите обаждания изискват свързан номер от телекомуникационен доставчик. `THUNDERPHONE_FROM_NUMBER` може
да предостави `--from`. Предоставените от ThunderPhone номера са само за входящи обаждания. `--wait` по подразбиране
е с изчакване от един час; задайте `--timeout SECONDS`, за да го промените. Изтичането на времето спира
изчакването, без да прекратява обаждането.

Импортирането поддържа `vapi`, `retell`, `elevenlabs` и `bland`. Вторият аргумент е
път до JSON експорт от доставчик, а не отдалечен идентификатор на доставчик. API подготвя съпоставяне
асинхронно; проверете го с `imports get UUID` и го потвърдете едва когато е готово
и сте прегледали съпоставените полета и предупрежденията. Вижте [импортиране на агенти](/bg/guides/import-agents).

## Настройване на MCP

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

Клиенти: `claude-code`, `codex`, `cursor`, `vscode`, `gemini`, `claude-desktop` и
`windsurf`. Обхватът на проекта е по подразбиране. Desktop и Windsurf изискват обхват за потребител.
Пропуснете `--client`, за да откриете един клиент от проекта; при нееднозначно откриване
ще бъдете подканени интерактивно или командата ще завърши с неуспех и инструкции в неинтерактивна сесия.
Настройването извежда файла, който е записан, и запазва несвързаните сървъри. Съществуващият JSON
трябва да е валиден строг JSON; TOML стойностите на Codex се запазват, но коментарите може да бъдат преформатирани.

Настройването предпочита директен отдалечен HTTP. С `--api-key-env` се записва препратка към
променлива, но никога самият ключ. Без тази опция директният HTTP разчита на поддръжката на
OAuth от клиента; не използва файла с идентификационни данни на CLI. За да използвате повторно
идентификационните данни от `thunderphone login` в който и да е клиент с поддръжка на stdio, използвайте:

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

Обвивката проверява `THUNDERPHONE_API_KEY`, след това текущия CLI профил (като го обновява
при нужда), след което делегира OAuth на `mcp-remote`. `THUNDERPHONE_MCP_URL` заменя
крайната точка. Не изпраща телеметрия. Самостоятелно настройване е налично и чрез
`npx -y @thunderphone/mcp setup --client cursor` или `thunderphone-mcp setup` след
глобално инсталиране на `@thunderphone/mcp`.

## Създаване на проект

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

Шаблоните са `node` и `python`; типовете агенти са `receptionist`, `outbound` и
`custom`. Агентът по подразбиране е англо-испански дентален рецепционист с изрично
зададени демонстрационни факти. Проектите включват `agent.json`, скриптове за внедряване,
MCP конфигурации за Claude Code, Cursor и VS Code, инструкции за агента, `.env.example` и README.
Създаването на структурата е офлайн и отказва да презапише непразна директория.

Редактирайте бизнес фактите преди внедряване. Експортирайте API ключа, свързания номер
на обаждащия се и получателя на тестовото обаждане, както е документирано в генерирания README. `npm run deploy`
или `python deploy.py` създава или актуализира агента, внедрява черновата му и извършва
платено тестово обаждане. Скриптовете използват удостоверяване с API ключ; CLI и stdio MCP
обвивката също поддържат вход от устройство. Python скриптовете изискват Python 3.9 или по-нова версия.
