---
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`. Успешни подаци иду на stdout; грешке иду на stderr
са излазним кодом различитим од нуле. Без `--json`, излаз је сажета табела или листа поља.
JSON задржава структуру одговора API-ја, са редигованим пољима акредитива. Послуживање MCP-а
резервише stdout за 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` | Обезбедите US број за долазне позиве |
| `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-а добављача, а не удаљени ID добављача. API асинхроно припрема пресликавање;
прегледајте га помоћу `imports get UUID` и потврдите га тек када буде спремно
и након што прегледате пресликана поља и упозорења. Погледајте [увоз агената](/sr/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; Codex TOML вредности се чувају, али коментари могу бити преформатирани.

Подешавање преферира директни удаљени 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 или новију верзију.
