---
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 ਡਿਵਾਈਸ-ਫ਼ਲੋ ਰੋਲਆਉਟ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇੱਕ ਸੰਗਠਨ ਦੀ 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 ਲਈ `--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` ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ। ਦੂਜੀ ਆਰਗੂਮੈਂਟ
ਵਿਕਰੇਤਾ JSON ਐਕਸਪੋਰਟ ਦਾ ਪਾਥ ਹੈ, ਰਿਮੋਟ ਵਿਕਰੇਤਾ ID ਨਹੀਂ। API ਅਸਮਕਾਲੀ ਤੌਰ 'ਤੇ ਮੈਪਿੰਗ
ਤਿਆਰ ਕਰਦਾ ਹੈ; ਇਸਨੂੰ `imports get UUID` ਨਾਲ ਦੇਖੋ ਅਤੇ ਕੇਵਲ ਉਦੋਂ ਕਮਿਟ ਕਰੋ ਜਦੋਂ ਇਹ ਤਿਆਰ ਹੋਵੇ
ਅਤੇ ਤੁਸੀਂ ਮੈਪ ਕੀਤੀਆਂ ਫ਼ੀਲਡਾਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਦੀ ਸਮੀਖਿਆ ਕਰ ਲਈ ਹੋਵੇ। [ਏਜੰਟ ਇੰਪੋਰਟ](/pa/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 ਜਾਂ ਇਸ ਤੋਂ ਬਾਅਦ ਵਾਲਾ ਵਰਜਨ ਲਾਜ਼ਮੀ ਹੈ।
