## 💰 ~1.62B টোকেন / মাস, থার্ড-পার্টি ফ্রি টিয়ার জুড়ে
> **নিজের প্রোভাইডার অ্যাকাউন্ট আনুন।** এটি আলাদাভাবে যোগ্য থার্ড-পার্টি ফ্রি টিয়ারগুলোর একটি আনুমানিক সামগ্রিক হিসাব, OmniRoute থেকে দেওয়া কোনো টোকেন অনুদান নয়। সাইন আপ করুন, যেখানে প্রয়োজন সেখানে ক্রেডেনশিয়াল নিন, এবং যে প্রোভাইডারগুলো আপনি ব্যবহার করতে পারেন সেগুলো সংযুক্ত করুন; প্রতিটি প্রোভাইডারই নিজের সীমা, প্রাপ্যতা ও শর্ত নিয়ন্ত্রণ করে।
>
> হাতে হাতে ফ্রি টিয়ার স্তূপ করা কষ্টকর — ডজনখানেক SDK, ডজনখানেক রেট লিমিট, আর আপনি আসলে কতটা পেয়েছেন তার কোনো ধারণাই নেই। OmniRoute **34টি পুনরাবৃত্ত পুল কী জুড়ে 467টি ফ্রি-টিয়ার এন্ট্রি** ক্যাটালগ করে এবং **প্রকাশিত ধনাত্মক মাসিক বাজেটসহ ১৭টি পুল এবং পাঁচটি প্রতি-মডেল Groq ক্যাপ** থেকে টোকেনের শিরোনাম হিসাব করে, শেয়ার্ড পুল অনুযায়ী ডুপ্লিকেট বাদ দিয়ে। যে কোটা কেবল আঞ্চলিক পরিচয় যাচাইয়ের পর খোলে (আজ: ModelScope) তা আলাদাভাবে দেখানো হয়, আঞ্চলিক পরিচয় যাচাইয়ের পেছনে +~6M, এবং কখনোই শিরোনামে যোগ করা হয় না। ফলাফল ড্যাশবোর্ডে দৃশ্যমান থাকে (`/dashboard/free-tiers`)।
> লাইভ `/dashboard/free-tiers` পেজের অ্যানিমেটেড সারাংশ। সম্পূর্ণ পদ্ধতি (পুল ডিডুপ, ক্রেডিট টিয়ার, প্রোভাইডার শর্ত): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**।
>
> এই পরিসংখ্যান প্রতি দুই সপ্তাহে লাইভ ক্যাটালগের বিপরীতে পুনরায় যাচাই করা হয় এবং **দুই দিকেই ওঠানামা করে** — কোনো প্রোভাইডার ফ্রি টিয়ার শেষ করলে সংখ্যা কমে; নতুন একটি যোগ হলে তা বাড়ে। আমরা ক্যাটালগ প্রকৃতপক্ষে যা হিসাব করে তাই প্রকাশ করি, কখনোই রাউন্ড-আপ করা সেরা পরিস্থিতি নয়।
⭐ OMNIROUTE আপনাকে টাকা বাঁচাতে এবং আপনার কাজ সহজ করতে সাহায্য করলে রিপোতে স্টার দিন।
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 কমিউনিটিতে যোগ দিন
**👋 মেইনটেইনারকে ফলো করুন — নতুন প্রোভাইডার, রিলিজ ও টিপস সবার আগে পান:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**প্রশ্ন, প্রোভাইডার টিপস, রোডম্যাপ ও সাপোর্ট → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 গেটওয়ে ক্রমেই বাড়ছে
## 🆓 ইনস্টল করুন, একটি প্রোভাইডার কানেক্ট করুন, তারপর একটি এন্ডপয়েন্ট দিয়ে রাউট করুন
```bash
# একটি প্রোভাইডার কানেক্ট করার পরে, Dashboard → Endpoints থেকে আপনার OmniRoute key কপি করুন:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto`-এর জন্য একটি যোগ্য রুট প্রয়োজন। একেবারে নতুন ইনস্টলেশনে কোনো যোগ্য keyless টার্গেট নাও থাকতে পারে, এবং একটি keyless প্রোভাইডার থার্ড-পার্টি ক্লায়েন্ট প্রত্যাখ্যান করতে পারে। `tos: avoid` হিসেবে চিহ্নিত প্রোভাইডারগুলো — Kiro সহ — ডিফল্টভাবে স্বয়ংক্রিয় রাউটিং থেকে বাদ থাকে; একটি অ্যাকাউন্ট কানেক্ট করলে সেই সেটিং ওভাররাইড হয় না। প্রোভাইডার বাছাই করার আগে [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md) দেখুন।📦 **Python, Node.js, PHP, এবং cURL**-এর জন্য কপি-পেস্ট কুইকস্টার্ট স্ক্রিপ্ট → [`examples/quickstart/`](examples/quickstart/)
# 💥 প্রতিশ্রুতি
# 🤔 কেন OmniRoute?
## 🤝 আমাদের ওপেন সোর্স বন্ধুদের সহায়তায়
> **ওপেন সোর্স বন্ধু হিসেবে যোগ দিতে চান?** এই প্রতিষ্ঠানগুলো ওপেন সোর্সকে সমর্থন করে এবং OmniRoute-কে এগিয়ে যেতে সহায়তা করে — আর তাদের দেওয়া প্রতিটি টোকেন কোথায় ব্যয় হয়, তা আমরা প্রকাশ্যে জানাই। যোগাযোগ করুন: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
এই প্রকল্পকে সমর্থন করার জন্য আমাদের প্রতিষ্ঠাতা ওপেন সোর্স বন্ধু Kimi (Moonshot AI)-কে ধন্যবাদ! Kimi হলো ওপেন-ওয়েট K2 ও K3 মডেল পরিবারের পেছনের AI ল্যাব — Kimi K3 ক্লোজড-মডেলের দামের একটি ক্ষুদ্র অংশে 1M-টোকেন কনটেক্সট উইন্ডো, নেটিভ ভিশন এবং অগ্রসীমার কোডিং সক্ষমতা প্রদান করে এবং Claude Code, Codex ও OmniRoute পরিবেশিত প্রতিটি কোডিং টুলের সঙ্গে সরাসরি কাজ করে।
Kimi-এর সহায়তায় যা পরিচালিত হয়: Kimi-এর API ক্রেডিট OmniRoute-এর AI-যাচাইকৃত রিলিজ পাইপলাইনকে শক্তি জোগায় — অর্থাৎ Kimi K3 দ্বারা পরিচালিত মার্জ যাচাইকরণ ধাপটি, যা প্রকাশের আগে প্রতিটি pull request পর্যালোচনা করে — পাশাপাশি দৈনন্দিন ফিচার ডেভেলপমেন্টেও সহায়তা করে। উভয় পথেই প্রথম-শ্রেণির Kimi সমর্থন রয়েছে: সরাসরি Kimi API (kimi-k3) এবং Kimi Code কোডিং প্ল্যান (OAuth ও API key)। এছাড়াও, Kimi-এর সহায়তা কর্মসূচিতে OmniRoute হলো ব্রাজিলের প্রথম ওপেন-সোর্স প্রকল্প। 15% অতিরিক্ত ক্রেডিটসহ একটি Kimi API key নিন →
Cheaper Inference cheaperinference.com
এই প্রকল্পকে সমর্থন করার জন্য OmniRoute-এর ওপেন সোর্স বন্ধু Cheaper Inference-কে ধন্যবাদ! Cheaper Inference হলো মূল্য অনুযায়ী সাজানো একটি গেটওয়ে, যা Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok ও MiniMax-সহ 42টি অগ্রসীমার মডেল একটি OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্টের মাধ্যমে পুনর্বিক্রি করে এবং প্রতিটি অনুরোধকে সবচেয়ে সাশ্রয়ী যোগ্য প্রদানকারীর কাছে পাঠায়—কখনোই মডেল নির্মাতার তালিকাভুক্ত মূল্যের বেশি চার্জ না করে।
OmniRoute-এ প্রথম-শ্রেণির সমর্থন: Chat Completions, নেটিভ /v1/responses এন্ডপয়েন্ট, ভিশন, টুল কলিং এবং 3টি ইমেজ মডেল (grok-imagine, nano-banana-pro, nano-banana-2, যেগুলো cheaperinference/<model> হিসেবে ব্যবহারযোগ্য)। একটি API key নিন →
aff=omniroute ট্যাগযুক্ত লিংকগুলো পার্টনার লিংক। আপনার কোনো অতিরিক্ত খরচ ছাড়াই এগুলো প্রকল্পে অর্থায়ন করে। 🎟️ অ্যাফিলিয়েট প্রোমো — আমরা স্পনসর করি না এমন প্রদানকারীদের বিনামূল্যের সাইনআপ কুপন (প্রসারিত করতে ক্লিক করুন)এই বিভাগটি কেবল রেফারেল/কুপন কোডের জন্য। স্পনসরকৃত অংশীদারিত্বগুলো উপরের 🤝 আমাদের ওপেন সোর্স বন্ধুদের সহায়তায় বিভাগে রয়েছে। এখানে তালিকাভুক্ত প্রদানকারীদের সঙ্গে OmniRoute-এর কোনো স্পনসরশিপ বা অংশীদারিত্ব নেই — এগুলো সর্বজনীন কুপন, যা যে কেউ ব্যবহার করতে পারেন।
AgentRouter agentrouter.org
AgentRouter — অ্যাফিলিয়েট সাইনআপ · সাইনআপ করলেই $100 বিনামূল্যের ক্রেডিট (বিনামূল্যের সার্ভার, তাই বেশি ল্যাটেন্সি প্রত্যাশিত — প্রোডাকশনের পরিবর্তে পরীক্ষার জন্য সর্বোত্তম)। v3.8.50 থেকে OmniRoute-এ প্রথম-শ্রেণির সমর্থন রয়েছে: Chat Completions, Anthropic-সামঞ্জস্যপূর্ণ ওয়্যার ফরম্যাট এবং OpenAI-সামঞ্জস্যপূর্ণ পাথ। উপলভ্য মডেলগুলোর মধ্যে রয়েছে claude-opus-4-8, claude-opus-5, gpt-5.6-sol এবং আরও অনেক। আপনার $100 সংগ্রহ করুন →
⚠️ অ্যাফিলিয়েট লিংক — এই প্রদানকারীর সঙ্গে OmniRoute-এর কোনো স্পনসরশিপ বা অংশীদারিত্ব নেই।
OmniRoute ব্যবহারকারীদের উপকারে আসে এমন উদার বিনামূল্যের সাইনআপ কুপনসহ অন্য কোনো প্রদানকারীর কথা জানেন? একটি issue খুলুন, আমরা সেটি এখানে যোগ করব।
## 🎯 কম্বো — প্রধান আকর্ষণ
> একটি **কম্বো** হলো মডেলের এমন একটি শৃঙ্খল, যার মধ্যে OmniRoute **স্বয়ংক্রিয়ভাবে** রাউট করে। কোটা ফুরিয়ে গেলে, কোনো প্রদানকারী ব্যর্থ হলে বা খরচ বেড়ে গেলে, কম্বোটি পরবর্তী উপযুক্ত ও সচল মডেলে যেতে পারে। 🛡️
### ⚡ শূন্য-কনফিগারেশন — শুধু `auto` ব্যবহার করুন
কোনো কম্বো তৈরি করতে হবে না। আপনার মডেল `auto` (অথবা এর কোনো ভ্যারিয়েন্ট) হিসেবে সেট করুন, আর OmniRoute আপনার সংযুক্ত প্রদানকারীদের থেকে একটি ভার্চুয়াল কম্বো তৈরি করবে এবং তাৎক্ষণিকভাবে স্কোর করবে:
🎟️ শুধু সেই সাবস্ক্রিপশন কোটা, যার জন্য আপনি ইতিমধ্যেই অর্থ দেন — বন্ধ অবস্থায় ব্যর্থ হয়, কখনোই বিলযোগ্য ফলব্যাক ব্যবহার করে না (নির্দেশিকা)
auto/thrifty
🪜 প্রথমে প্ল্যানের কোটা, তারপর এক ধাপ করে সবচেয়ে সস্তা পেইড বিকল্পগুলোতে — প্ল্যান রিসেট হলে আবার তাতে ফিরে যায় (নির্দেশিকা)
auto/offline
🔋 সর্বাধিক কোটা / রেট-লিমিট অবকাশ আগে
auto/smart
🔭 গুণমান আগে + আরও ভালো মডেল খুঁজে পেতে ১০% অনুসন্ধান
auto/lkgp
📌 সর্বশেষ-পরিচিত-ভালো-প্রদানকারীর সঙ্গে সুস্পষ্টভাবে আটকে থাকা
auto/chaos
🧪 মডেলের একটি প্যানেলে সমান্তরাল ফ্যান-আউট (প্রতি প্রদানকারী থেকে একটি, ডিফল্টভাবে ৫টি), একটি উত্তর ফেরত দেয়; প্রতি প্যানেল মডেলের জন্য একটি আপস্ট্রিম কল, এটি ফল্ট ইনজেকশন নয়
##
### 🔀 অথবা নিজেরটি তৈরি করুন — ২০টি রাউটিং কৌশল
সব **২০টি** কৌশল — প্রতিটি কম্বো ধাপে ইচ্ছেমতো মিশিয়ে ব্যবহার করুন:
#
কৌশল
এটি যা করে
১
priority
প্রথম-টার্গেটভিত্তিক ক্রমানুসারী তালিকা — পরেরটিতে যাওয়ার আগে প্রতিটিকে নিঃশেষ করে 🥇
২
fill-first
পরেরটিতে যাওয়ার আগে প্রতিটি টার্গেটের কোটা সম্পূর্ণভাবে পূরণ করে
৩
weighted
প্রতি-টার্গেট ওজন অনুযায়ী ভারযুক্ত দৈব নির্বাচন
৪
round-robin
টার্গেটগুলোর মধ্য দিয়ে ক্রমানুসারে চক্রাকারে যায়
৫
p2c
দুটি-বিকল্পের-ক্ষমতাভিত্তিক দৈব লোড ব্যালান্সিং
৬
least-used
বর্তমানে সবচেয়ে কম লোড থাকা টার্গেটটি বেছে নেয়
৭
random
সমবণ্টিত দৈব নির্বাচন (ডুপ্লিকেট বাদ দিয়ে)
৮
strict-random
পুনরাবৃত্তি ডিডুপ্লিকেট না করে দৈব নির্বাচন 🎲
৯
cost-optimized
সরাসরি ক্যাটালগের মূল্য অনুযায়ী প্রতি অনুরোধের $ খরচ সর্বনিম্ন করে 💸
১০
headroom
সবচেয়ে বেশি অবশিষ্ট কোটা থাকা টার্গেটটি বেছে নেয়
১১
quota-weighted
নিঃশেষিত অ্যাকাউন্ট এড়িয়ে যায়, তারপর অবশিষ্ট কোটা ÷ চলমান লোডের অনুপাতে নির্বাচন করে — বিদ্যমান কথোপকথনগুলো নির্দিষ্ট অবস্থানেই থাকে ⚖️
১২
reset-window
যে টার্গেটের কোটা উইন্ডো সবচেয়ে শিগগির রিসেট হবে, সেটিকে অগ্রাধিকার দেয়
১৩
reset-aware
কোটা রিসেটের সময় অনুযায়ী র্যাঙ্ক করে — ছোট উইন্ডোগুলো আগে 📊
১৪
context-relay
দীর্ঘ কথোপকথনের জন্য টার্গেটগুলোর মধ্যে কনটেক্সট হস্তান্তর করে 🧠
১৫
context-optimized
বর্তমান কনটেক্সটের আকারের জন্য সবচেয়ে উপযুক্তটি বেছে নেয়
১৬
cache-optimized
প্রতিটি পুনর্ব্যবহারযোগ্য প্রম্পট প্রিফিক্সকে একই অ্যাকাউন্টে স্থির রাখে — প্রম্পট-ক্যাশ হিট সর্বাধিক করে 🎯
১৭
lkgp
সর্বশেষ-পরিচিত-ভালো পাথ — সর্বশেষ সফল প্রদানকারীর সঙ্গে আটকে থাকে, তারপর নিয়ম অনুযায়ী ফলব্যাক করে
১৮
auto
প্রতিটি সংযোগজুড়ে ১৬টি ফ্যাক্টরের তাৎক্ষণিক স্কোরিং 🤖
১৯
fusion
মডেলের একটি প্যানেলে ফ্যান-আউট করে + একজন বিচারক একটি উত্তর সংশ্লেষ করে 🧬
২০
pipeline
ধাপগুলোকে শৃঙ্খলিত করে — প্রতিটি টার্গেটের আউটপুট পরেরটিতে ইনপুট হিসেবে যায় 🔗
Auto-Combo ইঞ্জিন প্রতিটি প্রার্থীকে **১৬টি বিষয়ের** (স্বাস্থ্য, কোটা, খরচ, ল্যাটেন্সি, কাজের উপযোগিতা, গুণমান, সেশন উপলভ্যতা…) ভিত্তিতে স্কোর করে — দেখুন [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)।
##
### 🧱 স্থিতিস্থাপকতা অন্তর্নির্মিত (৩টি স্বাধীন স্তর)
📖 [Auto-Combo ইঞ্জিন](docs/routing/AUTO-COMBO.md) · [স্থিতিস্থাপকতা নির্দেশিকা](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 যেসব বৈশিষ্ট্য OmniRoute-কে স্বতন্ত্র করে
📊 9router, OpenRouter, CLIProxyAPI ও LiteLLM-এর সঙ্গে তুলনার পূর্ণাঙ্গ পদ্ধতি ও প্রতিটি ফিচারের বিস্তারিত → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 OmniRoute-কে সহায়তা করুন
OmniRoute MIT লাইসেন্সপ্রাপ্ত এবং উন্মুক্তভাবে রক্ষণাবেক্ষণ করা হয়। এটি যদি আপনার সময় বা অর্থ সাশ্রয় করে, তবে একে স্বাধীন রাখতে যেটি আপনার জন্য উপযুক্ত সেটি বেছে নিন। স্পনসরশিপ কখনোই রাউটিং অগ্রাধিকারকে প্রভাবিত করে না; এটি দৃশ্যমানতা দেয়, র্যাঙ্কিং নয়।
⭐ রেপোতে স্টার দিন
বিনামূল্যে — দৃশ্যমানতা বাড়াতে সত্যিই সাহায্য করে
⚠️ প্রতিটি কয়েন শুধু দেখানো নেটওয়ার্কেই পাঠান — ভুল নেটওয়ার্কে পাঠালে অর্থ হারিয়ে যেতে পারে।
🐛 কোনো বাগ পেয়েছেন বা মতামত আছে? একটি [আলোচনা](https://github.com/diegosouzapw/OmniRoute/discussions) শুরু করুন।
ডেভেলপার নোট: ডেভেলপারদের সুবিধার জন্য প্রকল্পটি npm install/postinstall-এর সময় একটি স্থানীয় .env ফাইল তৈরি করতে পারে। ফাইলটি ইচ্ছাকৃতভাবে .gitignore-এর মাধ্যমে উপেক্ষা করা হয় (.gitignore দেখুন) এবং এটি কখনোই কমিট করা যাবে না — ভুলবশত কমিট হয়ে গেলে উন্মুক্ত হয়ে পড়া যেকোনো সিক্রেট পরিবর্তন করুন এবং ইতিহাস থেকে ফাইলটি সরিয়ে ফেলুন। স্থানীয় এনভায়রনমেন্ট ফাইল ও সিক্রেট ব্যবস্থাপনার নির্দেশনার জন্য docs/DEVELOPER-ENVIRONMENT.md দেখুন।
## 📡 OmniRoute Radar
উপরের নথিভুক্ত, পুল-ডিডুপ্লিকেটেড ক্যাটালগ থেকে প্রধান ফ্রি-টিয়ার সীমা এখনও **~1.62B টোকেন/মাস**। সাময়িক প্রদানকারী সাইনআপ ক্রেডিট আলাদাভাবে প্রথম মাসের সীমা বাড়িয়ে **~2.22B** করতে পারে। যারা OmniRoute-এর রিলিজগুলোর মধ্যবর্তী সময়ে ফ্রি মডেলের আরও হালনাগাদপ্রাপ্ততা চান, তাদের জন্য Radar হলো একটি ঐচ্ছিক, স্বাক্ষরিত ক্যাটালগ ওভারলে; কমিউনিটি ক্যাটালগ এবং বিদ্যমান প্রতিটি ফ্রি ফিচার বিনামূল্যেই থাকবে।
সমর্থকেরা লাইভ ক্যাটালগ এবং অতিরিক্ত প্রদানকারী-সংক্রান্ত সুযোগ পেতে পারেন। প্রদানকারীর প্রাপ্যতার ওপর নির্ভর করে এর পৃথক, পরিবর্তনযোগ্য সর্বোচ্চ সীমা **সর্বাধিক আনুমানিক 3B টোকেন/মাস**। এই সর্বোচ্চ সীমাটি কোনো নিশ্চয়তা নয়: প্রদানকারীরা যেকোনো সময় কোটা, যোগ্যতা, মডেল বা অঞ্চল পরিবর্তন করতে পারে।
Radar ব্যবহার ঐচ্ছিক এবং এটি কেবল GET অনুরোধ ব্যবহার করে। OmniRoute ক্লায়েন্ট প্রম্পট, ট্র্যাফিক, প্রদানকারী কনফিগারেশন, ব্যবহারের টেলিমেট্রি বা স্থানীয় ঘোষণা-খারিজের অবস্থা আপলোড করে না। যোগ্যতা ও বর্তমান ক্যাটালগ সম্পর্কে জানুন **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**-এ।
## ✨ নতুন কী আছে
> **v3.8.20 → v3.8.53**-এর সাম্প্রতিক উল্লেখযোগ্য পরিবর্তনসমূহ। সম্পূর্ণ ইতিহাস [`CHANGELOG.md`](CHANGELOG.md)-এ রয়েছে।
- **⚖️ `quota-weighted` রাউটিং** — ২০তম কম্বো কৌশলটি কোটা শেষ হয়ে যাওয়া অ্যাকাউন্টগুলো এড়িয়ে যায়, তারপর অবশিষ্ট কোটা ÷ চলমান লোডের অনুপাতে বাকি অ্যাকাউন্টগুলোর মধ্য থেকে বেছে নেয় এবং বিদ্যমান কথোপকথনগুলোকে একই জায়গায় পিন করে রাখে। → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 হেডলেস মোড** — `omniroute serve --headless` (অথবা `OMNIROUTE_HEADLESS=1`) শুধু `/v1/*` প্রক্সি ইঞ্জিন চালায়; ড্যাশবোর্ড ও কেবল ড্যাশবোর্ড-নির্ভর সাবসিস্টেমগুলো বন্ধ থাকে। → [হেডলেস মোড](docs/guides/HEADLESS.md)
- **🔎 মডেল অনুসন্ধান** — `/v1/models` সক্ষমতা, কনটেক্সট, ধরন ও টেক্সট অনুযায়ী ফিল্টার করে এবং `POST /v1/models/query` প্রতিটি কী-এর জন্য একই দৃশ্যমানতা বজায় রেখে একটি সংক্ষিপ্ত, নির্ধারিত শর্টলিস্ট ফেরত দেয়। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **🔑 প্রতি-কী রাউটিং নিয়ন্ত্রণ** — `forcedModel` দিয়ে একটি API কী-কে একটি মডেল বা কম্বোতে পিন করুন এবং কোনো কী-এর মডেল ও কম্বো পারমাণবিকভাবে যোগ বা অপসারণ করুন (`/api/keys/{id}/access`)। → [API রেফারেন্স](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ আরও সূক্ষ্ম PII নিয়ন্ত্রণ** — প্রতি-ধরন নির্বাচন, সর্বোচ্চ ২০টি যাচাইকৃত কাস্টম মাস্কিং প্যাটার্ন এবং প্রতি-ধরন শনাক্তকরণ কাউন্টার; মাস্কিং নিজে অপ্ট-ইন হিসেবেই থাকে। → [গার্ডরেল](docs/security/GUARDRAILS.md)
- **🌍 ৬৭টি ভাষা** — ড্যাশবোর্ড, ডকুমেন্টেশনের মিরর ও CLI-তে সমর্থন; `npm run i18n:add-locale` একটি কমান্ডেই সর্বত্র একটি ভাষা যোগ করে। → [i18n নির্দেশিকা](docs/guides/I18N.md)
- **🎛️ OmniConductor** — আপনার এজেন্ট বহরের কাছে ইনবাউন্ড A2A ডেলিগেশন, Agent Card-এ Conductor দক্ষতা এবং Faro পুশ-টু-টক ভয়েস চ্যাটসহ একটি ড্যাশবোর্ড প্যানেল। → [A2A সার্ভার](docs/frameworks/A2A-SERVER.md)
- **🛂 অভিযোজিত অ্যাডমিশন ও ওভারলোড সুরক্ষা** — ভারী চ্যাট অনুরোধগুলো 503 ফেরত দেওয়ার বদলে সারিতে অপেক্ষা করে, যেখানে প্রতিটি সংযোগের জন্য পারমাণবিক RPM রোলিং লিজ ব্যবহৃত হয়। → [স্থিতিস্থাপকতা নির্দেশিকা](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ প্রামাণ্য `/v1/models` ক্রমবিন্যাস** — প্রতিটি প্রোভাইডারের জন্য একটি করে সংলগ্ন, প্রোভাইডারভিত্তিক ব্লক (কম্বোগুলো প্রথমে পিন করা), যা প্রতিটি ক্যাটালগ উৎসে স্থিতিশীল থাকে। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **🗜️ কম্প্রেশন আরও সুরক্ষিত** — ডিফল্টভাবে সক্রিয় ইনফ্লেশন গার্ড, DE / FR / JA + Chinese (wényán)-এর জন্য Caveman প্যাক এবং Gradle ও .NET-এর জন্য RTK ফিল্টার। → [কম্প্রেশন](docs/compression/COMPRESSION_ENGINES.md)
- **💸 সঠিক ফ্ল্যাট-রেট খরচ** — সাবস্ক্রিপশন / কোডিং-প্ল্যান প্রোভাইডারগুলোর খরচ বিশ্লেষণে **$0** দেখানো হয়; বাজেট, কোটা ও রাউটিংয়ের অনুমান চলতে থাকে। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share রাউটিং** — পুল করা কীগুলোর মধ্যে একটি শেয়ার্ড অ্যাকাউন্টের কোটা ন্যায্যভাবে ভাগ করে; এটি কাজ-সংরক্ষণকারী, তাই নিষ্ক্রিয় অংশ অন্যদের ধার দেওয়া হয়। → [স্থিতিস্থাপকতা নির্দেশিকা](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 এক-কমান্ডে CLI/এজেন্ট সেটআপ** — নিবন্ধিত ১৫টি `setup-*` কমান্ড; `omniroute run` ৭টি CLI চালু করে (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` ইন্টার্যাক্টিভ প্রোভাইডার+মডেল পিকার এবং প্রতি-কনটেক্সট পছন্দসহ ১১টি লক্ষ্য সমর্থন করে। → [CLI ইন্টিগ্রেশন](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ রিমোট মোড** — স্কোপযুক্ত টোকেন (`connect` / `contexts` / `tokens`) দিয়ে দূরবর্তী OmniRoute পরিচালনা করুন, সঙ্গে VPS ইনস্টলের জন্য একটি `antigravity` OAuth সহায়ক। → [রিমোট মোড](docs/guides/REMOTE-MODE.md)
- **🧭 আরও বুদ্ধিমান অটো-রাউটিং** — `auto/:` কম্বো, **Fusion** (মডেল প্যানেল + বিচারক), টাস্ক-সচেতন রাউটিং এবং প্রতি-অনুরোধ মডেল / মোড / USD-বাজেট ওভাররাইড। → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ প্লাগযোগ্য কম্প্রেশন** — ১২টি সমন্বয়যোগ্য ইঞ্জিন + Compression Studios: LLMLingua-2, দ্বি-স্তরীয় Ultra, omniglyph, প্রতি-ধাপ ফিডেলিটি গেট, GCF v3.2 এবং ড্র্যাগ-করে-পুনর্বিন্যাসযোগ্য এডিটর। → [কম্প্রেশন](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ স্বচ্ছ MITM ডিক্রিপ্ট (TPROXY)** — প্রতি-SNI CA ও ট্রাস্ট-স্টোর ইনস্টলারের মাধ্যমে প্রক্সি এনভায়রনমেন্ট ভ্যারিয়েবল উপেক্ষা করা CLI-গুলো ক্যাপচার করুন। → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 সর্বত্র খরচের টেলিমেট্রি** — প্রতিটি এন্ডপয়েন্টে `X-OmniRoute-*` খরচ/ব্যবহার হেডার, ক্যাশ-HIT সাশ্রয় হেডার এবং প্রতি-কী USD ব্যয় কোটা। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **🧠 আপনার নিয়ন্ত্রণাধীন মেমরি** — ডিফল্টভাবে বন্ধ, অপ্ট-ইন int8 ভেক্টর কোয়ান্টাইজেশন + টাইপযুক্ত ডিকে এবং প্রতি-অনুরোধ `x-omniroute-no-memory`। → [মেমরি](docs/frameworks/MEMORY.md)
- **🛡️ নিরাপত্তা** — প্রতিটি LLM রুটে প্রম্পট-ইনজেকশন গার্ড (রেড-টিম স্যুট), অপ্ট-ইন ক্রেডেনশিয়াল-মাস্কিং গার্ডরেল (উভয় দিকেই ফাঁস হওয়া API কী/সিক্রেট গোপন করে), বিনামূল্যের সর্বশেষ বিকল্প DuckDuckGo ওয়েব সার্চ এবং ড্যাশবোর্ডের জন্য একটি ঐচ্ছিক OIDC লগইন গেট (পাসওয়ার্ড লগইন সবসময়ই উপলভ্য থাকে)। → [গার্ডরেল](docs/security/GUARDRAILS.md)
- **🖼️ নতুন এন্ডপয়েন্ট** — `/v1/ocr` (Mistral OCR) এবং `/v1/audio/translations` (Whisper-ধাঁচের) মিডিয়া সুবিধাগুলোকে পূর্ণতা দেয়। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **🎨 ছবি / ভিডিও / অডিও তৈরি** — মিডিয়ার জন্য একটি API: xAI Grok Imagine ও Novita AI ভিডিও, ComfyUI, Magnific, Adobe Firefly, Segmind এবং ElevenLabs-এর মতো স্পিচ প্রোভাইডার। → [API রেফারেন্স](docs/reference/API_REFERENCE.md)
- **🌍 ডিপ্লয়মেন্ট ও অপারেশন** — রিভার্স-প্রক্সি `basePath`, ব্রাউজারের ভাষা স্বয়ংক্রিয় শনাক্তকরণ, প্রতি-কী ডিভাইস ট্র্যাকিং, রুটবিহীন MITM ট্রাস্ট এবং zh-TW স্থানীয়করণ। → [এনভায়রনমেন্ট](docs/reference/ENVIRONMENT.md)
- **🤝 আরও প্রোভাইডার ও এজেন্ট** — ক্লাউড এজেন্ট (Codex Cloud, Cursor, Devin, Jules), ব্রাউজার + OAuth লগইনসহ Grok Build (xAI), প্রথম-শ্রেণির Ollama কার্ড, Claude Opus 5 ও Sonnet 5, Kimi-এর আনুষ্ঠানিক অংশীদারত্ব (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… এবং হালনাগাদ **৩৭৫-প্রোভাইডারের ক্যাটালগ**। → [প্রোভাইডার](docs/reference/PROVIDER_REFERENCE.md)
- **📡 রাউটিংয়ের স্বচ্ছতা** — প্রতিটি রেসপন্সে একটি `X-OmniRoute-Decision` হেডার থাকে, যা ব্যবহৃত কৌশল/প্রোভাইডার/লেটেন্সির নাম জানায়; নতুন `cache-optimized` কম্বো কৌশল + Auto-Combo `cacheAffinity` ফ্যাক্টর পুনরাবৃত্ত অনুরোধগুলোকে ক্যাশ করা প্রিফিক্সধারী সংযোগে ফেরত পাঠায়; এবং একটি রিড-অনলি `/v1/auto-combo/{channel}/candidates` এন্ডপয়েন্ট কোনো `auto/*` চ্যানেলের লাইভ প্রার্থী পুল প্রকাশ করে। → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ লোকাল পারফরম্যান্স ও ইনফ্রা** — ওয়ান-ক্লিক লোকাল Redis, Cloudflare Workers / Deno Deploy রিলে ডিপ্লয়ার, Bifrost ও Mux সুপারভাইজড এমবেডেড সার্ভিস হিসেবে। → [Embedded Services](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 বক্সের ভেতরেও আরও আছে** — প্লাগইন ফ্রেমওয়ার্ক + মার্কেটপ্লেস, Omni/Agent/GitHub স্কিল ফ্রেমওয়ার্ক, Obsidian ভল্ট ইন্টিগ্রেশন (২২টি MCP টুল), OpenAI-সামঞ্জস্যপূর্ণ Batch ও Files API, সেম্যান্টিক রেসপন্স ক্যাশ, লিডারবোর্ডসহ গেমিফিকেশন, ACP এজেন্ট ডিসকভারি (১৫টি বিল্ট-ইন এজেন্ট), BigQuery-তে নির্ধারিত লগ এক্সপোর্ট, `auto/chaos` প্যারালাল মাল্টি-মডেল ফ্যান-আউট, একটি টেলিগ্রাম বট ব্রিজ, ইন-অ্যাপ ভার্সন ম্যানেজার এবং LMArena-ELO ফ্রি-প্রোভাইডার র্যাঙ্কিং। → [Docs](docs/README.md)
## 🤖 সামঞ্জস্যপূর্ণ CLI ও কোডিং এজেন্ট
> একটি কনফিগ — `http://localhost:20128/v1` — এবং **প্রতিটি** AI IDE বা CLI বিনামূল্যের ও স্বল্পমূল্যের মডেলে চলে।
📖 সব 37টি টুলের জন্য পৃথক সেটআপ (27টি CLI Code + 10টি CLI Agent) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode প্লাগইন → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**একটি কমান্ডেই OmniRoute-এর মাধ্যমে সমর্থিত যেকোনো CLI চালু করুন** — কোনো কনফিগ ফাইল লেখা হয় না,
প্রতিটি প্রসেসে আলাদাভাবে ক্রেডেনশিয়াল প্রবেশ করানো হয়, আর Qwen/Gemini একটি অস্থায়ী বিচ্ছিন্ন হোম পায়:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# অথবা ইন্টার্যাক্টিভভাবে provider+model বেছে নিয়ে টুলটির নিজস্ব কনফিগ লিখুন:
omniroute configure codex # আরও আছে: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
প্রতিটি কমান্ড সক্রিয় রিমোট কনটেক্সট (`omniroute connect `) অনুসরণ করে, `--dry-run`
কার্যকর না করেই সঠিক env/args-এর প্রিভিউ দেখায়, এবং `--api-key-env NAME` আপনার শেল ইতিহাস থেকে গোপন তথ্য
দূরে রাখে। → [CLI ইন্টিগ্রেশন](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 AI প্রোভাইডার — 153টি ক্যাটালগ-চিহ্নিত ফ্রি
> **375টি নিবন্ধিত প্রোভাইডার** ক্যানোনিকাল চ্যাট, মিডিয়া, সার্চ, লোকাল, ক্লাউড-এজেন্ট এবং সিস্টেম সংগ্রহ জুড়ে, যার মধ্যে **153টিতে `hasFree: true` ডিসকভারি মেটাডেটা রয়েছে**। চ্যাট মডেল রেজিস্ট্রি **239টি প্রোভাইডার / 3,059টি স্বতন্ত্র প্রোভাইডার-মডেল জোড়া / 1,475টি কাঁচা মডেল আইডি** কভার করে; আলাদা ফ্রি-বাজেট ক্যাটালগে রয়েছে **467টি প্রতি-মডেল সারি**, **34টি পুনরাবৃত্ত পুল** এবং **51টি পুনরাবৃত্ত/কীহীন চিরকাল-ফ্রি প্রোভাইডার**। এগুলো ইচ্ছাকৃতভাবেই ভিন্ন হর; সংজ্ঞা এবং পুল-ডিডুপড গণনা [প্রোভাইডার রেফারেন্স](docs/reference/PROVIDER_REFERENCE.md) এবং [ফ্রি টিয়ার](docs/reference/FREE_TIERS.md)-এ আছে।
### 🏢 প্রতিটি প্রধান ল্যাব — একটিমাত্র এন্ডপয়েন্টের মাধ্যমে
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…এবং আরও 350+ — প্রতিটি আইকন ড্যাশবোর্ডের প্রোভাইডার ক্যাটালগ থেকে লাইভভাবে রিজলভ হয়। 📖 [প্রোভাইডার রেফারেন্স](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 চিরকাল ফ্রি — $0, কোনো কার্ড লাগে না
OpenCode Zen DeepSeek V4, Nemotron 3 টোকেনের কোনো সীমা নেই
Kilo Code অটো-রাউটার, Tencent Hy3 চিরকাল ফ্রি
Requesty GPT-OSS 120B, Nemotron চিরকাল ফ্রি
SiliconFlow DeepSeek V3.2 / R1 ফ্রি টিয়ার
Z.AI GLM GLM-4.7 / 4.5-Flash চিরকাল ফ্রি
Baidu ERNIE ERNIE 4.0 চিরকাল ফ্রি
Qoder AI Qwen3-Max, Kimi-K2 আনলিমিটেড ফ্রি
Pollinations GPT, Llama, Claude কী প্রয়োজন নেই
Cloudflare AI ৫০+ মডেল ১০ হাজার নিউরন/দিন
NVIDIA NIM GLM, MiniMax ~৪০ RPM ফ্রি
Cerebras GLM 4.7, GPT-OSS একবার $5 ক্রেডিট; কার্ড প্রয়োজন
OpenRouter :free মডেল +$10 → বেশি RPM
📖 সম্পূর্ণ মেশিন-পাঠযোগ্য ক্যাটালগ → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ OmniRoute কোথায় চলে — যেকোনো জায়গায়
> একই অ্যাপ, আপনার মেশিন, আপনার নিয়ম। গ্লোবাল npm ইনস্টল থেকে শুরু করে Termux-এর মাধ্যমে **আপনার ফোনেও**।
প্ল্যাটফর্ম
ইনস্টল
বিশেষত্ব
📦 npm (গ্লোবাল)
npm install -g omniroute
একটি কমান্ড, যেকোনো OS
🐳 Docker
docker run … diegosouzapw/omniroute
মাল্টি-আর্ক AMD64 + ARM64
🖥️ ডেস্কটপ (Electron)
npm run electron:build
নেটিভ উইন্ডো + সিস্টেম ট্রে — Windows / macOS / Linux
🎩 মেনু-বার (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
সার্ভার তত্ত্বাবধান ও স্বয়ংক্রিয়ভাবে আপডেট করে — macOS
💪 ARM
নেটিভ arm64
Raspberry Pi, ARM সার্ভার, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
আপনার ফোনে চলে, ২৪/৭, root ছাড়াই
📲 PWA
"হোম স্ক্রিনে যোগ করুন"
ফুলস্ক্রিন, অফলাইন, ব্রাউজার থেকে ইনস্টলযোগ্য
🧩 OpenCode প্লাগইন
@omniroute/opencode-provider
নেটিভ OpenCode ইন্টিগ্রেশন
🤖 VS Code Copilot Chat
OmniCopilot এক্সটেনশন ইনস্টল করুন
নেটিভ Copilot Chat পিকারে OmniRoute-এর প্রতিটি মডেল — stable ও Insiders
### 🧩 নতুন: VS Code-এর নেটিভ Copilot Chat-এর ভেতরে OmniRoute
> নতুন কোনো সাইডবার নয়, নতুন কোনো চ্যাট UI নয় — OmniRoute পরিবেশিত প্রতিটি মডেল সরাসরি আপনার
> **ইতিমধ্যেই ব্যবহার করা Copilot Chat মডেল পিকারে** দেখা যায়। VS Code 1.122 থেকে প্রোভাইডার মডেলগুলো
> GitHub সাইন-ইন বা Copilot সাবস্ক্রিপশন ছাড়াই কাজ করে — এজেন্ট মোড, টুল কলিং ও ভিশনসহ,
> বিনামূল্যে।
**[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** এক্সটেনশন ইনস্টল করুন, এটিকে
আপনার OmniRoute সার্ভারের দিকে নির্দেশ করুন (ডিফল্ট `localhost:20128`), তারপর Copilot Chat → মডেল পিকার
→ **মডেল পরিচালনা করুন…** → **OmniRoute** খুলুন।
> `omniroute serve` সবসময় চালু থাকলেই সবচেয়ে ভালো কাজ করে। **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> এটিকে macOS-এর জন্য একবার সেট করে নিশ্চিন্তে থাকার মতো একটি মেনু-বার অ্যাপে পরিণত করে: এটি সার্ভার চালু করে, রিবুটের
> পরও সচল রাখে, সেখানেই আপডেট করে এবং এক ক্লিকেই আপনার লাইভ টোকেন বাজেট দেখায় — **কোনো
> টার্মিনাল উইন্ডো খোলা রাখতে হয় না, `npm install -g omniroute`-এর দেখাশোনাও করতে হয় না।**
[Tauri v2](https://v2.tauri.app/) দিয়ে তৈরি (এতই ছোট Rust কোর যে রাউন্ডিংয়ের ভুলের সমান), এটি
নিজস্ব স্বাক্ষরিত Node 24 রানটাইমসহ আসে এবং অ্যাপের মালিকানাধীন OmniRoute ইনস্টলেশন পরিচালনা করে, ফলে এটি কখনোই আপনার
গ্লোবাল `node`/`bun`-এর সঙ্গে সংঘাতে যায় না। এটি **আপনার বিদ্যমান `~/.omniroute/` কনফিগ ও ডেটাবেস শেয়ার করে** — অর্থাৎ এটি
আপনার ইতিমধ্যেই চালানো একই OmniRoute, শুধু মাথায় একটি টুপি পরা। 🎩
এটি কী করে
কীভাবে
🟢 সার্ভার তত্ত্বাবধান করে
omniroute serve চালু করে এবং নকল ইনস্ট্যান্স তৈরির বদলে ইতিমধ্যেই চলমান ইনস্ট্যান্স গ্রহণ করে
📊 এক নজরে লাইভ ব্যবহার
প্রোভাইডার কোটা বার, রিসেট কাউন্টডাউনসহ Claude সেশন/সাপ্তাহিক সীমা, ৩০ দিনের খরচের বিস্তারিত
লগইনের সময় ঐচ্ছিকভাবে চালু; শুধু ট্রে, কোনো dock আইকন নেই
🩺 ডক্টর ও লগ
এক ক্লিকে ডায়াগনস্টিক ও সার্ভার লগে প্রবেশাধিকার
```sh
brew install --cask zoispag/tap/omniroute-tray
```
ডাউনলোড করতে চান? সর্বশেষ .dmg সংগ্রহ করুন
রিলিজ থেকে। সোর্স, ইস্যু এবং বিল্ড
ডকুমেন্টেশন রয়েছে zoispag/omniroute-tray-এ।
💛 @zoispag-এর একটি কমিউনিটি প্রকল্প — এটি OmniRoute-এর আনুষ্ঠানিক রিলিজ নয়।
> সার্ভারের পাশাপাশি, OmniRoute হলো **80টিরও বেশি কমান্ড**-সহ একটি **পূর্ণাঙ্গ কমান্ড-লাইন ককপিট** এবং উন্মুক্ত এজেন্ট প্রোটোকলসমৃদ্ধ—যাতে কোনো AI এজেন্ট এটিকে **নিজে থেকেই** পরিচালনা করতে পারে।
### ⌨️ একটি প্রকৃত CLI (শুধু `start` নয়)
```bash
omniroute # গেটওয়ে + ড্যাশবোর্ড পরিবেশন করুন (পোর্ট 20128)
omniroute chat # ইন্টার্যাক্টিভ TUI চ্যাট ক্লায়েন্ট (স্ল্যাশ: /model /combo /skill /memory)
omniroute setup # নির্দেশিত প্রথমবারের সেটআপ উইজার্ড
omniroute doctor # প্রোভাইডার, পোর্ট ও নেটিভ ডিপেন্ডেন্সি নির্ণয় করুন
```
### 🛰️ রিমোট মোড — CLI এখানে চালান, OmniRoute চালান VPS-এ
OmniRoute কি কোনো সার্ভারে চলছে? **একই CLI** দিয়ে আপনার ল্যাপটপ থেকেই এটি পরিচালনা করুন। স্কোপযুক্ত অ্যাক্সেস টোকেন দিয়ে
একবার লগইন করুন; এরপর প্রতিটি কমান্ড রিমোটকে লক্ষ্য করে চলবে।
```bash
omniroute connect 192.168.0.15 # পাসওয়ার্ড → স্কোপযুক্ত টোকেন, কনটেক্সট হিসেবে সংরক্ষিত
omniroute models # ← রিমোট সার্ভারের বিপরীতে চলে
omniroute configure codex # ← একটি রিমোট মডেল বেছে নিয়ে স্থানীয় Codex প্রোফাইল লেখে
omniroute tokens create --name ci --scope read # অন্যান্য মেশিনের জন্য আরও সীমিত টোকেন তৈরি করুন
omniroute contexts use default # ← স্থানীয় সার্ভারে ফিরে যান
```
টোকেনগুলোর স্কোপ হলো `read` / `write` / `admin`; প্রসেস চালু করে এমন রুটগুলো কেবল লুপব্যাকেই সীমাবদ্ধ থাকে।
📖 [রিমোট মোড](docs/guides/REMOTE-MODE.md)
### 🤝 একটি এজেন্ট সংযুক্ত করুন—এবং সেটি নিজেই OmniRoute নিয়ন্ত্রণ করবে
**MCP**, **A2A**, একটি **REST API**, **webhooks** বা একটি **রিমোট CLI**-এর মাধ্যমে OmniRoute উন্মুক্ত করুন—যেকোনো সক্ষম এজেন্ট (অথবা আপনার নিজস্ব কোড) পুরো গেটওয়ের নিয়ন্ত্রণ পাবে: রাউটিং, প্রোভাইডার, কম্বো, ক্যাশ, কম্প্রেশন, মেমরি—সবকিছু স্বয়ংক্রিয়ভাবে। নিচের HTTP এন্ডপয়েন্টগুলো `http://localhost:20128`-এর অধীনে পরিবেশিত হয়।
ইন্টারফেস
এন্ডপয়েন্ট / কমান্ড
যে কাজে ব্যবহার করবেন
🧰 MCP (stdio)
omniroute --mcp
Claude Desktop, Cursor অথবা যেকোনো MCP ক্লায়েন্টের সঙ্গে সংযুক্ত করুন
### 📖 এটি কীভাবে কাজ করে — পাইপলাইন, আর্কিটেকচার ও সাশ্রয়ের হিসাব
ডিফল্ট স্ট্যাকড কম্বো চালায় `RTK → Caveman`। যখন উভয়ই একই tool/context পেলোডে কাজ করে, তখন সাশ্রয় যৌগিকভাবে বাড়ে:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
কোড ব্লক, URL, JSON এবং স্ট্রাকচার্ড ডেটা preservation engine দ্বারা **সর্বদা সুরক্ষিত** থাকে।
> **যখন অল্প টোকেনেই কাজ হয়ে যায়, তখন অনেক টোকেন কেন ব্যবহার করবেন?** প্রতিটি রিকোয়েস্ট OmniRoute-এর কম্প্রেশন পাইপলাইনের মধ্য দিয়ে **স্বচ্ছভাবে** যায় — ক্লায়েন্টে কোনো পরিবর্তন লাগে না। এটি এখন **12টি কম্পোজেবল ইঞ্জিনের একটি স্ট্যাক**, যেগুলো ক্রমানুসারে চলে এবং প্রতি রাউটিং কম্বো অনুযায়ী মিশিয়ে ব্যবহার করা যায় — [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) এবং [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR) এর ধারণার উপর ভিত্তি করে তৈরি।
### 🧱 12-ইঞ্জিন স্ট্যাক
ইঞ্জিনগুলো পাইপলাইনের ক্রম অনুযায়ী চলে; প্রতিটি আলাদাভাবে টগল ও প্রতি কম্বোর জন্য কনফিগার করা যায়:
#
ইঞ্জিন
এটি যা করে
1
Session-Dedup
টার্ন জুড়ে পুনরাবৃত্ত কনটেন্ট বাদ দেয় (content-addressed, ক্রস-টার্ন)
2
CCR
বড় ব্লক retrieve মার্কারের পিছনে আর্কাইভ করে, চাহিদা অনুযায়ী ফেচ করা হয়
সরাসরি Anthropic ওয়্যারে পরিমাপকৃত Claude Fable 5-এর জন্য পরীক্ষামূলক context-as-image এনকোডিং; GPT 5.6 ট্রান্সফরমারগুলো প্রোভাইডার রিসিট না পাওয়া পর্যন্ত fail-closed থাকে। চারটি কম্প্রেশন প্রোফাইল (aggressive ডিফল্ট, balanced, coding-safe, passthrough) (সবচেয়ে আক্রমণাত্মক; অপ্ট-ইন)
কোড ব্লক, URL এবং স্ট্রাকচার্ড ডেটা **সর্বদা** বাইট-নিখুঁতভাবে সংরক্ষিত থাকে। **ওয়ান-ক্লিক প্রিসেট** ইঞ্জিনগুলোকে একত্রিত করে:
মোড
সাশ্রয়
কিসের জন্য সেরা
🪶 Lite
~15%
সর্বদা-চালু নিরাপদ ডিফল্ট
🪨 Standard (Caveman)
~30%
দৈনন্দিন কোডিং
⚡ Aggressive
~50%
দীর্ঘ, টুল-বহুল সেশন
🔥 Ultra
~75%
সর্বোচ্চ সাশ্রয়
🧰 RTK
60–90%
Shell/test/build/git আউটপুট
🔗 Stacked (RTK → Caveman)
78–95%
মিশ্র প্রম্পট + টুল লগ
**বাস্তব উদাহরণ — Standard মোড:**
> **আগে (69 টোকেন):** _"The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."_
>
> **পরে (19 টোকেন):** _"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."_
>
> **একই উত্তর। 72% কম টোকেন। শূন্য নির্ভুলতা ক্ষতি।** ✅
**PT-BR উদাহরণ — [Troglodita](https://github.com/leninejunior/troglodita) মোড:**
> **আগে (৪২ টোকেন):** _"সমস্যা হলো কম্পোনেন্টটি আবার re-render হচ্ছে, কারণ প্রতিটি render চক্রে একটি নতুন object reference তৈরি হচ্ছে। আমি `useMemo` ব্যবহারের পরামর্শ দেব।"_
>
> **পরে (১২ টোকেন):** _"Re-render: প্রতি চক্রে নতুন ref (inline object পুনরায় তৈরি)। `useMemo` ব্যবহার করুন।"_
>
> **একই উত্তর। ~৭০% কম টোকেন। প্রযুক্তিগত নির্ভুলতা অক্ষত।** ✅
### 🎚️ ইঞ্জিনগুলোর বাইরে — output styles, অ্যাডাপ্টিভ ডায়াল ও per-request নিয়ন্ত্রণ
উপরের ১২টি ইঞ্জিন যা **ভেতরে** যায় তা সংকুচিত করে। আরও তিনটি স্তর নির্ধারণ করে **কীভাবে**, **কখন**, এবং **কী বেরিয়ে আসবে**:
- **🪄 Output Styles** _(output-axis steering)_ — নির্ধারিত, cache-safe response-shaping নির্দেশনা ইনজেক্ট করে; একসাথে ব্যবহারযোগ্য, প্রতিটি `lite` / `full` / `ultra` তীব্রতায়। একটি স্টাইল যোগ করা মানে এক লাইনের registry এন্ট্রি:
- **Terse prose** — ভরাট শব্দ / articles / দ্বিধা বাদ দিন; প্রযুক্তিগত সারমর্ম হুবহু রাখুন।
- **Less code** — "lazy senior dev" YAGNI: সবচেয়ে ছোট কার্যকর পরিবর্তন, অনুরোধহীন scaffolding নয়।
- **Ponytail (lazy senior dev)** — YAGNI সিঁড়ি বেয়ে উঠুন, root cause ঠিক করুন, সবচেয়ে ছোট কার্যকর diff।
- **I have ADHD (action-first)** — পরবর্তী কাজ সবার আগে, ধাপগুলো নম্বরযুক্ত, একটি নির্দিষ্ট পরবর্তী পদক্ষেপ, কোনো ভূমিকা নয়।
- **Terse CJK (文言)** — ধ্রুপদী-চীনা অতি-সংক্ষিপ্ত শৈলী (লোকেল-গেটেড `zh`-এ)।
- **🎯 Adaptive context-budget** _(ডায়াল)_ — একটি on/off token threshold-এর বদলে, সবচেয়ে সস্তা ও সবচেয়ে lossless ইঞ্জিনগুলোকে ঠিক ততটুকুই বাড়ান যতটুকু **মডেলের context window**-এ ফিট হতে দরকার। Policy: `reserve-output` (ডিফল্ট, model-aware) · `percentage` · `absolute`। Mode: `floor` (ফিট নিশ্চিত করে) · `replace-autotrigger` (আপনার স্পষ্ট পছন্দই জয়ী) · `off` (লিগ্যাসি threshold)।
- **🎛️ কম্প্রেশন কোথায় নির্ধারিত হয়** _(অগ্রাধিকার, উচ্চ → নিম্ন)_ — per-request `x-omniroute-compression` হেডার › routing-combo override › সক্রিয় named profile › adaptive / auto-trigger › panel default › off। প্রয়োগকৃত প্ল্যান `X-OmniRoute-Compression: ; source=` response হেডারে ফিরে আসে।
Token threshold দিয়ে auto-trigger করুন, adaptive ডায়াল চালু করুন, একটি named profile পিন করুন, per-request এক-বারের সেটিং দিন, বা প্রতিটি routing combo-তে একটি pipeline বরাদ্দ করুন — যেটি আপনার workload-এ মানায়। কোনো পরিবর্তন promote করার আগে একটি opt-in অফলাইন **eval harness** (`npm run eval:compression`) একটি pinned corpus-এ fidelity বনাম সাশ্রয়ের স্কোর দেয়।
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ দ্রুত শুরু
**১) ইনস্টল করুন ও চালান**
```bash
npm install -g omniroute
omniroute
```
> 💡 `npm warn ERESOLVE` বা peer-dep warning দেখছেন? [এগুলো নিরীহ](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)।
> **npm 11 বা পরবর্তী ব্যবহার করছেন?** অনুমতি না দিলে npm প্যাকেজ lifecycle scripts ব্লক করতে পারে। OmniRoute-এর native runtime ফাইল প্রস্তুত করতে এর `postinstall` (`node scripts/build/postinstall.mjs`) আবশ্যক। গ্লোবালি ইনস্টল করার সময় npm-এর warning-এ যে প্যাকেজগুলোর নাম আছে সেগুলোর অনুমতি দিন। OmniRoute 3.8.53 যে প্যাকেজ সেট রিপোর্ট করে:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> ভবিষ্যতের গ্লোবাল ইনস্টলে এই allowlist পুনরায় ব্যবহার করতে, একবার এটি কনফিগার করুন, তারপর স্বাভাবিকভাবে ইনস্টল করুন:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> রিলিজের মধ্যে dependency তালিকা বদলাতে পারে; npm ভিন্ন তালিকা দেখালে সেই warning-এর প্যাকেজ নামগুলো ব্যবহার করুন। কোনো প্যাকেজকে অনুমতি দিলে তার install scripts চালানোর অনুমতি দেওয়া হয়।
> **Gemini Web বা অন্য web-cookie provider ব্যবহার করছেন?** npm প্যাকেজে Playwright আছে কিন্তু তার Chromium binary নেই। প্রথম web-provider অনুরোধ করার আগে [Playwright Chromium সেটআপ](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) নোটটি দেখুন।
ড্যাশবোর্ড `http://localhost:20128`-এ · API `http://localhost:20128/v1`-এ।
**২) নিজের অ্যাকাউন্ট দিয়ে একটি উপযুক্ত provider সংযুক্ত করুন**
Dashboard → **Providers** → এমন একটি provider বেছে নিন যার বর্তমান শর্তাবলি ও কোটা আপনার ব্যবহারের সাথে মানায় → তার API key যোগ করুন বা তার account flow সম্পন্ন করুন। ফ্রি টিয়ারে সাইনআপ, অনুমোদন, বা পেমেন্ট পদ্ধতি লাগতে পারে। [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md) দেখুন; keyless availability নিশ্চিত নয়, এবং `tos: avoid` চিহ্নিত provider-গুলো ডিফল্টভাবে `auto` থেকে বাদ দেওয়া হয়।
**৩) আপনার কোডিং টুলকে নির্দেশ করুন**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**৪) কাজ করছে কিনা যাচাই করুন**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
আপনার সংযুক্ত মডেলগুলোর তালিকা দেখা উচিত। 🎉 ব্যস — কোডিং শুরু করুন, OmniRoute আপনার জন্য auto-routes ও falls back করবে।
যদি আপনার ক্লায়েন্ট কাস্টম হেডার পাঠাতে না পারে, OmniRoute tokenized compatibility alias-ও দেয়:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
এগুলো কেবল সেই ক্লায়েন্টের জন্য ব্যবহার করুন যারা `Authorization: Bearer ...` সংযুক্ত করতে পারে না। Header auth-ই পছন্দের পদ্ধতি হিসেবে থাকে।
## 📦 আরও ইনস্টলেশন পদ্ধতি — Docker, সোর্স, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` সর্বোচ্চ **প্রকাশিত** স্থিতিশীল SemVer অনুসরণ করে। এটি git `main` অনুসরণ করে না। GitOps-এর জন্য `:X.Y.Z` পিন করুন। [Docker রিলিজ চ্যানেল](docs/guides/DOCKER_GUIDE.md#release-channels) দেখুন। ইমেজটি **`OMNIROUTE_MEMORY_MB=1024`** পিন করে। এটি ড্যাশবোর্ড এবং হালকা চ্যাটের জন্য যথেষ্ট। **কোডিং এজেন্টগুলোর** (Claude Code, Codex, Grok, … থেকে `POST /v1/responses`) আরও বড় V8 heap প্রয়োজন, নতুবা দুটি ওভারল্যাপিং দীর্ঘ কনটেক্সটের অধীনে প্রায় 12 GiB-এ প্রসেসটি `FATAL ERROR` দেয়। কনটেইনারের আকার heap-এর চেয়ে বেশি রাখুন (নেটিভ বাফারগুলো V8-এর বাইরে থাকে):
| কাজের ধরন | Heap (`-e OMNIROUTE_MEMORY_MB`) | কনটেইনার (`--memory`) |
| ------------------------------------ | ------------------------------- | --------------------- |
| ড্যাশবোর্ড / হালকা চ্যাট | `1024` (ইমেজের ডিফল্ট) | ≥2 g |
| একটি কোডিং এজেন্ট | `8192` | ≥10 g |
| দুটি সমসাময়িক দীর্ঘ `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
সম্পূর্ণ টেবিল: [Docker নির্দেশিকা — রানটাইম RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents)।
> **প্রি-রিলিজ Docker চ্যানেল:** `diegosouzapw/omniroute:next` এবং
> `diegosouzapw/omniroute:next-web` বর্তমান ডিফল্ট `release/v*`
> ব্রাঞ্চ অনুসরণ করে। এই পরিবর্তনশীল ট্যাগগুলো কেবল অপ্রকাশিত সংশোধন পরীক্ষা করার জন্য
> নির্ধারিত এবং **প্রোডাকশনে সমর্থিত নয়**। দেখুন
> [Docker রিলিজ চ্যানেল](docs/guides/DOCKER_GUIDE.md#release-channels)।
**🥟 Bun**
Bun রানটাইম শনাক্তকরণের মাধ্যমে স্ট্যান্ডার্ড `bun install` এবং গ্লোবাল ইনস্টলেশন (`bun install -g omniroute`) সমর্থিত:
- **অন্তর্নির্মিত `bun:sqlite`**: Bun-এর অধীনে চলার সময় OmniRoute, Bun-এর অন্তর্নির্মিত `bun:sqlite` ড্রাইভার ব্যবহার করে এবং Node.js-এ `better-sqlite3` বা `sql.js`-এ ফলব্যাক করে।
- **ডেভেলপমেন্টে স্বয়ংক্রিয় Webpack বান্ডলার নির্বাচন**: নেটিভ V8 বাইন্ডিংয়ের অসামঞ্জস্য প্রতিরোধ করতে ডেভেলপমেন্ট (`bun run dev`) স্বয়ংক্রিয়ভাবে Bun শনাক্ত করে এবং Webpack-এর পক্ষে Turbopack নিষ্ক্রিয় করে। প্রোডাকশন বিল্ড (`bun run build`) Node-এর মতোই `OMNIROUTE_USE_TURBOPACK` হুবহু অনুসরণ করে: ডিফল্টভাবে Turbopack, আর Webpack দিয়ে বিল্ড করতে `OMNIROUTE_USE_TURBOPACK=0` (`Dockerfile.bun` এটিকে `--build-arg` হিসেবে প্রকাশ করে)।
- **নিবেদিত Bun Dockerfile**: নেটিভ Bun প্রোডাকশন ডিপ্লয়মেন্টের জন্য মাল্টি-স্টেজ `Dockerfile.bun` (`docker build -f Dockerfile.bun -t omniroute:bun .`)।
```bash
# Bun দিয়ে ইনস্টল ও চালান
bun install
bun run dev
```
**🛠️ সোর্স থেকে**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Nix flakes ব্যবহার করে
nix develop
npm run dev
# অথবা devbox ব্যবহার করে
devbox run npm run dev
```
📖 [Docker নির্দেশিকা](docs/guides/DOCKER_GUIDE.md) — Compose প্রোফাইল, Caddy HTTPS, Cloudflare টানেল।
**🦭 Podman**
```bash
# ১. bind-mounted ডেটা ডিরেক্টরি প্রস্তুত করুন
mkdir -p data
# ২. কেবল Linux + স্থানীয় rootless Podman-এর জন্য (কখনোই কোনো রিমোট Podman Machine ক্লায়েন্টে নয়):
podman unshare chown 1000:1000 ./data
# ৩. রানটাইম হিন্ট সেট করুন, স্থানীয় Compose ইমেজ বিল্ড করুন এবং চালু করুন
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
macOS বা Windows-এ Podman একটি রিমোট Podman Machine ব্যবহার করে: `podman unshare` এড়িয়ে যান এবং
[টপোলজি-নির্দিষ্ট ডেটা ডিরেক্টরির নির্দেশনা](contrib/podman/README.md#data-directory-permissions-by-topology) অনুসরণ করুন।
📖 [Podman নির্দেশিকা](contrib/podman/README.md) — Compose বিল্ড, Podman Machine এবং
Linux/systemd Quadlet সেটআপ।
**⚡ দ্রুততর / হালকা ইনস্টলেশন (নেটিভ বিল্ড এড়িয়ে যান)**
নেটিভ SQLite ইঞ্জিন (`better-sqlite3`) একটি **ঐচ্ছিক** ডিপেন্ডেন্সি, তাই কোনো গ্লোবাল
ইনস্টলেশন কখনোই সোর্স থেকে কম্পাইল হওয়ার অপেক্ষায় আটকে থাকে না: আপনার প্ল্যাটফর্ম/Node-এর সঙ্গে মিলে গেলে এটি
একটি প্রি-বিল্ট বাইনারি ব্যবহার করে, অন্যথায় স্বচ্ছভাবে একটি বিশুদ্ধ-JS ইঞ্জিনে ফলব্যাক করে
(Node 22+-এ `node:sqlite`, নতুবা বান্ডেল করা `sql.js` WASM) — কোনো বিল্ড টুলের প্রয়োজন নেই।
ইনস্টলেশনের পরের নেটিভ ওয়ার্ম-আপ সম্পূর্ণ এড়িয়ে যেতে (CI, headless বা ধীরগতির মেশিনে):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1-ও এটি এড়িয়ে যায়
```
দ্রুততম ইনস্টলেশনের জন্য **pnpm** বেছে নিন (কনটেন্ট-অ্যাড্রেসড স্টোর + হার্ড লিংক — উপরে দেখুন)।
ড্যাশবোর্ডবিহীন headless রানটাইমের জন্য Docker `base` প্রোফাইল (উপরে) অথবা
[Termux নির্দেশিকা](docs/guides/TERMUX_GUIDE.md) ব্যবহার করুন। CLI এবং ওয়েব ড্যাশবোর্ড একই প্রসেস থেকে একই
পোর্টে পরিবেশিত হয়, তাই বর্তমানে আলাদা কোনো কেবল-CLI প্যাকেজ নেই।
7,800+ ট্র্যাক করা টেস্ট ফাইলে 56,000+ স্ট্যাটিক টেস্ট ডিক্লারেশনের জন্য টেস্ট কভারেজ কৌশল
# ⭐ শীর্ষ অবদানকারী
> OmniRoute একটি উৎসাহী ওপেন-সোর্স কমিউনিটি দ্বারা গঠিত। এই ব্যক্তিরা অসাধারণ অবদান রেখেছেন, যা সরাসরি প্রকল্পের গুণমান, স্থিতিশীলতা এবং বিস্তারে প্রভাব ফেলে। **ধন্যবাদ।**
### একত্রিত পুল রিকোয়েস্ট অনুযায়ী বাহ্যিক অবদানকারী
শুমারি নেওয়া হয়েছে 2026-10-18 15:09:09 UTC-তে, লাইভ release/v3.8.52 টিপ 656f01cb43 সহ। পৃষ্ঠাবদ্ধ GitHub GraphQL শুমারিতে 9,191টি একত্রিত PR রয়েছে: 3,834টি রিপোজিটরি মালিকের, 229টি Dependabot-এর, 6টি অন্যান্য বট/অ্যাপের, এবং 835 জন স্বতন্ত্র অবদানকারীর 5,122টি বাহ্যিক PR। “পরিবর্তিত লাইন” হলো GitHub সংযোজন + বিয়োজন এবং এতে জেনারেট করা ফাইল, লকফাইল, ক্যাটালগ, অনুবাদ ও ডকুমেন্টেশন অন্তর্ভুক্ত; এটি চার্ন, লেখা LOC নয়। 49টি PR 500,000 লাইনের বেশি GitHub ডিফ রিপোর্ট করে (উদাহরণস্বরূপ #13399, একটি একক প্রোভাইডার সংযোজন, 2,347টি পরিবর্তিত ফাইল তালিকাভুক্ত করে), যা উপরের কয়েকটি মোট সংখ্যাকে বাড়িয়ে দেয়। সমান ফলাফলগুলো একসাথে র্যাংক করা হয়েছে।
### GitHub-অ্যাট্রিবিউটেড কমিট
2026-10-18 14:44:45 UTC-এ পুনরায় যাচাই করা হয়েছে: ডিফল্ট শাখা release/v3.8.52-এর জন্য রিপোজিটরি Contributors API দ্বারা প্রতিবেদন করা GitHub-নির্ধারিত কমিট। API 849টি পরিচয় (429 জন ব্যবহারকারী, 2টি বট, 418টি বেনামী) ফেরত দিয়েছে; এই টেবিল থেকে রক্ষণাবেক্ষণকারী, বট ও বেনামী পরিচয়গুলো বাদ দেওয়া হয়েছে এবং প্রতিযোগিতার সমতাগুলো রাখা হয়েছে। এটি ওপরের মার্জ করা PR-এর র্যাঙ্কিং এবং নিচের Git-মেটাডেটা শুমারি—উভয়টি থেকেই স্বতন্ত্র।
> 🙏 এই অবদানকারীদের ফিচার, বাগ সংশোধন এবং অবকাঠামোগত উন্নতিগুলো OmniRoute-কে নির্ভরযোগ্য ও ফিচারসমৃদ্ধ করে তোলার একটি **মূল অংশ**। প্রতিটি পুল রিকোয়েস্ট, প্রতিটি টেস্ট কেস এবং প্রতিটি i18n অনুবাদ ফাইল গুরুত্বপূর্ণ। তাঁদের মতো মানুষদের হাতেই ওপেন সোর্স নির্মিত হয়।
---
## 💖 স্পনসররা
যাঁরা নিজেদের পকেটের অর্থ দিয়ে OmniRoute-কে তহবিল দেন, তাঁদের প্রতি আন্তরিক কৃতজ্ঞতা — প্রতিটি অবদান প্রকল্পটিকে বিনামূল্যে, স্বাধীন ও সচল রাখে।
… এবং অন্যরা, যাঁরা নিজেদের পরিচয় গোপন রাখতে পছন্দ করেন 💛GitHub Sponsors GraphQL API-এর মাধ্যমে 2026-10-18 তারিখে সর্বজনীন GitHub Sponsors পুনরায় যাচাই করা হয়েছে: মোট 14টি স্পনসরশিপের মধ্যে 11টি সর্বজনীন স্পনসরশিপ (6টি সক্রিয়, 5টি প্রাক্তন)। GitHub-এর isActive স্ট্যাটাস ওপরের সক্রিয় লেবেলগুলো নির্ধারণ করে; প্রাক্তন সর্বজনীন এককালীন সমর্থকদের প্রতি কৃতজ্ঞতা বহাল থাকে এবং ব্যক্তিগত স্পনসররা বেনামী থাকেন। Ko-fi, Buy Me a Coffee, Liberapay, PIX এবং ক্রিপ্টো অনুদান তালিকাভুক্ত করা হয়নি, কারণ সেগুলোর কোনো সর্বজনীন স্পনসর রেকর্ড নেই।💖 স্পনসর হন → — প্রতিটি ডলার OmniRoute-কে বিনামূল্যে ও স্বাধীন রাখে।
## 👥 900+ অবদানকারী
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
2026-10-18 তারিখে সক্রিয় release/v3.8.52-এর সর্বশেষ অবস্থান ad160ab2d1-এ (6,826টি কমিট) নিরীক্ষিত: 993টি স্বাভাবিকীকৃত মানব Git পরিচয় — 707টি কমিট লেখক হিসেবে উপস্থিত (রক্ষণাবেক্ষণকারীসহ) এবং 286টি কেবল সুস্পষ্ট Co-authored-by ট্রেলারে রয়েছে। এই গণনায় .mailmap প্রয়োগ করা হয়েছে, ই-মেইল ঠিকানাগুলো অক্ষরের বড়-ছোট পার্থক্য উপেক্ষা করে তুলনা করা হয়েছে, সংখ্যাসূচক ও সাধারণ GitHub noreply ঠিকানা কেবল একই হ্যান্ডেল নির্দেশ করলেই একত্র করা হয়েছে, 26টি bot/agent/service/placeholder পরিচয় বাদ দেওয়া হয়েছে এবং শুধু প্রদর্শিত নাম মিলে যাওয়ার কারণে সাধারণ ই-মেইল ঠিকানাগুলো একত্র করা হয়নি। 2026-08-24-এর নিরীক্ষায় 639টি প্রকাশ করা হয়েছিল; সেই নিরীক্ষার ভিত্তি ac02c5b42f-এ এই পদ্ধতি পুনরায় চালালে 619টি পাওয়া যায়, তাই বৃদ্ধিটি শিথিলতর পদ্ধতির কারণে নয়, নতুন অবদানকারীদের কারণে হয়েছে।
### কীভাবে অবদান রাখবেন
1. রিপোজিটরিটি ফর্ক করুন
2. **সক্রিয়** `release/vX.Y.Z`-এর সর্বশেষ অবস্থা থেকে ব্রাঞ্চ তৈরি করুন (`main` থেকে নয়) — [ব্রাঞ্চিং ও রিলিজ মডেল](docs/ops/BRANCHING_MODEL.md) দেখুন
3. আপনার ফিচার ব্রাঞ্চ তৈরি করুন (`git checkout -b feat/amazing-feature`)
4. আপনার পরিবর্তনগুলো কমিট করুন (`git commit -m 'feat: add amazing feature'`)
5. ব্রাঞ্চে পুশ করুন (`git push origin feat/amazing-feature`)
6. **base = সেই `release/vX.Y.Z` ব্রাঞ্চ** দিয়ে একটি Pull Request খুলুন
বিস্তারিত নির্দেশিকার জন্য [CONTRIBUTING.md](CONTRIBUTING.md) দেখুন।
### নতুন সংস্করণ প্রকাশ করা
```bash
# একটি রিলিজ তৈরি করুন — npm publish স্বয়ংক্রিয়ভাবে সম্পন্ন হবে
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 স্টারসমূহ
## 🌍 StarMapper
## 🙏 কৃতজ্ঞতা
OmniRoute মহীরুহদের কাঁধে ভর করে দাঁড়িয়ে আছে। এটি **[9router](https://github.com/decolua/9router)**-এর একটি fork এবং Go প্রকল্প **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**-এর একটি TypeScript port হিসেবে শুরু হয়েছিল — আর সেখান থেকে, নিচের প্রতিটি subsystem এমন কোনো open-source প্রকল্প থেকে অনুপ্রাণিত হয়েছে, যারা কাজটি আগেই করে দেখিয়েছিল। তাদের প্রত্যেকটি OmniRoute-এর একটি নির্দিষ্ট অংশকে রূপ দিয়েছে। তাদের সবাইকে জানাই আমাদের আন্তরিক ধন্যবাদ। 🙏
> ⭐ star-এর সংখ্যা 18 অক্টোবর, 2026 তারিখে GitHub-এর REST API থেকে যাচাই করা হয়েছে — এই প্রকল্পগুলোকে একটি করে star দিন। সংখ্যাগুলো নির্দিষ্ট তারিখের যথাযথ snapshot এবং স্বাভাবিকভাবেই পরিবর্তিত হবে।
### 🧬 বংশসূত্র ও gateway
এই AI gateway-এর public pricing dataset আমাদের cost-tracking sync-এ তথ্য সরবরাহ করে এবং এর provider-normalization model আমাদের routing-এ দিকনির্দেশনা দিয়েছে।
এর Grok model mapping, fake-TypeError Statsig generator, request ও device default এবং NDJSON response processor উল্লেখযোগ্যভাবে অভিযোজিত করে OmniRoute-এর Grok Web executor-এ অন্তর্ভুক্ত করা হয়েছে।
grok2api-merged-এর পেছনের প্রধান transitive code source; এর model, header, payload, Statsig এবং processor implementation Grok Web-এর বংশসূত্রে সংরক্ষিত রয়েছে।
এর proxy-pool layer-এর জন্য grok2api-merged কর্তৃক স্বীকৃত একটি transitive source; OmniRoute সেই বংশসূত্রের বিজ্ঞপ্তি সংরক্ষণ করে, তবে এর সীমাবদ্ধ Grok Web executor-এ কোনো proxy-pool port-এর দাবি করে না।
মূল Grok Web implementation এর HTTP/browser upstream design পর্যালোচনা করেছে; এর direct HTTP path GrokProxy থেকে উদ্ভূত, তাই কোনো স্বতন্ত্র code port-এর দাবি করা হয়নি।
ভাইরাল "অনেক টোকেন কেন ব্যবহার, অল্প টোকেনেই যখন কাজ হয়" প্রকল্পটি — এর গুহামানবসুলভ ভাষার দর্শন আমাদের স্ট্যান্ডার্ড কম্প্রেশন মোড এবং 30টির বেশি ফিলার/কনডেনসেশন নিয়মকে চালিত করে।
ব্যর্থতা-সচেতন বেইল-আউটসহ কনটেন্ট-সচেতন, প্রতি-ফাইল-টাইপ আউটপুট কম্প্রেশন — আমাদের প্রতি-টাইপ ডিসপ্যাচ এবং ন্যূনতম-লাভ না হলে বাদ দেওয়ার পদ্ধতিকে যাচাই করেছে।
কোডিং-অ্যাসিস্ট্যান্ট ↔ LLM ট্রাফিকের MITM ইন্টারসেপশন/বিশ্লেষণ প্রাথমিক Traffic Inspector-এর প্রয়োজনীয়তা নির্ধারণে সহায়তা করেছে। আগে উদ্ভূত চারটি মডিউল — SSE মার্জিং, কথোপকথন স্বাভাবিকীকরণ, সিক্রেট মাস্কিং ও হেডার স্যানিটাইজেশন — পাবলিক প্রোটোকল স্ট্যান্ডার্ডের ভিত্তিতে স্বতন্ত্র ক্লিন-রুম ইমপ্লিমেন্টেশন দিয়ে প্রতিস্থাপন করা হয়েছে। দুটি host-passthrough সারফেস (passthrough.ts এবং _internal/bypass.cjs) স্বতন্ত্রভাবে শ্রেণিবদ্ধ OmniRoute-এর অভ্যন্তরীণ ইমপ্লিমেন্টেশন হিসেবেই রয়ে গেছে; ওই প্রতিস্থাপনের অংশ হিসেবে এগুলো পুনরায় লেখা হয়নি।
ডিফল্টভাবে নিরাপদ লাইব্রেরিগুলোর একটি বাছাইকৃত তালিকা, যা আমাদের নিরাপত্তা-সংক্রান্ত সিদ্ধান্তগুলোকে নির্দেশনা দেয় (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)।