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)।
Key কখনো settings.json-এ রাখবেন না
Zed settings.json থেকে API key পড়ে না। Key দিন Agent Panel-এর settings-এ, অথবা environment variable হিসেবে। settings.json-এ যা লিখবেন তা কোনো dotfiles repo-তে চলে যেতে পারে, তাই key সেখান থেকে দূরে রাখুন।
Agent Panel থেকে provider যোগ করুন#
সবচেয়ে সহজ পথ UI:
- Agent Settings খুলুন। Command palette থেকে
agent: open settingsচালান (actionagent::OpenSettings)। - LLM Providers-এর নিচে Add Provider-এ ক্লিক করুন।
- Provider name দিন
Tokens, API URLhttps://tokens.bd/v1, model IDdeepseek/deepseek-v4.1-flash, আর model catalog থেকে context window। - Provider-এর key-র ঘরে আপনার key,
tok_live_your_key, বসান।
Key এখনো না থাকলে Dashboard থেকে একটা বানিয়ে নিন। API keys দেখুন।
settings.json-এ Tokens declare করুন#
যে সেটআপ বারবার একইভাবে বানানো যায়, তার জন্য provider-টা Zed-এর settings.json-এ declare করুন (macOS আর Linux-এ ~/.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-এ model-এর পাশে যে সংখ্যা লেখা আছে, সেটা ব্যবহার করুন।
Key দেওয়ার উপায়#
Zed provider-এর নাম থেকে environment variable-এর নাম বানায়: <PROVIDER_NAME>_API_KEY। provider-এর নাম Tokens হলে সেটা TOKENS_API_KEY।
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দিলে Zedmax_completion_tokens-এর বদলেmax_tokensপাঠায়।max_tokensহলো Chat Completions-এর পুরনো, চেনা field। অনেক provider চালায় এমন gateway-র জন্য এটাই নিরাপদ, তাই উদাহরণে চালু রাখা হয়েছে।interleaved_reasoning: trueদিলে আগের thinkingreasoning_content-এ ফেরত পাঠানো হয়, যা DeepSeek-ধাঁচের reasoning model ব্যবহার করে। আপনার model যদি এমন reasoning model না হয় যার এটা দরকার, তাহলে বন্ধ রাখুন।chat_completions: falseদিলে Zed Responses API-তে চলে যায়। এটাtrue-ই রাখুন। Tokens/v1/responsesserve করে, কিন্তু প্রতিটা model-এ সেটা চলে কিনা তা upstream-এর ওপর নির্ভর করে, অথচ Chat Completions সবগুলোতেই চলে।
images: true দিন শুধু সেই model-এ, যার catalog-এ image input লেখা আছে।
Model বদলানো#
available_models-এ আরও object যোগ করুন, প্রতিটা Tokens model-এর জন্য একটা করে। তারপর Agent Panel-এর model picker থেকে বেছে নিন। হুবহু ID নিন catalog থেকে, অথবা এই command থেকে:
curl -s https://tokens.bd/v1/models -H "Authorization: Bearer $TOKENS_API_KEY"Agent-এর কাজে কোনটার কী trade-off, তা 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 পেজে।
ঠিকমতো চলছে কিনা যাচাই করুন#
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 পেজে আছে।
Request-এর বিস্তারিত আছে Chat Completions-এ। Zed-এর পাশে terminal agent চাইলে Crush বা OpenCode দেখুন।
সূত্র: Zed docs, use your own API access, Zed LLM providers, অক্টোবর 2026-এ দেখা।