প্রকল্প সম্পর্কে
# উইভ রাউটার
**একটি এন্ডপয়েন্ট। প্রতিটি মডেল। সবসময় সঠিকটি।**
উইভ রাউটার হল অ্যানথ্রপিক, ওপেনএআই এবং জেমিনির জন্য একটি ড্রপ-ইন প্রক্সি যা স্বয়ংক্রিয়ভাবে প্রতিটি অনুরোধের জন্য সেরা মডেল নির্বাচন করে। এটি ভাইব-ভিত্তিক প্রম্পট ব্যবহার না করে, আপনার সক্রিয় প্রদানকারীদের থেকে প্রতিটি অনুরোধ সঠিক মডেলে রুট করার জন্য [Avengers-Pro](https://arxiv.org/abs/2508.12631) গবেষণাপত্র থেকে প্রাপ্ত একটি ক্লাস্টার স্কোরার সহ একটি ছোট অন-বক্স এম্বেডার ব্যবহার করে।
## মূল বৈশিষ্ট্য
- **প্রতি অ্যাকশনে রুট করে** — একটি ক্লাস্টার স্কোরার প্রতিটি আপস্ট্রিম API অনুরোধের জন্য সঠিক মডেল নির্বাচন করে, প্রতি টার্নের পরিবর্তে প্রতি অ্যাকশনে রুট করে।
- **সবার API বোঝে** — অ্যানথ্রপিক মেসেজেস, ওপেনএআই চ্যাট কমপ্লিশন এবং জেমিনি নেটিভ API সমর্থন করে, যার মধ্যে স্ট্রিমিং, টুলস এবং ভিশন অন্তর্ভুক্ত।
- **OSS-ও জানে** — ওপেনরাউটার বা যেকোনো OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্টের মাধ্যমে DeepSeek, Kimi, GLM, Qwen, Llama এবং Mistral সমর্থন করে।
- **ডিফল্টভাবে আপনার নিজের কী (BYOK)** — প্রদানকারী কী আপনার বক্সে থাকে, বিশ্রামে এনক্রিপ্ট করা।
- **পর্যবেক্ষণযোগ্য** — OTLP ট্রেস আউট অফ দ্য বক্স, উইভ ড্যাশবোর্ড বা Honeycomb, Datadog, Grafana-এর মতো যেকোনো OTLP-সামঞ্জস্যপূর্ণ কালেক্টরে দেখা যায়।
## দ্রুত শুরু
শুরু করার দ্রুততম উপায় হল হোস্টেড উইভ রাউটার:
```bash
npx @weave-os/router
```
ইনস্টলার জিজ্ঞাসা করে কোন টুল (Claude Code, Codex, opencode, বা pi), আপনাকে স্কোপ (ব্যবহারকারী বনাম প্রকল্প) মাধ্যমে নিয়ে যায়, একটি রাউটার কী নেয় এবং সঠিক কনফিগার ফাইল সংযুক্ত করে। অন্যান্য ফ্লেভার:
```bash
npx @weave-os/router --claude # পিকার এড়িয়ে যান, Claude Code
npx @weave-os/router --codex # পিকার এড়িয়ে যান, OpenAI Codex CLI
npx @weave-os/router --opencode # পিকার এড়িয়ে যান, opencode
npx @weave-os/router --pi # পিকার এড়িয়ে যান, pi + Loom UI
npx @weave-os/router --scope project # প্রতি-রেপো, settings.json কমিট করে
npx @weave-os/router --local # স্ব-হোস্টেড localhost:8080
npx @weave-os/router --base-url https://router.acme.internal
npx @weave-os/router@0.1.0 # একটি ভার্সন পিন করুন
```
Node ≥ 18 প্রয়োজন। সম্পূর্ণ ফ্ল্যাগ রেফারেন্স [install/npm/README.md](install/npm/README.md)-এ রয়েছে।
## স্ব-হোস্টিং
আপনার নিজের বক্সে রাউটার এবং ড্যাশবোর্ড চালাতে:
```bash
# 1. একটি প্রদানকারী কী দিন। ওপেনরাউটার প্রস্তাবিত বেসলাইন।
echo "OPENROUTER_API_KEY=sk-or-v1-..." >> .env.local
# 2. একটি ড্যাশবোর্ড পাসওয়ার্ড সেট করুন।
echo "ROUTER_ADMIN_PASSWORD=replace-with-a-strong-password" >> .env.local
# 3. :8080-এ Postgres + রাউটার বুট করুন এবং একটি rk_ কী সিড করুন।
make full-setup
```
রাউটার http://localhost:8080-এ, ড্যাশবোর্ড http://localhost:8080/ui/-এ এবং আপনার `rk_...` কী লগে প্রিন্ট হয়।
### উদাহরণ API কল
```bash
# অ্যানথ্রপিকের মতো কল করুন
curl -sS http://localhost:8080/v1/messages \
-H "Authorization: Bearer rk_..." \
-d '{"model":"claude-sonnet-4-5","max_tokens":256,
"messages":[{"role":"user","content":"hi"}]}'
# ...অথবা ওপেনএআইয়ের মতো
curl -sS http://localhost:8080/v1/chat/completions \
-H "Authorization: Bearer rk_..." \
-d '{"model":"gpt-4o-mini",
"messages":[{"role":"user","content":"hi"}]}'
# প্রক্সি না করে রাউটিং সিদ্ধান্ত দেখুন
curl -sS http://localhost:8080/v1/route -H "Authorization: Bearer rk_..." -d '...'
```
## আর্কিটেকচার
শুধুমাত্র ধূসর বক্সগুলি আপনার মেশিনের বাইরে। রাউটার, স্কোরার, Postgres এবং আপনার প্রদানকারী কী সব স্থানীয় থাকে; প্রম্পট রাউটার থেকে সরাসরি আপনার কনফিগার করা প্রদানকারীর কাছে যায়, কখনোই উইভে নয়।
```mermaid
flowchart LR
client["Claude Code, Codex, opencode,<br/>pi, Cursor, আপনার নিজস্ব অ্যাপ"]
router["Router :8080<br/>/v1/messages · /v1/chat/completions<br/>/v1beta/models · /v1/route"]
scorer["Cluster scorer<br/>ইন-প্রসেস ONNX embedder"]
hmm["HMM policy sidecar :8093<br/>ঐচ্ছিক, make up-hmm"]
pg[("Postgres<br/>ইনস্টলেশন, rk_ কী,<br/>এনক্রিপ্টেড BYOK কী, ব্যবহার")]
ui["Dashboard /ui<br/>শুধুমাত্র স্ব-হোস্টেড মোড"]
providers["Anthropic · OpenAI · Gemini<br/>OpenRouter এবং যেকোনো<br/>OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট"]
otel["আপনার OTLP কালেক্টর<br/>Honeycomb, Datadog, Grafana"]
client -->|"rk_… bearer token,<br/>স্ট্রিমড রেসপন্স ফিরে"| router
router -->|"অ্যাকশন এম্বেড এবং স্কোর করুন"| scorer
router -.->|"ROUTER_DEFAULT_STRATEGY=hmm"| hmm
router -->|"auth, config, ব্যবহার"| pg
pg --> ui
router -->|"পরিবেশ বা BYOK থেকে প্রদানকারী কী"| providers
router -.->|"স্প্যান এবং ব্যবহার লগ"| otel
```
মাল্টি-রেপ্লিকা ডিপ্লয়মেন্টের জন্য ক্যাশে ইনভালিডেশনের জন্য Pub/Sub (`PUBSUB_*`) প্রয়োজন; `docker compose` আপনার জন্য এমুলেটর চালায়।
## ঐচ্ছিক: HMM পলিসি সাইডকার
ডিফল্ট স্ট্যাক ইন-প্রসেস ক্লাস্টার স্কোরার ব্যবহার করে। ফ্রোজেন HMM পলিসি একটি কম্প্যানিয়ন কন্টেইনার হিসেবে চালাতে, একটি Google API কী যোগ করুন এবং অপ্ট-ইন টার্গেট ব্যবহার করুন:
```bash
echo 'GOOGLE_API_KEY=...' >> .env.local
make up-hmm
```
এটি ডিফল্ট কৌশল পরিবর্তন করে না। আর্টিফ্যাক্ট ভেরিফিকেশন, এম্বেডিং সামঞ্জস্য এবং স্পষ্ট HMM নির্বাচনের জন্য [sidecars/hmm/README.md](sidecars/hmm/README.md) দেখুন।
## টুল ইন্টিগ্রেশন
**Claude Code.** স্থানীয় স্ব-হোস্টেড রাউটারে Claude Code সংযোগ করতে `make install-cc` চালান (`make full-setup`-এর শেষে স্বয়ংক্রিয়ভাবে আহ্বান করা হয়)। হোস্টেড রাউটারের জন্য, উপরের `npx @weave-os/router` ব্যবহার করুন।
**Codex** (OpenAI CLI)। `npx @weave-os/router --codex` একটি পরিচালিত `[model_providers.weave]` ব্লক সহ `~/.codex/config.toml` (অথবা `--scope project` সহ `<repo>/.codex/config.toml`) প্যাচ করে এবং `model_provider = "weave"` সেট করে। প্রদানকারী Codex-এর বিদ্যমান ChatGPT OAuth লগইন সংরক্ষণ করে যখন রাউটার কী একটি `X-Weave-Router-Key` HTTP হেডারে চলে।
## লাইসেন্স
ইলাস্টিক লাইসেন্স v2 (ELv2) এর অধীনে লাইসেন্সপ্রাপ্ত।
---
*[Weave](https://www.workweave.ai) দ্বারা নির্মিত: #1 ইঞ্জিনিয়ারিং ইন্টেলিজেন্স প্ল্যাটফর্ম, Robinhood, PostHog, Reducto এবং আরও শত শতের দ্বারা প্রিয়।*
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.