---
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 ಅನ್ನು ಬೇರೆಡೆ ತೆರೆಯಿರಿ.
ಸಾಧನ ಲಾಗ್ ಇನ್‌ಗೆ APIಯ OAuth ಸಾಧನ-ಹರಿವು ಬಿಡುಗಡೆ ಅಗತ್ಯವಿದೆ. `THUNDERPHONE_API_KEY`ಯಲ್ಲಿರುವ ಸಂಸ್ಥೆಯ API
ಕೀ ಸಹ ಆಜ್ಞೆಗಳನ್ನು ದೃಢೀಕರಿಸಬಹುದು ಮತ್ತು ಸಂಗ್ರಹಿತ ಲಾಗ್ ಇನ್ ರುಜುವಾತುಗಳಿಗಿಂತ ಆದ್ಯತೆ ಪಡೆಯುತ್ತದೆ.

ರುಜುವಾತುಗಳನ್ನು ಪ್ರೊಫೈಲ್ ಪ್ರಕಾರ `~/.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ಗಾಗಿ `--api-base-url` ಅಥವಾ `THUNDERPHONE_API_BASE_URL` ಬಳಸಿ. ಒಂದು ಪ್ರೊಫೈಲ್‌ನ ಟೋಕನ್ ಅನ್ನು
ಬೇರೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ API URLಗೆ ಕಳುಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ; ಪ್ರತ್ಯೇಕ ಪ್ರೊಫೈಲ್‌ನೊಂದಿಗೆ ಆ URLಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಿ.

## ಆಜ್ಞೆಗಳು

ಪ್ರತಿ ಆಜ್ಞೆಯು `--json` ಸ್ವೀಕರಿಸುತ್ತದೆ. ಯಶಸ್ವಿ ಡೇಟಾವು stdoutಗೆ ಹೋಗುತ್ತದೆ; ದೋಷಗಳು ಶೂನ್ಯವಲ್ಲದ ನಿರ್ಗಮನ ಕೋಡ್‌ನೊಂದಿಗೆ
stderrಗೆ ಹೋಗುತ್ತವೆ. `--json` ಇಲ್ಲದೆ, ಔಟ್‌ಪುಟ್ ಸಂಕ್ಷಿಪ್ತ ಕೋಷ್ಟಕ ಅಥವಾ ಕ್ಷೇತ್ರ ಪಟ್ಟಿ ಆಗಿರುತ್ತದೆ.
ರುಜುವಾತು ಕ್ಷೇತ್ರಗಳನ್ನು ಮರೆಮಾಚಿ JSON API ಪ್ರತಿಕ್ರಿಯೆಯ ರಚನೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. MCP ಸೇವೆಯು
MCP ಪ್ರೋಟೋಕಾಲ್‌ಗಾಗಿ stdout ಅನ್ನು ಕಾಯ್ದಿರಿಸುತ್ತದೆ.

| ಆಜ್ಞೆ | ಉದ್ದೇಶ |
| --- | --- |
| `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` ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ಎರಡನೇ ಆರ್ಗ್ಯುಮೆಂಟ್ ದೂರಸ್ಥ ಮಾರಾಟಗಾರರ ID ಅಲ್ಲ,
ಮಾರಾಟಗಾರರ JSON ರಫ್ತಿಗೆ ಒಂದು ಪಥವಾಗಿದೆ. API ಅಸಮಕಾಲಿಕವಾಗಿ ಮ್ಯಾಪಿಂಗ್ ಸಿದ್ಧಪಡಿಸುತ್ತದೆ; ಅದನ್ನು
`imports get UUID` ಮೂಲಕ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಅದು ಸಿದ್ಧವಾದ ನಂತರ ಹಾಗೂ ಮ್ಯಾಪ್ ಮಾಡಲಾದ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು
ಪರಿಶೀಲಿಸಿದ ಬಳಿಕ ಮಾತ್ರ ದೃಢೀಕರಿಸಿ. [ಏಜೆಂಟ್ ಆಮದುಗಳನ್ನು](/kn/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`. ಪ್ರಾಜೆಕ್ಟ್ ಸ್ಕೋಪ್ ಡೀಫಾಲ್ಟ್ ಆಗಿದೆ. ಡೆಸ್ಕ್‌ಟಾಪ್ ಮತ್ತು Windsurf ಗೆ ಬಳಕೆದಾರ ಸ್ಕೋಪ್ ಅಗತ್ಯವಿದೆ.
ಪ್ರಾಜೆಕ್ಟ್‌ನಿಂದ ಒಬ್ಬೇ ಕ್ಲೈಂಟ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚಲು `--client` ಅನ್ನು ಬಿಟ್ಟುಬಿಡಿ; ಅಸ್ಪಷ್ಟ ಪತ್ತೆಹಚ್ಚುವಿಕೆ
ಸಂವಾದಾತ್ಮಕವಾಗಿ ಪ್ರಾಂಪ್ಟ್ ಮಾಡುತ್ತದೆ ಅಥವಾ ಸಂವಾದಾತ್ಮಕವಲ್ಲದ ಸೆಷನ್‌ನಲ್ಲಿ ಸೂಚನೆಗಳೊಂದಿಗೆ ವಿಫಲವಾಗುತ್ತದೆ.
ಸೆಟಪ್ ಅದು ಬರೆದ ಫೈಲ್ ಅನ್ನು ಮುದ್ರಿಸುತ್ತದೆ ಮತ್ತು ಸಂಬಂಧಿಸದ ಸರ್ವರ್‌ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಇರುವ JSON
ಮಾನ್ಯವಾದ ಕಟ್ಟುನಿಟ್ಟಾದ JSON ಆಗಿರಬೇಕು; Codex TOML ಮೌಲ್ಯಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಆದರೆ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಮರುಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಬಹುದು.

ಸೆಟಪ್ ನೇರ ರಿಮೋಟ್ HTTP ಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ. `--api-key-env` ಜೊತೆಗೆ, ಅದು ಕೀಲಿಯನ್ನು ಎಂದಿಗೂ ಬರೆಯದೆ
ವೇರಿಯಬಲ್ ಉಲ್ಲೇಖವನ್ನು ಬರೆಯುತ್ತದೆ. ಆ ಆಯ್ಕೆಯಿಲ್ಲದೆ, ನೇರ HTTP ಕ್ಲೈಂಟ್‌ನ OAuth ಬೆಂಬಲವನ್ನು ಅವಲಂಬಿಸುತ್ತದೆ;
ಅದು CLI ಕ್ರೆಡೆನ್ಷಿಯಲ್ ಫೈಲ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಯಾವುದೇ stdio-ಬೆಂಬಲಿತ ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ `thunderphone login`
ಕ್ರೆಡೆನ್ಷಿಯಲ್‌ಗಳನ್ನು ಮರುಬಳಸಲು, ಇದನ್ನು ಬಳಸಿ:

```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` ಅನ್ನು ಜಾಗತಿಕವಾಗಿ
ಸ್ಥಾಪಿಸಿದ ನಂತರ `thunderphone-mcp setup` ಮೂಲಕ ಲಭ್ಯವಿದೆ.

## ಪ್ರಾಜೆಕ್ಟ್ ರಚಿಸಿ

```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`, ಡಿಪ್ಲಾಯ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು, Claude Code, Cursor ಮತ್ತು VS Code ಗಾಗಿ MCP ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳು,
ಏಜೆಂಟ್ ಸೂಚನೆಗಳು, `.env.example`, ಮತ್ತು README ಇರುತ್ತವೆ. ಸ್ಕ್ಯಾಫೋಲ್ಡಿಂಗ್ ಆಫ್‌ಲೈನ್ ಆಗಿದ್ದು, ಖಾಲಿಯಲ್ಲದ ಡೈರೆಕ್ಟರಿಯನ್ನು
ತಿದ್ದಿಬರೆಯಲು ನಿರಾಕರಿಸುತ್ತದೆ.

ಡಿಪ್ಲಾಯ್‌ಮೆಂಟ್‌ಗೆ ಮೊದಲು ವ್ಯವಹಾರ ಮಾಹಿತಿಗಳನ್ನು ಸಂಪಾದಿಸಿ. ರಚಿಸಲಾದ README ಯಲ್ಲಿ ದಾಖಲಿಸಿರುವಂತೆ API ಕೀ, ಸಂಪರ್ಕಿತ ಕರೆಗಾರ
ಸಂಖ್ಯೆ ಮತ್ತು ನಿಮ್ಮ ಪರೀಕ್ಷಾ ಸ್ವೀಕರಿಸುವವರನ್ನು ಎಕ್ಸ್‌ಪೋರ್ಟ್ ಮಾಡಿ. `npm run deploy`
ಅಥವಾ `python deploy.py` ಏಜೆಂಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ ಅಥವಾ ನವೀಕರಿಸುತ್ತದೆ, ಅದರ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಡಿಪ್ಲಾಯ್ ಮಾಡುತ್ತದೆ ಮತ್ತು
ಶುಲ್ಕಕ್ಕೆ ಒಳಪಡುವ ಪರೀಕ್ಷಾ ಕರೆಯನ್ನು ಮಾಡುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು API-ಕೀ ದೃಢೀಕರಣವನ್ನು ಬಳಸುತ್ತವೆ; CLI ಮತ್ತು stdio MCP
ರ್ಯಾಪರ್ ಸಹ ಸಾಧನ ಲಾಗಿನ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. Python ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ Python 3.9 ಅಥವಾ ನಂತರದ ಆವೃತ್ತಿ ಅಗತ್ಯವಿದೆ.
