এক providers.yaml দিয়ে Raycast AI-তে catalog model বসান।
Updated 2026-07-30
Raycast-এর Custom Providers feature একটা providers.yaml file দিয়ে যেকোনো OpenAI-compatible endpoint accept করে: base_url, একটা key, এবং আপনার declare করা model। Claude, GPT, Gemini, এবং DeepSeek id তখন launcher-এর model picker-এ বসে, এক key দিয়ে billed।
দ্রুত উত্তর: Custom Providers চালু করুন, একটা file edit করুন।
OpenAI-compatible endpoint-এর জন্য Raycast-এর path হলো Custom Providers feature, advanced user-দের লক্ষ্য করে বানানো এবং default-এ disabled। Raycast Settings-এর AI section-এর নিচে এটা চালু করুন, config folder খুলতে Reveal Providers Config ব্যবহার করুন, এবং shipped providers.template.yaml-কে providers.yaml-এ copy করুন। File ~/.config/raycast/ai/providers.yaml-এ থাকে। প্রতিটা provider entry একটা id, একটা display name, একটা base_url, এবং একটা api_keys block নেয়; picker-এ চান এমন প্রতিটা model তার id, একটা display name, এবং context window সহ explicitly declared, প্লাস Raycast কী চাইতে পারে তা বর্ণনা করা একটা abilities block। base_url shape built-in local-model example-এর মতো একই convention অনুসরণ করে, যা একটা /v1 root-এ point করে, তাই APIsRouter-এর value https://api.apisrouter.com/v1। File credential ধরে রাখে, তাই এটাকে যেকোনো secrets file-এর মতো treat করুন।
providers:
- id: apisrouter
name: APIsRouter
base_url: https://api.apisrouter.com/v1
api_keys:
default: sk-APIsRouter-...
models:
- id: claude-sonnet-4-6
name: Claude Sonnet 4.6
context: 200000
abilities:
temperature:
supported: true
tools:
supported: true
- id: claude-haiku-4-5-20251001
name: Claude Haiku 4.5
context: 200000
abilities:
temperature:
supported: trueদুটো Raycast feature যা শুনতে একরকম, কিন্তু না।
Raycast আপনার নিজের AI access আনার দুটো উপায় documents করে, এবং একটা খুঁজলে নির্ভরযোগ্যভাবে অন্যটা উঠে আসে, তাই পার্থক্যটা স্পষ্টভাবে বলা মূল্যবান। Bring Your Own Keys, Raycast manual-এর BYOK পাতা, আপনার ব্যক্তিগত Anthropic, Google, বা OpenAI key (iOS-এ OpenRouter) Raycast AI-এর সাথে connect করে। এটা সহজতর feature, Pro subscription ছাড়াই কাজ করে বলে documented, কিন্তু এটা কোনো কাস্টম endpoint না: request API unification-এর জন্য Raycast-এর server দিয়ে route হয়, এবং manual স্পষ্ট করে বলে শুধু Raycast AI-তে ইতিমধ্যে উপলব্ধ model-ই accessible। একটা gateway key সেখানে plug in হয় না, কারণ BYOK কখনো একটা URL চায় না। Custom Providers-ই এই পাতা যা configure করে: আপনার নিজের base_url, আপনার নিজের key, আপনার নিজের declared model, request আপনি যেখানে point করবেন সেখানেই যায়। এটা একটা multi-vendor gateway-র জন্য path, local server-এর জন্য, এবং Raycast-এর built-in list যা বহন করে না এমন যেকোনো model-এর জন্য। Trade-off হলো explicitness, Raycast আপনার জন্য endpoint-এর model list fetch করে না (সেই সুবিধা একটা standing feature request), তাই picker আপনার YAML যা declare করে ঠিক তাই দেখায়, বেশিও না কমও না।
Honestly model declare করা: id, context, abilities।
Autodiscovery না থাকায়, YAML একটা contract, এবং এর প্রতিটা field real কাজ করে। Model id-কে gateway-র /v1/models listing-এর সাথে exactly মিলতে হবে; এটাই request-এ ভ্রমণ করে। Name শুধু Raycast যে label দেখায়। Context value Raycast-কে বলে দেয় একটা request-এ কতটুকু conversation history pack করা যায়, তাই understate করলে capability নষ্ট হয় এবং overstate করলে model reject করে এমন request তৈরি হয়; আপনি যে id declare করছেন তার documented window ব্যবহার করুন। Abilities block-ই সেটা যেখানে মানুষ ভুল করে। এটা declare করে Raycast কী নির্ভর করতে পারে: temperature control, vision input, system message, tool use, reasoning effort। Model-এর নেই এমন একটা ability declare করলে Raycast feature-এর ভেতরে clean error-এর বদলে বিভ্রান্তিকর runtime failure তৈরি হয়, এবং সত্যিই থাকা একটা ability বাদ দিলে matching Raycast behavior নীরবে disable হয়ে যায়। Minimal শুরু করুন, AI extension-এর সাথে ব্যবহার করবেন এমন model-এর জন্য temperature প্লাস tools, এবং model-এর documentation-এর বিরুদ্ধে confirm করার সাথে সাথে abilities যোগ করুন। এই file হাত দিয়ে manage করার জন্য একটা community-maintained Raycast extension আছে একটা UI থেকে, প্রতিটা change-এর আগে automatic backup সহ, YAML-by-hand আপনার পছন্দ না হলে জানার মতো। যেভাবেই হোক, Raycast disk থেকে file পড়ে, তাই edit করার পর, AI settings-কে একটু সময় দিন বা picker current file reflect করছে কিনা নিশ্চিত করতে feature toggle করুন।
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# declare these ids verbatim in providers.yamlএকটা launcher-এর জন্য model বেছে নেওয়া।
প্রতিটা declared model একই key দিয়ে bill হয় বলে, তুলনার loop একটা picker switch: একটা দিনের জন্য একই quick command দুইটা id-তে চালান, তারপর console-এ per-model spend পড়ুন এবং যেটা তার জায়গা আয় করেছে সেটা রাখুন।
- Launcher AI burst work: এটা summarize করো, ওটা rewrite করো, selection ব্যাখ্যা করো। claude-haiku-4-5-20251001 এবং gemini-3.5-flash window animation শেষ হওয়ার আগেই return করে, যা Raycast user-রা আশা করে সেই feel।
- AI Chat session এবং লম্বা drafting claude-sonnet-4-6 বা gpt-5.5 আয় করে; fast tier-এর পাশে সেগুলো declare করুন এবং picker-এ প্রতি task switch করুন।
- Tool call করা AI extension-এর দরকার একটা model যার tool use dependable, এবং সেই সাথে মেলানো abilities block declare করা; সেখানে claude-sonnet-4-6-ই নিরাপদ প্রথম choice।
- যারা প্রতিটা text field-এ AI wire করেন তাদের জন্য deepseek-v4-flash volume pick; constant ছোট completion যোগ হতে থাকে, এবং fast tier সেই habit-কে balance-এ invisible রাখে।
- Speculatively অনেকের বদলে deliberately কম model declare করুন: প্রতিটা entry একটা picker row যা আপনি scroll করে যান, এবং YAML পরের দিন আরেকটা id দরকার হলে extend করা সহজ।
ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| মডেল | অফিশিয়াল মূল্য | আমাদের মূল্য |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Flash | $0.14 / $0.28 per M | $0.10 / $0.30 per M |
Raycast-specific failure mode।
Custom Providers মিন করার সময় BYOK configure করা top-level ভুল, এবং এটা আপনার দোষ না: feature দুটো একটা search space share করে। যে flow-তে আছেন সেটা যদি একটা vendor key চায় কিন্তু কখনো একটা URL না, আপনি BYOK-এ আছেন, এবং gateway সেখানে belong করে না। Settings, AI, এবং নিচের Custom Providers toggle-এ ফিরে যান। File ignore হচ্ছে সাধারণত মানে feature toggle off, file এখনও providers.template.yaml নামে আছে, বা YAML-এ একটা syntax error আছে, যে ক্ষেত্রে Raycast-এর কাছে load করার মতো কিছুই valid নেই এবং picker শুধু কোনো কাস্টম model দেখায় না। আরও গভীরে সন্দেহ করার আগে YAML validate করুন। কিছু Raycast feature-এ error কিন্তু অন্যগুলোতে না এমন একটা model মানে একটা abilities mismatch: tool-using AI extension fail হয় যখন plain chat কাজ করে যখন tools এমন একটা model-এ declare করা হয়েছে যার তা নেই, বা কখনো declare করা হয়নি এমন একটাতে যার তা আছে। Size-এর জন্য reject হওয়া request একটা overstated context value-র দিকে ইঙ্গিত করে। এবং platform boundary honestly note করুন: Custom Providers Mac-এ configure হয়, একটা local config file-এ। আপনার Raycast ব্যবহারের কিছু অংশ অন্য কোথাও হলে, ধরে নেওয়ার আগে feature সেখানে কী সাপোর্ট করে তা manual-এ check করুন।
কারা একটা gateway দিয়ে Raycast AI route করে।
- Launcher-এ বসবাস করা Power user যারা কোনো subscription তারা কোন model touch করতে পারে তা না ঠিক করে fast catalog id-তে দ্রুত AI command চান।
- যারা ইতিমধ্যে editor এবং terminal tool একটা gateway দিয়ে route করছেন এবং launcher একই key-তে চান, প্রতিটা surface জুড়ে এক usage log।
- যারা Raycast-এর built-in list বহন করে না এমন model চান, DeepSeek এবং GLM id সহ, YAML-এ একবার declared এবং app জুড়ে সব জায়গায় উপলব্ধ।
- AI-extension builder যাদের তাদের extension-এর পিছনে একটা নির্দিষ্ট tool-capable model দরকার, একটা hosted list-এর subject না হয়ে id দিয়ে pin করা।
- Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access per-provider sign-up dependency সরিয়ে দেয়।
Endpoint verify করুন এবং প্রথম command debug করুন।
প্রথমে models curl চালান এবং output থেকে id YAML-এ copy করুন; মেমরি থেকে id টাইপ করা এখানে model-not-found error-এর প্রধান কারণ, কারণ file-ই Raycast-এর একমাত্র model source। তারপর toggle চালু করুন, confirm করুন picker আপনার declared name দেখাচ্ছে, এবং fast model-এ একটা quick AI command চালান। একটা খালি picker toggle, filename, বা YAML syntax-এর সমস্যা। একটা authentication error api_keys block-এর সমস্যা। একটা not-found error আপনি এইমাত্র curl করা listing-এর বিরুদ্ধে একটা id mismatch। Chat-এ কাজ করে কিন্তু একটা AI extension-এ fail করে এমন একটা command সেই model-এর abilities declaration-এর সমস্যা। Command flow শুরু হলে, APIsRouter console per-request model, token count, এবং spend দেখায়। Launcher AI মানে কয়েকটা বড়র বদলে শত শত ছোট request, এবং usage log-ই যেখানে সেই pattern একটা সংখ্যা হয়ে যায়, প্রতি model, প্রতি দিন, gateway দিয়ে route করা প্রতিটা অন্য tool-এর মতো একই পাতায়।
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-4-5-20251001",
"messages":[{"role":"user","content":"ping"}]}'সাধারণ প্রশ্ন
Raycast AI-তে কীভাবে একটা কাস্টম OpenAI-compatible endpoint যোগ করব?
Raycast-এর AI settings-এর নিচে Custom Providers চালু করুন, তারপর ~/.config/raycast/ai/providers.yaml edit করুন: base_url https://api.apisrouter.com/v1 এবং আপনার key সহ একটা provider entry, প্লাস id, name, এবং context সহ explicit model declaration। Shipped providers.template.yaml আপনার version-এর জন্য schema documents করে।
এটা কি Raycast-এর Bring Your Own Keys-এর মতোই?
না। BYOK একটা personal Anthropic, Google, বা OpenAI key connect করে, Raycast-এর server দিয়ে route হয়, এবং শুধু Raycast AI-তে ইতিমধ্যে থাকা model unlock করে; এটা কখনো একটা URL চায় না। Custom Providers সেই file-based feature যা একটা base_url এবং আপনার নিজের model list নেয়, এবং একটা gateway-র জন্য এটাই সঠিক path।
আমার gateway model picker-এ কেন দেখা যায় না?
Raycast কাস্টম endpoint থেকে model list fetch করে না; picker providers.yaml যা declare করে ঠিক তাই দেখায়। একটা খালি picker মানে Custom Providers toggle off, file-এর নাম ভুল বা invalid YAML আছে, বা provider-এর নিচে কোনো models block declare করা হয়নি।
abilities block কী করে?
এটা declare করে Raycast প্রতিটা model-এ কী চাইতে পারে: temperature, vision, system message, tools, reasoning effort। Model-এর নেই এমন একটা ability declare করলে যেসব feature ব্যবহার করে তাতে বিভ্রান্তিকর failure হয়, এবং একটা real ability বাদ দিলে matching Raycast behavior disable হয়ে যায়। Conservatively declare করুন এবং confirm করার সাথে সাথে expand করুন।
Custom Providers-এর কি Raycast Pro subscription লাগে?
Raycast BYOK-কে Pro ছাড়াই ব্যবহারযোগ্য বলে documents করে, এবং Custom Providers advanced user-দের লক্ষ্য করে বানানো একটা settings toggle। AI feature-এর plan gating সময়ের সাথে পাল্টেছে, তাই এটা সেট করার সপ্তাহে আপনার plan কী কভার করে তা current Raycast manual-এ check করুন।
Raycast কি এক provider entry দিয়ে Claude, Gemini, এবং DeepSeek চালাতে পারে?
হ্যাঁ। প্রতিটা declared model-এর id একটা plain string হিসেবে base_url-এ forward হয়, তাই একটা provider entry পাশাপাশি claude-sonnet-4-6, gemini-3.5-flash, এবং deepseek-v4-flash list করতে পারে, সবই একই key দিয়ে billed এবং picker-এ switchable।