# 🚀 OmniRoute — বিনামূল্যের AI গেটওয়ে
**তৈরি করেছেন [Diego Souza](https://github.com/diegosouzapw)**
## 💰 তৃতীয়-পক্ষের ফ্রি টিয়ার জুড়ে প্রতি মাসে ~1.62B টোকেন
> **নিজের provider account ব্যবহার করুন।** এটি পৃথকভাবে যোগ্য তৃতীয়-পক্ষের ফ্রি টিয়ারগুলোর একটি আনুমানিক সমষ্টি, OmniRoute-এর পক্ষ থেকে কোনো token grant নয়। সাইন আপ করুন, যেখানে প্রয়োজন সেখানে credentials সংগ্রহ করুন এবং যেসব provider ব্যবহার করতে পারবেন সেগুলো সংযুক্ত করুন; প্রতিটি provider নিজস্ব সীমা, প্রাপ্যতা এবং শর্তাবলী নিয়ন্ত্রণ করে।
>
> হাতে হাতে ফ্রি টিয়ার সাজানো বেশ কষ্টকর — কয়েক ডজন SDK, কয়েক ডজন rate limit, আর আপনি আসলে কতটা ব্যবহার করতে পারবেন সে সম্পর্কে কোনো ধারণা নেই। OmniRoute **34টি recurring pool key জুড়ে 465টি free-tier entry** তালিকাভুক্ত করে এবং **প্রকাশিত ইতিবাচক মাসিক বাজেটসহ 17টি pool এবং প্রতি-model-এর পাঁচটি Groq cap** থেকে token headline গণনা করে, shared pool অনুযায়ী deduplicate করে। যেসব quota আঞ্চলিক পরিচয় যাচাইয়ের পরেই সক্রিয় হয় (আজ: ModelScope), সেগুলো আলাদাভাবে দেখানো হয়, আঞ্চলিক পরিচয় যাচাইয়ের পেছনে অতিরিক্ত ~6M হিসেবে, এবং headline-এ কখনো যোগ করা হয় না। ফলাফল dashboard-এ (`/dashboard/free-tiers`) দৃশ্যমান থাকে।
> লাইভ `/dashboard/free-tiers` পৃষ্ঠার অ্যানিমেটেড সারাংশ। সম্পূর্ণ পদ্ধতি (pool dedupe, credit tier, provider terms): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**।
>
> এই পরিসংখ্যানগুলো live catalog-এর সঙ্গে মিলিয়ে প্রতি দুই সপ্তাহে পুনরায় audit করা হয় এবং **দুই দিকেই পরিবর্তিত হয়** — কোনো provider free tier বন্ধ করলে সংখ্যা কমে; নতুন কোনোটি যুক্ত হলে সংখ্যা বাড়ে। আমরা catalog আসলে যা গণনা করে সেটিই প্রকাশ করি, কখনো rounded-up best case নয়।
⭐ OMNIROUTE আপনাকে অর্থ সাশ্রয় করতে এবং কাজ সহজ করতে সাহায্য করলে repo-তে Star দিন।
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 কমিউনিটিতে যোগ দিন
**👋 Maintainer-কে অনুসরণ করুন — নতুন provider, release ও tip সবার আগে পান:**
[](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)
**প্রশ্ন, provider tip, roadmap ও support → [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 কী কপি করুন:
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`-এর জন্য একটি যোগ্য রুট প্রয়োজন। নতুন ইনস্টলেশনে কোনো যোগ্য কী-বিহীন লক্ষ্য নাও থাকতে পারে, এবং কোনো কী-বিহীন প্রদানকারী তৃতীয় পক্ষের ক্লায়েন্ট প্রত্যাখ্যান করতে পারে। `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.54**-এর সাম্প্রতিক উল্লেখযোগ্য পরিবর্তন। সম্পূর্ণ ইতিহাস [`CHANGELOG.md`](CHANGELOG.md)-এ।
- **⚖️ `quota-weighted` রাউটিং** — 20তম কম্বো কৌশলটি শেষ হয়ে যাওয়া অ্যাকাউন্টগুলো বাদ দেয়, তারপর অবশিষ্ট অ্যাকাউন্টগুলোর মধ্যে অবশিষ্ট কোটা ÷ ইন-ফ্লাইট লোডের অনুপাতে নির্বাচন করে; বিদ্যমান কথোপকথনগুলো একই অ্যাকাউন্টে পিন করা থাকে। → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 হেডলেস মোড** — `omniroute serve --headless` (অথবা `OMNIROUTE_HEADLESS=1`) শুধু `/v1/*` প্রক্সি ইঞ্জিন চালায়, ড্যাশবোর্ড এবং শুধু-ড্যাশবোর্ডের সাবসিস্টেমগুলো বন্ধ রাখে। → [Headless Mode](docs/guides/HEADLESS.md)
- **🔎 মডেল আবিষ্কার** — `/v1/models` সক্ষমতা, কনটেক্সট, ধরন এবং টেক্সট অনুযায়ী ফিল্টার করে, আর `POST /v1/models/query` একই প্রতি-কী দৃশ্যমানতা বজায় রেখে একটি সংক্ষিপ্ত, নির্ধারিত শর্টলিস্ট ফেরত দেয়। → [API Reference](docs/reference/API_REFERENCE.md)
- **🔑 প্রতি-কী রাউটিং নিয়ন্ত্রণ** — `forcedModel` দিয়ে একটি API কী-কে একটি মডেল বা কম্বোতে পিন করুন, এবং একটি কী-এর মডেল ও কম্বো পরমাণবিকভাবে যোগ বা অপসারণ করুন (`/api/keys/{id}/access`)। → [API Reference](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ আরও সূক্ষ্ম PII নিয়ন্ত্রণ** — প্রতি-ধরন নির্বাচন, সর্বোচ্চ 20টি যাচাইকৃত কাস্টম মাস্কিং প্যাটার্ন এবং প্রতি-ধরন শনাক্তকরণ কাউন্টার; মাস্কিং নিজে এখনও অপ্ট-ইন। → [Guardrails](docs/security/GUARDRAILS.md)
- **🌍 67টি ভাষা** — ড্যাশবোর্ড, ডকস মিরর এবং CLI-তে; `npm run i18n:add-locale` একটি কমান্ডেই সর্বত্র একটি ভাষা যোগ করে। → [i18n Guide](docs/guides/I18N.md)
- **🎛️ OmniConductor** — আপনার এজেন্ট ফ্লিটে ইনবাউন্ড A2A ডেলিগেশন, Agent Card-এ Conductor স্কিল এবং Faro push-to-talk ভয়েস চ্যাটসহ একটি ড্যাশবোর্ড প্যানেল। → [A2A Server](docs/frameworks/A2A-SERVER.md)
- **🛂 অভিযোজিত অ্যাডমিশন ও ওভারলোড সুরক্ষা** — ভারী চ্যাট অনুরোধগুলো 503 না দিয়ে কিউতে অপেক্ষা করে, প্রতি সংযোগে পরমাণবিক RPM রোলিং লিজসহ। → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ ক্যানোনিক্যাল `/v1/models` ক্রম** — প্রতি প্রোভাইডারের জন্য একটি সংলগ্ন, প্রোভাইডার-গ্রুপভুক্ত ব্লক (কম্বোগুলো আগে পিন করা), প্রতিটি ক্যাটালগ সোর্সে স্থিতিশীল। → [API Reference](docs/reference/API_REFERENCE.md)
- **🗜️ কমপ্রেশন শক্তিশালীকরণ** — ডিফল্টভাবে সক্রিয় inflation guard, DE / FR / JA + Chinese (wényán)-এর জন্য Caveman packs, Gradle ও .NET-এর জন্য RTK filters। → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **💸 সৎ flat-rate খরচ** — subscription / coding-plan প্রোভাইডারগুলো cost analytics-এ **$0** হিসেবে দেখা যায়; budget, quota ও routing হিসাব চালিয়ে যায়। → [API Reference](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share রাউটিং** — pooled keys-এর মধ্যে একটি শেয়ার করা অ্যাকাউন্টের কোটা ন্যায্যভাবে ভাগ করে, idle slice ধার দিয়ে work-conserving থাকে। → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 এক-কমান্ডে CLI/এজেন্ট সেটআপ** — 15টি নিবন্ধিত `setup-*` কমান্ড; `omniroute run` 7টি CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI) চালু করে; `omniroute configure` একটি ইন্টারঅ্যাক্টিভ provider+model picker এবং প্রতি-কনটেক্সট favorites-সহ 11টি টার্গেট সমর্থন করে। → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ রিমোট মোড** — scoped tokens (`connect` / `contexts` / `tokens`)-এর মাধ্যমে একটি রিমোট OmniRoute পরিচালনা করুন, সঙ্গে VPS ইনস্টলের জন্য একটি `antigravity` OAuth helper। → [Remote Mode](docs/guides/REMOTE-MODE.md)
- **🧭 আরও বুদ্ধিমান অটো-রাউটিং** — `auto/:` কম্বো, **Fusion** (model panel + judge), task-aware routing, প্রতি-অনুরোধে model / mode / USD-budget overrides। → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ প্লাগযোগ্য কমপ্রেশন** — 12টি composable engine এবং Compression Studios: LLMLingua-2, two-tier Ultra, omniglyph, per-step fidelity gate, GCF v3.2, drag-reorder editor। → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ স্বচ্ছ MITM ডিক্রিপ্ট (TPROXY)** — proxy env vars উপেক্ষা করা capture CLI-গুলোর জন্য, প্রতি-SNI CA এবং trust-store installer-সহ। → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 সর্বত্র cost telemetry** — প্রতিটি endpoint-এ `X-OmniRoute-*` cost/usage headers, cache-HIT savings header এবং প্রতি-কী USD spend quotas। → [API Reference](docs/reference/API_REFERENCE.md)
- **🧠 আপনার নিয়ন্ত্রণে Memory** — ডিফল্টভাবে বন্ধ, opt-in int8 vector quantization + typed decay, প্রতি-অনুরোধে `x-omniroute-no-memory`। → [Memory](docs/frameworks/MEMORY.md)
- **🛡️ নিরাপত্তা** — প্রতিটি LLM route-এ prompt-injection guard (red-team suite), opt-in credential-masking guardrail (উভয় দিকের ফাঁস হওয়া API keys/secrets redacts করে), বিনামূল্যের DuckDuckGo last-resort web search এবং ড্যাশবোর্ডের জন্য একটি ঐচ্ছিক OIDC login gate (password login সবসময় উপলব্ধ থাকে)। → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ নতুন endpoint** — `/v1/ocr` (Mistral OCR) এবং `/v1/audio/translations` (Whisper-style) media surface সম্পূর্ণ করে। → [API Reference](docs/reference/API_REFERENCE.md)
- **🎨 Image / video / audio generation** — media-এর জন্য একটি API: xAI Grok Imagine ও Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind এবং ElevenLabs-এর মতো speech provider। → [API Reference](docs/reference/API_REFERENCE.md)
- **🌍 Deployment ও ops** — reverse-proxy `basePath`, browser-language auto-detect, প্রতি-কী device tracking, root-less MITM trust, zh-TW localization। → [Environment](docs/reference/ENVIRONMENT.md)
- **🤝 আরও প্রোভাইডার ও এজেন্ট** — cloud agents (Codex Cloud, Cursor, Devin, Jules), browser + OAuth login-সহ Grok Build (xAI), Ollama first-class card, Claude Opus 5 ও Sonnet 5, Kimi official partnership (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… এবং নতুন করে সাজানো **388-provider catalog**। → [Providers](docs/reference/PROVIDER_REFERENCE.md)
- **📡 রাউটিং স্বচ্ছতা** — প্রতিটি response-এ একটি `X-OmniRoute-Decision` header থাকে, যা এটি পরিবেশন করা strategy/provider/latency-এর নাম জানায়; নতুন `cache-optimized` combo strategy এবং Auto-Combo `cacheAffinity` factor পুনরাবৃত্তি হওয়া অনুরোধগুলোকে cached prefix ধারণকারী connection-এ ফেরত পাঠায়; আর একটি read-only `/v1/auto-combo/{channel}/candidates` endpoint কোনো `auto/*` channel-এর live candidate pool প্রকাশ করে। → [Auto-Combo](docs/routing/AUTO-COMBO.md)।
- **⚡ স্থানীয় পারফরম্যান্স ও অবকাঠামো** — এক-ক্লিকে স্থানীয় Redis, Cloudflare Workers / Deno Deploy রিলে ডিপ্লয়মেন্টকারী, এবং তত্ত্বাবধানে চলা এমবেডেড পরিষেবা হিসেবে Bifrost ও Mux। → [এমবেডেড পরিষেবা](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 আরও যা অন্তর্ভুক্ত রয়েছে** — প্লাগইন ফ্রেমওয়ার্ক ও মার্কেটপ্লেস, Omni/Agent/GitHub স্কিলস ফ্রেমওয়ার্ক, Obsidian ভল্ট ইন্টিগ্রেশন (22টি MCP টুল), OpenAI-সামঞ্জস্যপূর্ণ Batch ও Files API, সেমান্টিক রেসপন্স ক্যাশ, লিডারবোর্ডসহ গ্যামিফিকেশন, ACP এজেন্ট আবিষ্কার (15টি বিল্ট-ইন এজেন্ট), BigQuery-তে নির্ধারিত সময়ে লগ এক্সপোর্ট, `auto/chaos` সমান্তরাল মাল্টি-মডেল ফ্যান-আউট, একটি Telegram বট ব্রিজ, ইন-অ্যাপ ভার্সন ম্যানেজার এবং LMArena-ELO বিনামূল্যের প্রোভাইডার র্যাঙ্কিং। → [ডকুমেন্টেশন](docs/README.md)
## 🤖 উপযোগী CLI ও কোডিং এজেন্টসমূহ
> একটাই কনফিগ — `http://localhost:20128/v1` — এবং **প্রতিটি** AI IDE বা CLI চলে ফ্রি ও কম-দামের মডেলে।
📖 প্রতিটি টুলের জন্য পৃথক সেটআপ (মোট ৩৯টি টুল: ২৮টি CLI Code's + ১১টি CLI Agents) → [`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)
## 🌐 388টি AI প্রদানকারী — ক্যাটালগে চিহ্নিত 153টি বিনামূল্যে
> **388টি নিবন্ধিত প্রদানকারী** canonical chat, media, search, local, cloud-agent এবং system collection জুড়ে রয়েছে, যার মধ্যে **153টি `hasFree: true` discovery metadata বহন করে**। Chat model registry-তে রয়েছে **239টি প্রদানকারী / 3,059টি স্বতন্ত্র provider-model pair / 1,475টি raw model ID**; পৃথক free-budget catalog-এ রয়েছে **471টি per-model row**, **34টি recurring pool** এবং **52টি recurring/keyless free-forever provider**। নকশা অনুযায়ী এগুলো ভিন্ন denominator; সংজ্ঞা এবং pool-deduped হিসাব [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) ও [Free Tiers](docs/reference/FREE_TIERS.md)-এ রয়েছে।
### 🏢 প্রতিটি প্রধান ল্যাব — একটি endpoint-এর মাধ্যমে
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…আরও 350+ — প্রতিটি আইকন dashboard-এর provider catalog থেকে সরাসরি resolve হয়। 📖 [Provider Reference](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 ৫০টিরও বেশি মডেল প্রতিদিন ১০K নিউরন
NVIDIA NIM GLM, MiniMax প্রায় ৪০ RPM বিনামূল্যে
Cerebras GLM 4.7, GPT-OSS এককালীন $5 ক্রেডিট; কার্ড প্রয়োজন
OpenRouter বিনামূল্যের মডেল +$10 → বেশি RPM
📖 সম্পূর্ণ মেশিন-পাঠযোগ্য ক্যাটালগ → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ যেখানে OmniRoute চলে — যেকোনো জায়গায়
> একই অ্যাপ, আপনার মেশিন, আপনার নিয়ম। একটি বিশ্বব্যাপী npm থেকে ইনস্টল করুন** আপনার ফোন** Termux এর মাধ্যমে।
### 🧩 নতুন: OmniRoute VS কোডের নেটিভ Copilot চ্যাটের ভিতরে
> কোন নতুন সাইডবার নেই, কোন নতুন চ্যাট UI নেই — প্রতিটি মডেল OmniRoute পরিবেশন করে সরাসরি দেখানো হয়**Copilot চ্যাট মডেল পিকার আপনি ইতিমধ্যেই ব্যবহার করছেন** . VS কোড 1.122 থেকে, প্রদানকারী মডেলগুলি GitHub সাইন-ইন বা Copilot সাবস্ক্রিপশন ছাড়াই কাজ করে — এজেন্ট মোড, টুল কলিং এবং ভিশন, বিনামূল্যে।
ইনস্টল করুন** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** এক্সটেনশন, এটি আপনার OmniRoute সার্ভারে নির্দেশ করুন ( `localhost:20128` তে ডিফল্ট), তারপর Copilot Chat → মডেল পিকার → খুলুন** মডেলগুলি পরিচালনা করুন...** →**OmniRoute** .
সম্পাদকের ভিতর থেকে: খুলুন** এক্সটেনশন** দেখুন, অনুসন্ধান করুন** "OmniRoute"** , ক্লিক করুন** ইনস্টল করুন** — উভয় দোকানে একই ভাবে কাজ করে। উত্স, সমস্যা এবং প্রকাশনা রানবুক [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot) এ লাইভ।
📖 [VS কোড Copilot চ্যাট গাইড](docs/guides/VSCODE-COPILOT.md) — সেটআপ, পিকার কী দেখায়, ড্যাশবোর্ড-ইন-এ-ট্যাব, সমস্যা সমাধান
### 🎩 নতুন: OmniRouteTray — আপনার গেটওয়ে, মেনু বারে বসবাস
> `omniroute serve` সবচেয়ে খুশি হয় যখন এটি সবসময় চালু থাকে।** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** এটিকে macOS জন্য একটি সেট-এন্ড-ফোরগেট মেনু-বার অ্যাপে পরিণত করে: এটি সার্ভারটিকে শুরু করে, এটিকে রিবুট জুড়ে জীবিত রাখে, এটিকে আপডেট করে এবং আপনার লাইভ টোকেন বাজেটকে এক ক্লিক দূরে রাখে —** কোনো টার্মিনাল জানালা খোলা নেই, বেবিসিট করার জন্য কোনো `npm install -g omniroute` নেই।**
[Tauri v2](https://v2.tauri.app/) (একটি রাস্ট কোর একটি রাউন্ডিং ত্রুটির আকার) দিয়ে নির্মিত, এটি তার নিজস্ব স্বাক্ষরিত নোড 24 রানটাইম প্রেরণ করে এবং একটি অ্যাপ-মালিকানাধীন OmniRoute ইনস্টল পরিচালনা করে, তাই এটি কখনই আপনার বিশ্বব্যাপী `node`/`bun` সাথে লড়াই করে না। এটা** আপনার বিদ্যমান `~/.omniroute/` কনফিগারেশন এবং ডাটাবেস শেয়ার করে** — তাই আপনি ইতিমধ্যেই যে OmniRoute চালাচ্ছেন, শুধু একটি টুপি পরে। 🎩
এটা কি করে
কিভাবে
🟢 সার্ভারের তত্ত্বাবধান করে
Spawns omniroute পরিবেশন করে,
নকল করার পরিবর্তে ইতিমধ্যেই চলমান একটি দৃষ্টান্ত গ্রহণ করে
📊 Claude
session/weekly
🔄 জায়গায় স্বতঃ-আপডেট
স্টেজড ইনস্টল, পারমাণবিক অদলবদল, ব্যর্থতার উপর রোলব্যাক — সর্বদা নতুন রিলিজ
🚀 লগইন শুরু করুন
লগইন এ ঐচ্ছিক লঞ্চ; শুধুমাত্র ট্রে, কোন ডক আইকন
নেই
🩺 ডাক্তার & লগ
এক-ক্লিক ডায়াগনস্টিকস এবং সার্ভার লগ অ্যাক্সেস
```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 ক্লায়েন্টের সঙ্গে সংযুক্ত করুন
স্কোপযুক্ত অ্যাক্সেস টোকেন দিয়ে একটি রিমোট ইনস্ট্যান্স পরিচালনা করুন
```bash
# MCP-এর মাধ্যমে Claude Code-কে OmniRoute-এর সম্পূর্ণ টুলসেট দিন:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP সার্ভার](docs/frameworks/MCP-SERVER.md) · [A2A সার্ভার](docs/frameworks/A2A-SERVER.md) · [এজেন্ট প্রোটোকল](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ স্বয়ংক্রিয়ভাবে ১৫–৯৫% টোকেন সাশ্রয় করুন
### 📖 এটি কীভাবে কাজ করে — পাইপলাইন, আর্কিটেকচার ও সাশ্রয়ের গণিত
ডিফল্ট স্ট্যাকড কম্বো `RTK → Caveman` চালায়। উভয়টি একই টুল/কনটেক্সট পেলোডে কাজ করলে সাশ্রয় একত্রিত হয়:
```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 এবং স্ট্রাকচার্ড ডেটা **সবসময়** সংরক্ষণ ইঞ্জিন দ্বারা সুরক্ষিত থাকে।
> **যখন অল্প কয়েকটি টোকেনেই কাজ হয়, তখন এত বেশি টোকেন ব্যবহার করবেন কেন?** প্রতিটি অনুরোধ OmniRoute-এর কম্প্রেশন পাইপলাইনের মধ্য দিয়ে **স্বচ্ছভাবে** যায় — ক্লায়েন্টে কোনো পরিবর্তন ছাড়াই। এটি এখন **১২টি কম্পোজেবল ইঞ্জিনের একটি স্ট্যাক**, যেগুলো ক্রমানুসারে চলে এবং প্রতিটি রাউটিং কম্বোর জন্য ইচ্ছেমতো একত্রিত করা যায় — [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)-এর ধারণার ওপর ভিত্তি করে।
### 🧱 ১২-ইঞ্জিনের স্ট্যাক
ইঞ্জিনগুলো পাইপলাইনের ক্রমানুসারে চলে; প্রতিটি ইঞ্জিন আলাদাভাবে টগল করা যায় এবং প্রতিটি কম্বোর জন্য কনফিগার করা যায়:
#
ইঞ্জিন
এটি কী করে
1
Session-Dedup
টার্নগুলোর মধ্যে পুনরাবৃত্ত কনটেন্ট বাদ দেয় (কনটেন্ট-অ্যাড্রেসড, ক্রস-টার্ন)
2
CCR
বড় ব্লকগুলো রিট্রিভ মার্কারের আড়ালে আর্কাইভ করে, প্রয়োজনমতো সংগ্রহ করে
ডাইরেক্ট Anthropic ওয়্যারে পরিমাপ করা Claude Fable 5-এর জন্য পরীক্ষামূলক কনটেক্সট-অ্যাজ-ইমেজ এনকোডিং; প্রোভাইডার রসিদ না পাওয়া পর্যন্ত GPT 5.6 ট্রান্সফর্মারগুলো ফেইল-ক্লোজড থাকে। চারটি কম্প্রেশন প্রোফাইল (ডিফল্টভাবে aggressive, balanced, coding-safe, passthrough) (সবচেয়ে আক্রমণাত্মক; অপ্ট-ইন)
কোড ব্লক, URL এবং স্ট্রাকচার্ড ডেটা **সবসময়** বাইট-পর্যায়ে নির্ভুলভাবে সংরক্ষিত থাকে। **ওয়ান-ক্লিক প্রিসেটগুলো** ইঞ্জিনগুলোকে একত্রিত করে:
মোড
সাশ্রয়
যার জন্য সেরা
🪶 Lite
~15%
সবসময় চালু রাখার নিরাপদ ডিফল্ট
🪨 Standard (Caveman)
~30%
দৈনন্দিন কোডিং
⚡ Aggressive
~50%
দীর্ঘ টুল-নির্ভর সেশন
🔥 Ultra
~75%
সর্বাধিক সাশ্রয়
🧰 RTK
60–90%
শেল/টেস্ট/বিল্ড/git আউটপুট
🔗 Stacked (RTK → Caveman)
78–95%
মিশ্র প্রম্পট + টুল লগ
**বাস্তব উদাহরণ — Standard মোড:**
> **আগে (69 টোকেন):** _"আপনার React কম্পোনেন্ট পুনরায় রেন্ডার হওয়ার কারণ সম্ভবত প্রতিটি রেন্ডার সাইকেলে আপনি একটি নতুন অবজেক্ট রেফারেন্স তৈরি করছেন। আপনি যখন একটি ইনলাইন অবজেক্টকে প্রপ হিসেবে পাঠান, React-এর শ্যালো কম্পারিজন এটিকে প্রতিবার আলাদা অবজেক্ট হিসেবে দেখে, যার ফলে পুনরায় রেন্ডার হয়। অবজেক্টটি মেমোয়াইজ করতে useMemo ব্যবহার করার পরামর্শ দেব।"_
>
> **পরে (19 টোকেন):** _"প্রতিটি রেন্ডারে নতুন অবজেক্ট রেফ। ইনলাইন অবজেক্ট প্রপ = নতুন রেফ = পুনরায় রেন্ডার। useMemo-তে মুড়ে দিন।"_
>
> **একই উত্তর। ৭২% কম টোকেন। নির্ভুলতার কোনো ক্ষতি নেই।** ✅
**PT-BR উদাহরণ — [Troglodita](https://github.com/leninejunior/troglodita) মোড:**
> **আগে (৪২ টোকেন):** _"সমস্যাটি হলো, প্রতিটি রেন্ডারিং চক্রে অবজেক্টের একটি নতুন রেফারেন্স তৈরি হওয়ায় কম্পোনেন্টটি পুনরায় রেন্ডার হচ্ছে। আমি `useMemo` ব্যবহার করার পরামর্শ দেব।"_
>
> **পরে (১২ টোকেন):** _"পুনরায় রেন্ডার: প্রতি চক্রে নতুন রেফ (ইনলাইন অবজেক্ট পুনরায় তৈরি)। `useMemo` ব্যবহার করুন।"_
>
> **একই উত্তর। প্রায় ৭০% কম টোকেন। প্রযুক্তিগত নির্ভুলতা অক্ষুণ্ণ।** ✅
### 🎚️ ইঞ্জিনগুলোর বাইরে — আউটপুট স্টাইল, অ্যাডাপটিভ ডায়াল ও প্রতি-রিকোয়েস্ট নিয়ন্ত্রণ
উপরের ১২টি ইঞ্জিন **ইনপুটে** যা যায় তা সংক্ষিপ্ত করে। আরও তিনটি স্তর **কীভাবে**, **কখন**, এবং কী **আউটপুটে** আসবে তা নির্ধারণ করে:
- **🪄 আউটপুট স্টাইল** _(আউটপুট-অক্ষ নিয়ন্ত্রণ)_ — নির্ধারিত, ক্যাশ-নিরাপদ, প্রতিক্রিয়ার আকার-নির্ধারণকারী নির্দেশনা যোগ করে; একত্রে ব্যবহারযোগ্য, প্রতিটি `lite` / `full` / `ultra` তীব্রতায়। একটি স্টাইল যোগ করতে রেজিস্ট্রিতে এক লাইনই যথেষ্ট:
- **সংক্ষিপ্ত গদ্য** — ফাঁকা কথা / আর্টিকেল / দ্বিধাসূচক ভাষা বাদ দিন; প্রযুক্তিগত বিষয়বস্তু হুবহু নির্ভুল রাখুন।
- **কম কোড** — "অলস সিনিয়র ডেভ": YAGNI অনুসরণ করে সবচেয়ে ছোট কার্যকর পরিবর্তন, অনুরোধ না করা কোনো কাঠামো নয়।
- **পনিটেল (অলস সিনিয়র ডেভ)** — YAGNI সিঁড়ি বেয়ে মূল কারণ ঠিক করুন, সবচেয়ে ছোট কার্যকর ডিফ।
- **আমার ADHD আছে (অ্যাকশন-ফার্স্ট)** — পরবর্তী পদক্ষেপ আগে, ধাপগুলো নম্বরযুক্ত, একটি নির্দিষ্ট পরবর্তী পদক্ষেপ, কোনো ভূমিকা নয়।
- **সংক্ষিপ্ত CJK (文言)** — ধ্রুপদি-চীনা অতি-সংক্ষিপ্ত স্টাইল (`zh`-এ লোকেল-নির্ভর)।
- **🎯 অ্যাডাপটিভ কনটেক্সট-বাজেট** _(ডায়াল)_ — একটি অন/অফ টোকেন সীমার পরিবর্তে, মডেলের কনটেক্সট উইন্ডোতে **ফিট** করানোর জন্য যতটা প্রয়োজন ততটাই সবচেয়ে সস্তা ও কম-ক্ষতিকর ইঞ্জিন সক্রিয় করে। নীতি: `reserve-output` (ডিফল্ট, মডেল-সচেতন) · `percentage` · `absolute`। মোড: `floor` (ফিট নিশ্চিত করে) · `replace-autotrigger` (আপনার স্পষ্ট পছন্দ অগ্রাধিকার পায়) · `off` (লিগ্যাসি সীমা)।
- **🎛️ কোথায় কমপ্রেশন নির্ধারিত হয়** _(অগ্রাধিকার, বেশি → কম)_ — প্রতি-রিকোয়েস্ট `x-omniroute-compression` হেডার › রাউটিং-কম্বো ওভাররাইড › সক্রিয় নামযুক্ত প্রোফাইল › অ্যাডাপটিভ / অটো-ট্রিগার › প্যানেল ডিফল্ট › off। প্রয়োগ করা প্ল্যানটি `X-OmniRoute-Compression: ; source=` রেসপন্স হেডারে ফিরে আসে।
টোকেন সীমার ভিত্তিতে অটো-ট্রিগার করুন, অ্যাডাপটিভ ডায়াল সক্রিয় করুন, নামযুক্ত প্রোফাইল পিন করুন, প্রতি রিকোয়েস্টে একবারের জন্য সেট করুন, অথবা প্রতিটি রাউটিং কম্বোর জন্য একটি পাইপলাইন নির্ধারণ করুন — কাজের ধরন অনুযায়ী যেটি উপযুক্ত। একটি ঐচ্ছিক অফলাইন **ইভ্যালুয়েশন হারনেস** (`npm run eval:compression`) পরিবর্তন প্রমোট করার আগে নির্ধারিত কর্পাসে বিশ্বস্ততা বনাম সাশ্রয় স্কোর করে।
📖 [`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 সংক্রান্ত সতর্কতা দেখছেন? [এগুলো ক্ষতিকর নয়](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)।
> **npm 11 বা পরবর্তী সংস্করণ ব্যবহার করছেন?** অনুমতি না দেওয়া থাকলে npm প্যাকেজের lifecycle script আটকে দিতে পারে। OmniRoute-এর `postinstall` (`node scripts/build/postinstall.mjs`) তার native runtime ফাইল প্রস্তুত করার জন্য প্রয়োজনীয়। গ্লোবালি ইনস্টল করার সময় npm-এর সতর্কবার্তায় উল্লেখ করা প্যাকেজগুলোর অনুমতি দিন। OmniRoute 3.8.54 দ্বারা রিপোর্ট করা প্যাকেজ সেটের জন্য:
>
> ```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
> ```
>
> রিলিজভেদে নির্ভরতা তালিকা পরিবর্তিত হতে পারে; npm ভিন্ন তালিকা জানালে সেই সতর্কবার্তায় থাকা প্যাকেজের নাম ব্যবহার করুন। কোনো প্যাকেজের অনুমতি দিলে তার ইনস্টল script চালানোর অনুমতি দেওয়া হয়।
> **Gemini Web বা অন্য কোনো web-cookie provider ব্যবহার করছেন?** npm প্যাকেজে
> Playwright আছে, কিন্তু এর Chromium binary নেই। প্রথম web-provider request পাঠানোর আগে
> [Playwright Chromium setup](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> নোটটি দেখুন।
ড্যাশবোর্ড `http://localhost:20128`-এ · API `http://localhost:20128/v1`-এ।
**২) নিজের অ্যাকাউন্ট ব্যবহার করে একটি উপযুক্ত provider সংযুক্ত করুন**
ড্যাশবোর্ড → **Providers** → আপনার ব্যবহারের ধরন অনুযায়ী বর্তমান শর্তাবলি ও কোটা উপযুক্ত এমন একটি provider বেছে নিন → তার API key যোগ করুন অথবা account flow সম্পূর্ণ করুন। ফ্রি tier-এর জন্য signup, approval বা payment method প্রয়োজন হতে পারে। [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md) দেখুন; keyless availability নিশ্চিত নয়, এবং `tos: avoid` চিহ্নিত provider-গুলো ডিফল্টভাবে `auto` থেকে বাদ থাকে।
**৩) আপনার coding tool নির্দেশ করুন**
```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"
```
আপনার সংযুক্ত model-গুলোর তালিকা দেখতে পাবেন। 🎉 এতটুকুই — coding শুরু করুন, OmniRoute আপনার জন্য স্বয়ংক্রিয়ভাবে route ও fallback করবে।
আপনার client custom header পাঠাতে না পারলে OmniRoute token-যুক্ত 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
```
শুধু এমন client-এর জন্য এগুলো ব্যবহার করুন, যেগুলো `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 প্যাকেজ নেই।
৮,৪০০টিরও বেশি ট্র্যাক করা টেস্ট ফাইলে থাকা ৬০,০০০টিরও বেশি স্ট্যাটিক টেস্ট ডিক্লারেশনের জন্য টেস্ট কভারেজ কৌশল
# ⭐ শীর্ষ অবদানকারীরা
> OmniRoute একটি উৎসাহী ওপেন-সোর্স কমিউনিটির অবদানে গড়ে উঠেছে। এই ব্যক্তিরা এমন অসাধারণ অবদান রেখেছেন, যা প্রকল্পের গুণমান, স্থিতিশীলতা ও বিস্তারে সরাসরি প্রভাব ফেলেছে। **ধন্যবাদ।**
### মার্জ করা pull request অনুযায়ী বহিরাগত অবদানকারীরা
লাইভ release/v3.8.53 টিপ 05bc048d6c ব্যবহার করে 2026-11-03 03:01:19 UTC-তে গণনা করা হয়েছে। পৃষ্ঠাভিত্তিক GitHub GraphQL গণনায় মোট 9,947টি মার্জ করা PR রয়েছে: রিপোজিটরির মালিকের 4,130টি, Dependabot-এর 240টি, অন্যান্য বট/অ্যাপের 6টি এবং 883 জন স্বতন্ত্র অবদানকারীর 5,571টি বহিরাগত PR। “পরিবর্তিত লাইন” হলো GitHub-এর সংযোজন + বিয়োজন এবং এতে জেনারেট করা ফাইল, লকফাইল, ক্যাটালগ, অনুবাদ ও ডকুমেন্টেশন অন্তর্ভুক্ত; এটি churn, রচিত LOC নয়। 53টি PR-এ GitHub diff 500,000 লাইনের বেশি বলে দেখা যায় (উদাহরণস্বরূপ #13399-এ, যা একটি একক provider সংযোজন, 2,347টি পরিবর্তিত ফাইলের তালিকা রয়েছে), ফলে উপরের কয়েকটি মোট সংখ্যা বেড়ে গেছে। সমান অবস্থানের র্যাঙ্ক একসঙ্গে দেখানো হয়েছে।
### GitHub-এ আরোপিত কমিট
2026-11-03 02:09:16 UTC-তে পুনরায় যাচাই করা হয়েছে: release/v3.8.53 ডিফল্ট ব্রাঞ্চের জন্য রিপোজিটরির Contributors API কর্তৃক রিপোর্ট করা GitHub-নির্ধারিত কমিট। API 903টি পরিচয় ফেরত দিয়েছে (429 জন ব্যবহারকারী, 2টি বট, 472টি নামহীন); এই টেবিলে রক্ষণাবেক্ষণকারী, বট এবং নামহীন পরিচয় অন্তর্ভুক্ত করা হয়নি এবং সমান অবস্থানগুলো রাখা হয়েছে। এটি উপরের merged-PR র্যাঙ্কিং এবং নিচের Git-মেটাডেটা গণনা—উভয়টির থেকেই পৃথক।
> 🙏 এই অবদানকারীদের বৈশিষ্ট্য, বাগ সমাধান এবং অবকাঠামোগত উন্নতিগুলো OmniRoute-কে নির্ভরযোগ্য ও সমৃদ্ধ বৈশিষ্ট্যসমৃদ্ধ করে তোলার **মূল অংশ**। প্রতিটি pull request, প্রতিটি টেস্ট কেস এবং প্রতিটি 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-কে বিনামূল্যে ও স্বাধীন রাখে।
## 👥 ১,০০০+ অবদানকারী
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
২০২৬-১১-০২ তারিখে লাইভ release/v3.8.53 টিপ 1c7135e0fb-এ (৭,৯৭২টি কমিট) অডিট করা হয়েছে: ১,০৭৪টি স্বাভাবিকীকৃত মানব Git পরিচয় — ৭৫৯টি কমিটের লেখক হিসেবে দেখা যায় (মেইনটেইনারসহ) এবং ৩১৫টি কেবলমাত্র স্পষ্ট Co-authored-by ট্রেলারে রয়েছে। এই গণনায় .mailmap প্রয়োগ করা হয়, ই-মেইল ঠিকানাগুলোর তুলনা কেস-অনসেনসিটিভভাবে করা হয়, সংখ্যাসূচক ও সাধারণ GitHub noreply ঠিকানাগুলো কেবল একই হ্যান্ডেল এনকোড করলে একত্র করা হয়, ২৯টি বট/এজেন্ট/সার্ভিস/প্লেসহোল্ডার পরিচয় বাদ দেওয়া হয়, এবং শুধু প্রদর্শিত নাম মিলে গেলেই সাধারণ ই-মেইল ঠিকানাগুলো একত্র করা হয় না। ২০২৬-০৮-২৪-এর অডিটে ৬৩৯ জন প্রকাশিত হয়েছিল; সেই অডিটের বেস ac02c5b42f-এ এই পদ্ধতি পুনরায় চালিয়ে ৬১৯ জন পাওয়া যায়, তাই বৃদ্ধিটি নতুন অবদানকারীদের কারণে, আরও শিথিল পদ্ধতির কারণে নয়।
### কীভাবে অবদান রাখবেন
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` ব্রাঞ্চ** সেট করে একটি পুল রিকোয়েস্ট খুলুন
বিস্তারিত নির্দেশনার জন্য [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-এর একটি নির্দিষ্ট অংশ গড়ে তুলেছে। তাদের সকলকে জানাই আমাদের কৃতজ্ঞতা। 🙏
> ⭐ 3 নভেম্বর, 2026 তারিখে GitHub-এর REST API থেকে star-এর সংখ্যা যাচাই করা হয়েছে — এই প্রকল্পগুলিকে গিয়ে একটি star দিন। সংখ্যাগুলো নির্দিষ্ট তারিখের একটি সঠিক snapshot এবং স্বাভাবিকভাবেই পরিবর্তিত হবে।
### 🧬 উত্তরাধিকার ও gateway
এই AI gateway-এর public pricing dataset আমাদের cost-tracking sync-এ data সরবরাহ করে এবং এর provider-normalization model আমাদের routing-কে প্রভাবিত করেছে।
MIT source-কে vendored ChatGPT Web → Codex Responses bridge-এ অভিযোজিত করা হয়েছে, যার মধ্যে browser-session, response-framing, usage এবং web-search adapter অন্তর্ভুক্ত।
এর 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 lineage-এ সংরক্ষিত হয়েছে।
Grok payload ও device default, Statsig generator এবং result.response processor-এর অন্তর্নিহিত MIT source, যা TQZHR এবং grok2api-merged-এর মাধ্যমে বহন করা হয়েছে।
এর proxy-pool layer-এর জন্য grok2api-merged যে transitive source-কে কৃতিত্ব দিয়েছে; OmniRoute এই lineage notice সংরক্ষণ করে, তবে তার সীমাবদ্ধ Grok Web executor-এ proxy-pool port করার দাবি করে না।
এর HTTP/browser upstream design-এর জন্য মূল Grok Web implementation পরামর্শ হিসেবে ব্যবহৃত হয়েছে; এর direct HTTP path GrokProxy থেকে উদ্ভূত, তাই কোনো স্বতন্ত্র code port-এর দাবি করা হয় না।
ভাইরাল "কেন অনেক টোকেন ব্যবহার করবে, যখন অল্প কয়েকটি টোকেনেই কাজ চলে" প্রকল্প — এর caveman-speak দর্শন আমাদের স্ট্যান্ডার্ড কম্প্রেশন মোড এবং ৩০টিরও বেশি filler/condensation নিয়মকে শক্তি জোগায়।
PT-BR token compression — এটি আমাদের pt-BR language pack-কে শক্তি জোগায়: Brazilian-Portuguese grammar-এর জন্য pleonasm reduction এবং filler removal-এ সূক্ষ্মভাবে সামঞ্জস্য করা হয়েছে।
Rust columnar-JSON + content-addressed retrieve + cross-message dedup — এটি আমাদের headroom/ccr/session-dedup engine design এবং cache-stable "compressed form is position-independent" invariant-কে যাচাই করেছে।
কোডিং-সহায়ক ↔ LLM ট্রাফিকের MITM interception/analysis থেকে প্রাথমিক Traffic Inspector-এর প্রয়োজনীয়তাগুলো নির্ধারিত হয়েছে। আগে থেকে উদ্ভূত চারটি মডিউল — SSE merging, conversation normalization, secret masking এবং header sanitization — এখন সর্বজনীন প্রোটোকল মানের ভিত্তিতে তৈরি স্বাধীন clean-room implementation দ্বারা প্রতিস্থাপিত হয়েছে। দুটি host-passthrough surface (passthrough.ts এবং _internal/bypass.cjs) OmniRoute-এর অভ্যন্তরীণ implementation হিসেবে স্বাধীনভাবে শ্রেণিবদ্ধ রয়েছে; এই প্রতিস্থাপনের অংশ হিসেবে এগুলো পুনর্লিখন করা হয়নি।
প্রতি-প্রসেস স্বচ্ছ প্রক্সি রাউটিং — আমাদের crash-safe MITM teardown, socket idle-timeouts, /proc process attribution এবং TPROXY capture-কে অনুপ্রাণিত করেছে।
secure-by-default লাইব্রেরির একটি বাছাইকৃত তালিকা, যা আমাদের নিরাপত্তা-সংক্রান্ত পছন্দগুলোকে নির্দেশনা দেয় (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)।
**[⬆ শীর্ষে ফিরে যান](#-omniroute)** · ওপেন-সোর্স AI কমিউনিটির জন্য ❤️ দিয়ে তৈরি।
Diego Souza-এর তৈরি · OmniRoute v3.8.54 · Node ≥22.22.2 · এমআইটি লাইসেন্স · omniroute.online