# Zed-কে Tokens-এর সাথে যুক্ত করুন

> settings.json-এ OpenAI-compatible provider বসিয়ে Zed-এর Agent Panel-এ Tokens-এর model চালান, আর API key থাকবে file-এর বাইরে।

Zed একটা দ্রুত code editor, ভেতরে built-in agent আছে, নাম Zed Agent। এটা Tokens-এর সাথে যুক্ত হয় **OpenAI-compatible provider** দিয়ে, যা `language_models.openai_compatible`-এর নিচে declare করতে হয়, আর Chat Completions request পাঠায় `https://tokens.bd/v1`-এ। Zed Anthropic-compatible provider-ও ব্যবহার করতে পারে, সেই পদ্ধতি একদম শেষের দিকে আছে।

এই গাইড Zed v1.22.0-এর সাথে মিলিয়ে দেখা হয়েছে (অক্টোবর 2026)।

:::warning[Key কখনো settings.json-এ রাখবেন না]
Zed `settings.json` থেকে API key পড়ে না। Key দিন Agent Panel-এর settings-এ, অথবা environment variable হিসেবে। `settings.json`-এ যা লিখবেন তা কোনো dotfiles repo-তে চলে যেতে পারে, তাই key সেখান থেকে দূরে রাখুন।
:::

## Agent Panel থেকে provider যোগ করুন

সবচেয়ে সহজ পথ UI:

1. Agent Settings খুলুন। Command palette থেকে `agent: open settings` চালান (action `agent::OpenSettings`)।
2. **LLM Providers**-এর নিচে **Add Provider**-এ ক্লিক করুন।
3. Provider name দিন `Tokens`, API URL `https://tokens.bd/v1`, model ID `deepseek/deepseek-v4.1-flash`, আর [model catalog](/models) থেকে context window।
4. Provider-এর key-র ঘরে আপনার key, `tok_live_your_key`, বসান।

Key এখনো না থাকলে Dashboard থেকে একটা বানিয়ে নিন। [API keys](/docs/api-keys) দেখুন।

## settings.json-এ Tokens declare করুন

যে সেটআপ বারবার একইভাবে বানানো যায়, তার জন্য provider-টা Zed-এর `settings.json`-এ declare করুন (macOS আর Linux-এ `~/.config/zed/settings.json`):

```json title="~/.config/zed/settings.json"
{
  "language_models": {
    "openai_compatible": {
      "Tokens": {
        "api_url": "https://tokens.bd/v1",
        "available_models": [
          {
            "name": "deepseek/deepseek-v4.1-flash",
            "display_name": "DeepSeek V4.1 Flash",
            "max_tokens": 128000,
            "max_output_tokens": 8192,
            "capabilities": {
              "tools": true,
              "images": false,
              "parallel_tool_calls": false,
              "prompt_cache_key": false,
              "chat_completions": true,
              "interleaved_reasoning": false,
              "max_tokens_parameter": true
            }
          }
        ]
      }
    }
  }
}
```

এখানে `max_tokens` মানে context window আর `max_output_tokens` মানে output limit। দেখানো মানগুলো উদাহরণ। [catalog](/models)-এ model-এর পাশে যে সংখ্যা লেখা আছে, সেটা ব্যবহার করুন।

### Key দেওয়ার উপায়

Zed provider-এর নাম থেকে environment variable-এর নাম বানায়: `<PROVIDER_NAME>_API_KEY`। provider-এর নাম `Tokens` হলে সেটা `TOKENS_API_KEY`।

```bash
export TOKENS_API_KEY=tok_live_your_key
```

যে environment-এ এই variable আছে, Zed সেখান থেকেই চালু হতে হবে। Dock বা start menu থেকে Zed খুললে shell profile-এ export করা variable সে নাও দেখতে পারে। Agent Panel-এ key বসিয়ে দিলে এই ঝামেলা থাকে না।

### Capability flag

Zed-এর ডিফল্ট হলো `tools: true`, `images: false`, `parallel_tool_calls: false`, `prompt_cache_key: false`, `chat_completions: true`, `interleaved_reasoning: false` আর `max_tokens_parameter: false`। এর মধ্যে তিনটা নিয়ে ভেবে দেখা দরকার:

- `max_tokens_parameter: true` দিলে Zed `max_completion_tokens`-এর বদলে `max_tokens` পাঠায়। `max_tokens` হলো Chat Completions-এর পুরনো, চেনা field। অনেক provider চালায় এমন gateway-র জন্য এটাই নিরাপদ, তাই উদাহরণে চালু রাখা হয়েছে।
- `interleaved_reasoning: true` দিলে আগের thinking `reasoning_content`-এ ফেরত পাঠানো হয়, যা DeepSeek-ধাঁচের reasoning model ব্যবহার করে। আপনার model যদি এমন reasoning model না হয় যার এটা দরকার, তাহলে বন্ধ রাখুন।
- `chat_completions: false` দিলে Zed Responses API-তে চলে যায়। এটা `true`-ই রাখুন। Tokens `/v1/responses` serve করে, কিন্তু প্রতিটা model-এ সেটা চলে কিনা তা upstream-এর ওপর নির্ভর করে, অথচ Chat Completions সবগুলোতেই চলে।

`images: true` দিন শুধু সেই model-এ, যার catalog-এ image input লেখা আছে।

## Model বদলানো

`available_models`-এ আরও object যোগ করুন, প্রতিটা Tokens model-এর জন্য একটা করে। তারপর Agent Panel-এর model picker থেকে বেছে নিন। হুবহু ID নিন [catalog](/models) থেকে, অথবা এই command থেকে:

```bash
curl -s https://tokens.bd/v1/models -H "Authorization: Bearer $TOKENS_API_KEY"
```

Agent-এর কাজে কোনটার কী trade-off, তা [Choosing a model](/docs/choosing-a-model) পেজে ব্যাখ্যা করা আছে।

## Anthropic-compatible পদ্ধতি

Zed `language_models.anthropic_compatible`-ও support করে। `api_url` দিন `https://tokens.bd`, `/v1` ছাড়া, কারণ Anthropic protocol path নিজেই জুড়ে নেয়। এই provider-এর capability flag হলো `tools`, `images` আর `prompt_caching`। Zed key পাঠায় `X-Api-Key` header-এ, Tokens যা গ্রহণ করে। বেশির ভাগ model-এর জন্য ওপরের OpenAI-compatible সেটআপই সহজ। Messages API-র বিবরণ আছে [Messages](/docs/messages) পেজে।

## ঠিকমতো চলছে কিনা যাচাই করুন

```bash
curl -s 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"}]}'
```

এটা কাজ করলে Agent Panel-এর model picker থেকে "DeepSeek V4.1 Flash" select করে একটা prompt পাঠান। Tool call চলছে কিনা দেখতে agent-কে একটা file পড়তে বলুন। Request-টা আপনার Dashboard-এর usage analytics-এ দেখা যাবে।

## সমস্যা হলে

**Model list-এ আছে, কিন্তু প্রতিটা request 401 `missing_api_key` দিয়ে fail করছে।** এই provider-এর জন্য Zed-এর কাছে কোনো key নেই। Agent Panel-এ key বসান, অথবা Zed যে environment থেকে চালু হয়েছে সেখানে `TOKENS_API_KEY` set আছে কিনা দেখুন। `settings.json`-এ key লিখলে সেটা ignore হয়।

**401 `invalid_api_key`।** Key ভুল, revoke করা বা rotate হয়ে গেছে। Rotate করলে পুরনো secret সাথে সাথে বন্ধ হয়ে যায়।

**404 `model_not_found`।** `name` হতে হবে `deepseek/` সহ হুবহু Tokens ID। `display_name` শুধু একটা লেবেল।

**400 `invalid_request`, আর message-এ token parameter-এর কথা।** `max_tokens_parameter` উল্টে (toggle করে) দেখুন।

**Agent কখনো file edit করে না।** `tools` যে `true` আছে তা দেখুন, আর model যে tool calling support করে তা নিশ্চিত করুন।

**429 error।** `Retry-After` পড়ুন। প্রতিটা rate limit code কী বলছে তা [Troubleshooting](/docs/troubleshooting) পেজে আছে।

Request-এর বিস্তারিত আছে [Chat Completions](/docs/chat-completions)-এ। Zed-এর পাশে terminal agent চাইলে [Crush](/docs/crush) বা [OpenCode](/docs/opencode) দেখুন।

সূত্র: [Zed docs, use your own API access](https://zed.dev/docs/ai/use-api-access), [Zed LLM providers](https://zed.dev/docs/ai/llm-providers), অক্টোবর 2026-এ দেখা।

---
Page: https://tokens.bd/bn/docs/zed
