# GitHub Copilot CLI

> GitHub Copilot CLI-কে Tokens-এর model দিয়ে চালান, তার bring-your-own-key environment variable ব্যবহার করে: base URL, key, model, token সীমা, আর কিছু না চললে কী দেখবেন।

GitHub Copilot CLI হলো GitHub-এর terminal coding agent, চালু হয় `copilot` command দিয়ে। এর bring-your-own-key (BYOK) mode-এ GitHub-এর নিজের model-এর বদলে আপনার পছন্দের provider ব্যবহার হয়। Tokens-এর সাথে এটা ডিফল্ট `openai` provider type-ই নেয়, আর OpenAI Chat Completions request পাঠায় `https://tokens.bd/v1`-এ।

এই পাতা terminal agent-এর জন্য। VS Code-এর ভেতরের Copilot Chat চাইলে দেখুন [GitHub Copilot in VS Code](/docs/github-copilot)। দুটোর setup আলাদা:

| | Copilot CLI (এই পাতা) | VS Code-এর Copilot |
| --- | --- | --- |
| কোথায় setup করবেন | `copilot`-এর পড়া environment variable | VS Code-এর `chatLanguageModels.json` |
| Model বাছা | `COPILOT_MODEL` বা `--model` | Copilot Chat-এর model picker |
| কতটুকু জুড়ে চলে | পুরো CLI session | শুধু chat আর utility কাজ; inline suggestion GitHub-এই থাকে |

:::note[Documentation দেখে যাচাই করা]
GitHub-এর [Copilot CLI-র BYOK reference](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) দেখে লেখা, October 2026-এ যাচাই করা। ওই পাতায় Copilot CLI-র কোনো version লেখা নেই; GitHub BYOK-র ঘোষণা দিয়েছিল 7 April 2026 তারিখের একটা changelog entry-তে। Copilot CLI-কে Tokens-এর সাথে শুরু থেকে শেষ পর্যন্ত চালিয়ে আমরা দেখিনি। আপনার install করা version-এ `copilot help providers` চালিয়ে এই পাতার সাথে মিলিয়ে নিন।
:::

## যা যা লাগবে

- একটা Tokens key। শুধু Copilot CLI-র জন্য আলাদা key বানান, মাসিক spend cap দিয়ে ([API keys](/docs/api-keys))।
- [/models](/models) থেকে model id। উদাহরণগুলোতে `deepseek/deepseek-v4.1-flash` ব্যবহার করা হয়েছে।
- Copilot CLI install করা। GitHub-এর docs-এ যে উপায়গুলো আছে: `npm install -g @github/copilot` (Node.js 22 বা তার পরের version), Windows-এ `winget install GitHub.Copilot`, `brew install --cask copilot-cli`, আর macOS ও Linux-এ `curl -fsSL https://gh.io/copilot-install | bash`। Windows-এ GitHub-এর শর্ত হলো PowerShell 6 বা তার পরের version।
- tool calling আর streaming, দুটোই support করে এমন model। কোনোটা না থাকলে Copilot CLI error দেয়। GitHub-এর পরামর্শ: context window 128K token বা তার বেশি হোক।

## Setup করুন

`COPILOT_PROVIDER_BASE_URL` সেট থাকলেই Copilot CLI BYOK চালু করে। base URL, key আর model সেট করে `copilot` চালু করুন:

:::code-tabs

```bash title="macOS / Linux"
export TOKENS_API_KEY="tok_live_your_key"
export COPILOT_PROVIDER_BASE_URL="https://tokens.bd/v1"
export COPILOT_PROVIDER_API_KEY="$TOKENS_API_KEY"
export COPILOT_MODEL="deepseek/deepseek-v4.1-flash"
copilot
```

```powershell title="Windows PowerShell"
$env:TOKENS_API_KEY = "tok_live_your_key"
$env:COPILOT_PROVIDER_BASE_URL = "https://tokens.bd/v1"
$env:COPILOT_PROVIDER_API_KEY = $env:TOKENS_API_KEY
$env:COPILOT_MODEL = "deepseek/deepseek-v4.1-flash"
copilot
```

:::

PowerShell-এর লাইনগুলো শুধু ওই window-র জন্য। key রাখুন shell profile বা কোনো secrets manager-এ, repository-র ভেতরের file-এ নয়।

| Variable | Tokens-এর জন্য মান |
| --- | --- |
| `COPILOT_PROVIDER_BASE_URL` | `https://tokens.bd/v1`। এটা লাগবেই। শেষে `/v1` আছে, GitHub-এর পাতার OpenAI উদাহরণের মতোই। |
| `COPILOT_PROVIDER_TYPE` | সেট করবেন না। ডিফল্ট হলো `openai`। Tokens-এর জন্য `azure` বা `anthropic` দেবেন না। |
| `COPILOT_PROVIDER_API_KEY` | আপনার Tokens key। |
| `COPILOT_MODEL` | Tokens-এর model id, নয়তো `copilot`-কে `--model <id>` দিন। এটা লাগবেই। |

Tokens-এ credential বলতে শুধু key-ই লাগে। `COPILOT_PROVIDER_BEARER_TOKEN` ব্যবহার করতে চাইলেও চলবে, কারণ Tokens `Authorization: Bearer` নেয়। তবে API key-র variable-টাই সহজ।

### Token সীমা

Copilot CLI পরিচিত model-এর নাম ধরে তার context সীমা খুঁজে নেয়। Tokens-এর id তার কাছে পরিচিত নাম নয়, তাই সীমাগুলো নিজে সেট করে দিন:

```bash
export COPILOT_PROVIDER_MAX_PROMPT_TOKENS=120000
export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS=8192
```

সংখ্যাগুলো placeholder। আসল context window আর max output [/models](/models)-এ ওই model-এর পাতা থেকে copy করে বসান, আর context window-র ভেতরে output-এর জন্য জায়গা ছেড়ে রাখুন। CLI যে নামে খুঁজবে আর provider-কে যে নামে পাঠানো হবে, সেটা আলাদা হলে `COPILOT_PROVIDER_MODEL_ID` আর `COPILOT_PROVIDER_WIRE_MODEL` কাজে লাগে। Tokens-এ এ দুটোর কোনোটাই লাগে না, কারণ `COPILOT_MODEL`-এ যে id দিয়েছেন, Tokens ঠিক সেটাই চায়।

### Wire API setting

GitHub-এর পাতায় `COPILOT_PROVIDER_WIRE_API`-ও আছে, কিন্তু কোন কোন মান চলে তা লেখা নেই। এটা সেট না করেই রাখুন। Tokens [Chat Completions](/docs/chat-completions) আর [Responses API](/docs/responses), দুটোই বোঝে, তাই ডিফল্টে কাজ চলবে। অন্য কিছু guide-এ নির্দিষ্ট কিছু model-এর জন্য এটা `responses` করতে বলা হয়। সেটা করে দেখতে চাইলে আগে নিচের যাচাইটা চালিয়ে নিন।

## ঠিকমতো চলছে কি না দেখুন

আগে Copilot CLI-র বাইরে key আর model পরীক্ষা করুন:

```bash
curl https://tokens.bd/v1/chat/completions \
  -H "Authorization: Bearer $TOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek/deepseek-v4.1-flash", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with OK"}]}'
```

তারপর একটা prompt দিয়ে Copilot CLI চালান:

```bash
copilot -p "Reply with OK"
```

ছোট একটা উত্তর আসার কথা, আর request-টা আপনার Dashboard-এর usage analytics-এ দেখা যাবে। tool calling পরীক্ষা করতে কোনো project-এ `copilot` চালু করে একটা file পড়তে বলুন। model উত্তর দেয় কিন্তু আপনার file-এ হাত দেয় না, এমন হলে সম্ভবত সে tool calling ভালো পারে না; দেখুন [Tool calling](/docs/tool-calling)।

## Model বাছাই

এমন model নিন যার tool calling ভরসাযোগ্য আর context লম্বা। তুলনা পাবেন [Choosing a model](/docs/choosing-a-model)-এ, আর `/models` catalog-এ প্রতিটা model-এর context ও output সীমা দেখা যায়। একটা session-এর জন্য model বদলাতে `copilot --model <id>` দিন, নয়তো `COPILOT_MODEL` পাল্টে দিন। একসাথে একটা provider configuration-ই চালু থাকে।

## সীমা আর যা জানা দরকার

- **খরচ।** agent বারবার ঘুরে ঘুরে কাজ করে: একটা prompt থেকে অনেক request হয়ে যেতে পারে, আর প্রতিটায় বাড়তে থাকা পুরো conversation যায়। মাসিক spend cap দেওয়া key ব্যবহার করুন ([API keys](/docs/api-keys)) আর Dashboard-এ usage দেখে রাখুন।
- **GitHub sign-in।** GitHub-এর ঘোষণা অনুযায়ী BYOK mode-এ GitHub-এ sign in করা ঐচ্ছিক। sign in করলে GitHub-এর কিছু feature যোগ হয়, যেমন `/delegate`, GitHub code search আর GitHub MCP server। GitHub-এর install পাতায় আগের শর্ত হিসেবে সক্রিয় Copilot সাবস্ক্রিপশনের কথা আছে। BYOK-র পাতায় কোন plan-এ BYOK চলে তা লেখা নেই। নিশ্চিত না হলে যিনি আপনার Copilot plan দেখেন, তাঁকে জিজ্ঞেস করুন।
- **Organization policy।** আপনার organization বা enterprise Copilot CLI বন্ধ করে রাখলে BYOK দিয়েও এটা চালানো যাবে না।
- **তবু GitHub-এ কী যায়।** GitHub-এর পাতায় এর কোনো তালিকা নেই। তবে সেখানে লেখা আছে `COPILOT_OFFLINE=true` দিলে Copilot CLI GitHub-এর server-এ যোগাযোগ করা বন্ধ করে। এতে Tokens local হয়ে যায় না: আপনার prompt আর code-এর context তখনো `https://tokens.bd/v1`-এই যায়।
- **Slash-ওয়ালা model id।** Tokens-এর id দেখতে `provider/model`-এর মতো। slash-ওয়ালা id নিয়ে GitHub-এর পাতায় কিছু বলা নেই। `COPILOT_MODEL` reject হলে আগে ওপরের `curl` দিয়ে id-টা পরীক্ষা করুন।
- **Session।** variable সেট করা shell থেকেই `copilot` চালু করুন। অন্য জায়গা থেকে শুরু করা session ওগুলো দেখতে পায় না।

## সমস্যা হলে

**Copilot CLI এখনো GitHub-এর model-ই ব্যবহার করছে।** যে shell থেকে `copilot` চালু করেছেন, সেখানে `COPILOT_PROVIDER_BASE_URL` সেট নেই। `echo $COPILOT_PROVIDER_BASE_URL` চালিয়ে দেখুন (PowerShell-এ `$env:COPILOT_PROVIDER_BASE_URL`)।

**401 `missing_api_key` বা `invalid_api_key`।** `COPILOT_PROVIDER_API_KEY` ফাঁকা, নয়তো অন্য কোনো provider-এর key বসে আছে। Tokens key শুরু হয় `tok_live_` দিয়ে। দেখুন [Errors](/docs/errors)।

**404 `model_not_found`।** `COPILOT_MODEL` Tokens-এর হুবহু id নয়। [/models](/models) বা `GET https://tokens.bd/v1/models` থেকে copy করুন।

**404 `unsupported_endpoint`।** base URL-এ `/v1` নেই, নয়তো বাড়তি path আছে। `https://tokens.bd/v1` হুবহু ব্যবহার করুন।

**tool calling বা streaming নিয়ে error।** model এ দুটোর একটা support করে না। যে model করে, সেটা বেছে নিন ([Streaming](/docs/streaming), [Tool calling](/docs/tool-calling))।

**403 `monthly_spend_cap_exceeded` বা 402 `insufficient_credits`।** key-র cap অথবা আপনার ব্যালান্স শেষ। cap বাড়ান, নয়তো [billing](/dashboard/billing)-এ গিয়ে টাকা যোগ করুন।

**429 `rate_limited` বা `concurrency_limit`।** agent আপনার সীমার চেয়ে দ্রুত request পাঠিয়েছে। `Retry-After` পর্যন্ত অপেক্ষা করুন; দেখুন [Rate limits](/docs/rate-limits)।

সব code-এর তালিকা [Errors](/docs/errors)-এ। অন্য সমস্যার জন্য [Troubleshooting](/docs/troubleshooting)।

---
Page: https://tokens.bd/bn/docs/github-copilot-cli
