Files
OmniRoute/docs/i18n/vi

🚀 OmniRoute — The Free AI Gateway (Tiếng Việt)

🌐 Languages: 🇺🇸 English · 🇪🇸 es · 🇫🇷 fr · 🇩🇪 de · 🇮🇹 it · 🇷🇺 ru · 🇨🇳 zh-CN · 🇯🇵 ja · 🇰🇷 ko · 🇸🇦 ar · 🇮🇳 hi · 🇮🇳 in · 🇹🇭 th · 🇻🇳 vi · 🇮🇩 id · 🇲🇾 ms · 🇳🇱 nl · 🇵🇱 pl · 🇸🇪 sv · 🇳🇴 no · 🇩🇰 da · 🇫🇮 fi · 🇵🇹 pt · 🇷🇴 ro · 🇭🇺 hu · 🇧🇬 bg · 🇸🇰 sk · 🇺🇦 uk-UA · 🇮🇱 he · 🇵🇭 phi · 🇧🇷 pt-BR · 🇨🇿 cs · 🇹🇷 tr


Never stop coding. Smart routing to FREE & low-cost AI models with automatic fallback.

Proxy API phổ quát của bạn — một điểm cuối, hơn 60 nhà cung cấp, không có thời gian ngừng hoạt động. Hiện cóMáy chủ MCP (25 công cụ),Giao thức A2A,Hệ thống bộ nhớ/kỹ năng&Ứng dụng máy tính để bàn điện tử.

Hoàn thành cuộc trò chuyện • Nhúng · Tạo hình ảnh · Video · Âm nhạc · Âm thanh · Sắp xếp lại ·Tìm kiếm trên web· Máy chủ MCP · Giao thức A2A · 100% TypeScript---

npm version Docker Hub

NPM Downloads NPM Downloads

NPM Downloads Docker Pulls GitHub Downloads (all assets, all releases)

stars open issues license last commit total contributions code size pr closed tag github streak followers fork watch

License Website WhatsApp

🌐 Trang web🚀 Bắt đầu nhanh💡 Tính năng • [📖 Tài liệu](#-tài liệu) • [💰 Giá](#-giá trong nháy mắt) • 💬 WhatsApp

🌐Có sẵn trong:🇺🇸 Tiếng Anh | 🇧🇷 Português (Brasil) | 🇪🇸 Tiếng Tây Ban Nha | 🇫🇷 Français | 🇮🇹 tiếng Ý | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Tiếng Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Tiếng Bahasa Melayu | 🇳🇱 Hà Lan | 🇳🇴 Norsk | 🇵🇹 Português (Bồ Đào Nha) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Philippines | 🇨🇿 Čeština---

🖼️ Main Dashboard

OmniRoute Dashboard

📸 Dashboard Preview

<chi tiết>

Nhấp để xem ảnh chụp màn hình trang tổng quan
Trang Ảnh chụp màn hình
Nhà cung cấp Nhà cung cấp
Combo Combos
Phân tích Analytics
Sức khỏe Sức khỏe
Người dịch Translator
Cài đặt Cài đặt
Công cụ CLI Công cụ CLI
Nhật ký sử dụng Cách sử dụng
Điểm cuối Điểm cuối

🤖 Free AI Provider for your favorite coding agents

Kết nối mọi công cụ IDE hoặc CLI được hỗ trợ bởi AI thông qua OmniRoute — cổng API miễn phí để mã hóa không giới hạn.

<bảng>

OpenClaw
OpenClaw

205K NanoBot
NanoBot

20,9K PicoClaw
PicoClaw

14,6K ZeroClaw
ZeroClaw

9,9K IronClaw
Móng vuốt sắt

2.1K OpenCode
Mã mở

106K Codex CLI
Codex CLI

60,8K Mã Claude
Mã Claude

67,3K Gemini CLI
Song Tử CLI

94,7K Mã Kilo
Mã Kilo

15,5K

📡 Tất cả đại lý kết nối qua http://localhost:20128/v1 hoặc http://cloud.omniroute.online/v1 — một cấu hình, mô hình và hạn ngạch không giới hạn---

🤔 Why OmniRoute?

Ngưng lãng phí tiền và đạt đến giới hạn:

  • Hạn mức đăng ký hết hạn không được sử dụng hàng tháng
  • Giới hạn tốc độ ngăn bạn viết mã giữa chừng
  • API đắt ($20-50/tháng cho mỗi nhà cung cấp)
  • Chuyển đổi thủ công giữa các nhà cung cấp

OmniRoute giải quyết vấn đề này:

  • Tối đa hóa số lượt đăng ký- Theo dõi hạn ngạch, sử dụng từng bit trước khi đặt lại
  • Tự động dự phòng- Đăng ký → Khóa API → Giá rẻ → Miễn phí, không có thời gian ngừng hoạt động
  • Nhiều tài khoản- Luân chuyển giữa các tài khoản cho mỗi nhà cung cấp
  • Universal- Hoạt động với Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, mọi công cụ CLI---

📧 Support

💬Tham gia cộng đồng của chúng tôi!Nhóm WhatsApp — Nhận trợ giúp, chia sẻ mẹo và luôn cập nhật.

-Trang web: omniroute.online -GitHub: github.com/diegosouzapw/OmniRoute -Vấn đề: github.com/diegosouzapw/OmniRoute/issues -WhatsApp: Nhóm cộng đồng -Đóng góp: Xem CONTRIBUTING.md, mở PR hoặc chọn ấn bản đầu tiên hay -Dự án gốc: 9router của decolua### 🐛 Reporting a Bug?

Khi mở một vấn đề, vui lòng chạy lệnh system-info và đính kèm tệp được tạo:```bash npm run system-info


Điều này tạo ra một `system-info.txt` với phiên bản Node.js, phiên bản OmniRoute, chi tiết hệ điều hành, các công cụ CLI đã cài đặt (qoder, gemini, claude, codex, antiGravity, droid, v.v.), trạng thái Docker/PM2 và các gói hệ thống — mọi thứ chúng tôi cần để tái hiện vấn đề của bạn một cách nhanh chóng. Đính kèm tệp trực tiếp vào vấn đề GitHub của bạn.---

## 🔄 How It Works

┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking + Embeddings + Images │ │ • Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited)

Result: Never stop coding, minimal cost


---

## 🎯 What OmniRoute Solves — 30 Real Pain Points & Use Cases

>**Mọi nhà phát triển sử dụng công cụ AI đều phải đối mặt với những vấn đề này hàng ngày.**OmniRoute được xây dựng để giải quyết tất cả — từ chi phí vượt mức cho đến chặn khu vực, từ luồng OAuth bị hỏng đến hoạt động giao thức và khả năng quan sát của doanh nghiệp.

<chi tiết>
<tóm tắt><b>💸 1. "Tôi trả tiền cho một thuê bao đắt tiền nhưng vẫn bị gián đoạn bởi các giới hạn"</b></summary>

Các nhà phát triển trả 20200 USD/tháng cho Claude Pro, Codex Pro hoặc GitHub Copilot. Ngay cả khi trả tiền, hạn ngạch vẫn có mức trần - 5 giờ sử dụng, giới hạn hàng tuần hoặc giới hạn tốc độ mỗi phút. Giữa phiên mã hóa, nhà cung cấp ngừng phản hồi và nhà phát triển mất đi dòng chảy và năng suất.

**Cách OmniRoute giải quyết vấn đề này:**

-**Dự phòng 4 tầng thông minh**— Nếu hết hạn ngạch đăng ký, tự động chuyển hướng đến Khóa API → Giá rẻ → Miễn phí mà không cần can thiệp thủ công
-**Theo dõi giới hạn của nhà cung cấp**— Ảnh chụp nhanh hạn ngạch được lưu trong bộ nhớ đệm làm mới theo lịch trình phía máy chủ (mặc định `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES=70`) với tính năng làm mới thủ công có sẵn trong giao diện người dùng
-**Hỗ trợ nhiều tài khoản**— Nhiều tài khoản cho mỗi nhà cung cấp với tính năng tự động quay vòng — khi hết một tài khoản, hãy chuyển sang tài khoản tiếp theo
-**Combo tùy chỉnh**— Chuỗi dự phòng có thể tùy chỉnh với 9 chiến lược cân bằng (ưu tiên, có trọng số, điền trước, quay vòng, P2C, ngẫu nhiên, ít sử dụng nhất, tối ưu hóa chi phí, ngẫu nhiên nghiêm ngặt)
-**Hạn ngạch kinh doanh Codex**— Giám sát hạn ngạch không gian làm việc của Doanh nghiệp/Nhóm trực tiếp trong bảng điều khiển</details>

<chi tiết>
<summary><b>🔌 2. "Tôi cần sử dụng nhiều nhà cung cấp nhưng mỗi nhà cung cấp có một API khác nhau"</b></summary>

OpenAI sử dụng một định dạng, Claude (Anthropic) sử dụng một định dạng khác, Gemini lại sử dụng một định dạng khác. Nếu nhà phát triển muốn thử nghiệm các mô hình từ các nhà cung cấp khác nhau hoặc dự phòng giữa các nhà cung cấp đó, họ cần phải định cấu hình lại SDK, thay đổi điểm cuối, xử lý các định dạng không tương thích. Các nhà cung cấp tùy chỉnh (FriendLI, NIM) có các điểm cuối mô hình không chuẩn.

**Cách OmniRoute giải quyết vấn đề này:**

-**Điểm cuối hợp nhất**— Một `http://localhost:20128/v1` duy nhất đóng vai trò là proxy cho tất cả hơn 60 nhà cung cấp
-**Dịch định dạng**— Tự động và minh bạch: OpenAI ↔ Claude ↔ Gemini ↔ API phản hồi
-**Sạch hóa phản hồi**— Loại bỏ các trường không chuẩn (`x_groq`, `usage_breakdown`, `service_tier`) phá vỡ OpenAI SDK v1.83+
-**Chuẩn hóa vai trò**— Chuyển đổi `nhà phát triển` → `hệ thống` cho các nhà cung cấp không phải OpenAI; `system` → `user` cho GLM/ERNIE
-**Trích xuất thẻ suy nghĩ**— Trích xuất các khối `<think>` từ các mô hình như DeepSeek R1 thành `reasoning_content` được tiêu chuẩn hóa
-**Đầu ra có cấu trúc cho Gemini**— `json_schema` → `responseMimeType`/`responseSchema` chuyển đổi tự động
-**`stream` mặc định là `false`**— Căn chỉnh với thông số OpenAI, tránh SSE không mong muốn trong SDK Python/Rust/Go</details>

<chi tiết>
<tóm tắt><b>🌐 3. "Nhà cung cấp AI của tôi chặn khu vực/quốc gia của tôi"</b></summary>

Các nhà cung cấp như OpenAI/Codex chặn quyền truy cập từ các khu vực địa lý nhất định. Người dùng gặp phải các lỗi như `unsupported_country_zone_territory` trong quá trình kết nối OAuth và API. Điều này đặc biệt gây khó chịu cho các nhà phát triển từ các nước đang phát triển.

**Cách OmniRoute giải quyết vấn đề này:**

-**Cấu hình proxy 3 cấp**— Proxy có thể định cấu hình ở 3 cấp độ: toàn cầu (tất cả lưu lượng truy cập), mỗi nhà cung cấp (chỉ một nhà cung cấp) và mỗi kết nối/khóa
-**Huy hiệu proxy được mã hóa màu**— Chỉ báo trực quan: 🟢 proxy toàn cầu, 🟡 proxy nhà cung cấp, 🔵 proxy kết nối, luôn hiển thị IP
-**Trao đổi mã thông báo OAuth thông qua proxy**— Luồng OAuth cũng đi qua proxy, giải quyết `unsupported_country_zone_territory`
-**Kiểm tra kết nối qua Proxy**— Kiểm tra kết nối sử dụng proxy đã định cấu hình (không cần bỏ qua trực tiếp nữa)
-**Hỗ trợ SOCKS5**— Hỗ trợ proxy SOCKS5 đầy đủ cho định tuyến đi
-**Giả mạo dấu vân tay TLS**— Dấu vân tay TLS giống trình duyệt thông qua `wreq-js` để vượt qua khả năng phát hiện bot
-**🔏 Khớp dấu vân tay CLI**— Sắp xếp lại các tiêu đề và trường nội dung để khớp với chữ ký nhị phân CLI gốc, giảm đáng kể rủi ro gắn cờ tài khoản. IP proxy được giữ nguyên — bạn có được cả mặt nạ IP**và**ẩn cùng lúc</details>

<chi tiết>
<tóm tắt><b>🆓 4. "Tôi muốn sử dụng AI để viết mã nhưng tôi không có tiền"</b></summary>

Không phải ai cũng có thể trả 20200 USD/tháng để đăng ký AI. Sinh viên, nhà phát triển từ các quốc gia mới nổi, những người có sở thích và người làm việc tự do cần được tiếp cận với các mô hình chất lượng với chi phí bằng 0.

**Cách OmniRoute giải quyết vấn đề này:**

-**Tích hợp sẵn nhà cung cấp cấp miễn phí**— Hỗ trợ riêng cho nhà cung cấp miễn phí 100%: Qoder (5 mô hình không giới hạn qua OAuth: kimi-k2-thinking, qwen3-code-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen (4 mô hình không giới hạn: qwen3-code-plus, qwen3-code-flash, qwen3-code-next, Vision-model), Kiro (Claude + AWS Builder ID miễn phí), Gemini CLI (miễn phí 180K token/tháng)
-**Ollama Cloud**— Các mô hình Ollama được lưu trữ trên đám mây tại `api.ollama.com` với bậc "Sử dụng nhẹ" miễn phí; sử dụng tiền tố `ollamacloud/<model>`
-**Combo chỉ miễn phí**— Chuỗi `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-code-plus` = $0/tháng mà không có thời gian ngừng hoạt động
-**Truy cập miễn phí NVIDIA NIM**— ~40 RPM dành cho nhà phát triển - truy cập miễn phí vĩnh viễn vào hơn 70 mẫu tại build.nvidia.com (chuyển từ tín dụng sang giới hạn tỷ lệ thuần túy)
-**Chiến lược tối ưu hóa chi phí**— Chiến lược định tuyến tự động chọn nhà cung cấp sẵn có rẻ nhất</details>

<chi tiết>
<tóm tắt><b>🔒 5. "Tôi cần bảo vệ cổng AI của mình khỏi bị truy cập trái phép"</b></summary>

Khi đưa cổng AI vào mạng (LAN, VPS, Docker), bất kỳ ai có địa chỉ đều có thể sử dụng mã thông báo/hạn ngạch của nhà phát triển. Nếu không có biện pháp bảo vệ, các API dễ bị lạm dụng, chèn ép và lạm dụng.

**Cách OmniRoute giải quyết vấn đề này:**

-**Quản lý khóa API**— Tạo, xoay vòng và xác định phạm vi cho mỗi nhà cung cấp với trang `/dashboard/api-manager` chuyên dụng
-**Quyền cấp mô hình**— Hạn chế khóa API đối với các mô hình cụ thể (`openai/*`, mẫu ký tự đại diện), với nút chuyển đổi Cho phép tất cả/Hạn chế
-**Bảo vệ điểm cuối API**— Yêu cầu khóa cho `/v1/models` và chặn các nhà cung cấp cụ thể khỏi danh sách
-**Auth Guard + CSRF Protection**— Tất cả các tuyến bảng điều khiển được bảo vệ bằng phần mềm trung gian `withAuth` + mã thông báo CSRF
-**Giới hạn tốc độ**— Giới hạn tốc độ trên mỗi IP với các cửa sổ có thể định cấu hình
-**Lọc IP**— Danh sách cho phép/danh sách chặn để kiểm soát truy cập
-**Prompt Tiêm Guard**— Khử trùng các mẫu nhắc nhở độc hại
-**Mã hóa AES-256-GCM**— Thông tin xác thực được mã hóa ở trạng thái lưu trữ</details>

<chi tiết>
<summary><b>🛑 6. "Nhà cung cấp của tôi ngừng hoạt động và tôi mất luồng mã hóa"</b></summary>

Các nhà cung cấp AI có thể trở nên không ổn định, trả về lỗi 5xx hoặc đạt giới hạn tốc độ tạm thời. Nếu một nhà phát triển phụ thuộc vào một nhà cung cấp duy nhất thì họ sẽ bị gián đoạn. Nếu không có bộ ngắt mạch, việc thử lại nhiều lần có thể làm hỏng ứng dụng.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bộ ngắt mạch trên mỗi mô hình**— Tự động mở/đóng với các ngưỡng và thời gian hồi chiêu có thể định cấu hình (Đóng/Mở/Nửa mở), trong phạm vi mỗi mô hình để tránh xếp tầng
-**Thời gian chờ theo cấp số nhân**— Độ trễ thử lại lũy tiến
-**Bầy chống sấm sét**— Mutex + bảo vệ semaphore chống lại các cơn bão thử lại đồng thời
-**Chuỗi dự phòng kết hợp**— Nếu nhà cung cấp chính không thành công, nó sẽ tự động rơi qua chuỗi mà không cần can thiệp
-**Combo Circuit Breaker**— Tự động vô hiệu hóa các nhà cung cấp bị lỗi trong chuỗi kết hợp
-**Bảng thông tin sức khỏe**— Giám sát thời gian hoạt động, trạng thái ngắt mạch, khóa, số liệu thống kê bộ nhớ đệm, độ trễ p50/p95/p99</details>

<chi tiết>
<tóm tắt><b>🔧 7. "Cấu hình từng công cụ AI thật tẻ nhạt và lặp đi lặp lại"</b></summary>

Nhà phát triển sử dụng Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Mỗi công cụ cần một cấu hình khác nhau (điểm cuối API, khóa, mô hình). Việc cấu hình lại khi chuyển đổi nhà cung cấp hoặc mô hình là một sự lãng phí thời gian.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bảng điều khiển công cụ CLI**— Trang chuyên dụng với thiết lập bằng một cú nhấp chuột cho Claude Code, Codex CLI, OpenClaw, Kilo Code, AntiGravity, Cline
-**Trình tạo cấu hình GitHub Copilot**— Tạo `chatLanguageModels.json` cho Mã VS với lựa chọn mô hình hàng loạt
-**Trình hướng dẫn tích hợp**— Thiết lập 4 bước có hướng dẫn cho người dùng lần đầu
-**Một điểm cuối, tất cả các mô hình**— Định cấu hình `http://localhost:20128/v1` một lần, truy cập hơn 60 nhà cung cấp</details>

<chi tiết>
<tóm tắt><b>🔑 8. "Quản lý mã thông báo OAuth từ nhiều nhà cung cấp là địa ngục"</b></summary>

Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Các nhà phát triển cần phải xác thực lại liên tục, xử lý lỗi `client_secret bị thiếu`, `redirect_uri_mismatch` và các lỗi trên máy chủ từ xa. OAuth trên LAN/VPS đặc biệt có vấn đề.

**Cách OmniRoute giải quyết vấn đề này:**

-**Tự động làm mới mã thông báo**— Làm mới mã thông báo OAuth ở chế độ nền trước khi hết hạn
-**Tích hợp OAuth 2.0 (PKCE)**— Luồng tự động cho Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder
-**OAuth nhiều tài khoản**— Nhiều tài khoản cho mỗi nhà cung cấp thông qua trích xuất mã thông báo JWT/ID
-**OAuth LAN/Remote Fix**— Phát hiện IP riêng cho `redirect_uri` + chế độ URL thủ công cho máy chủ từ xa
-**OAuth đằng sau Nginx**— Sử dụng `window.location.origin` để tương thích với proxy ngược
-**Hướng dẫn OAuth từ xa**— Hướng dẫn từng bước về thông tin đăng nhập Google Cloud trên VPS/Docker</details>

<chi tiết>
<tóm tắt><b>📊 9. "Tôi không biết mình đang chi bao nhiêu và ở đâu"</b></summary>

Các nhà phát triển sử dụng nhiều nhà cung cấp trả phí nhưng không có quan điểm thống nhất về chi tiêu. Mỗi nhà cung cấp có trang tổng quan thanh toán riêng nhưng không có chế độ xem tổng hợp. Chi phí bất ngờ có thể chồng chất.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bảng thông tin phân tích chi phí**— Theo dõi chi phí mỗi mã thông báo và quản lý ngân sách cho mỗi nhà cung cấp
-**Giới hạn ngân sách cho mỗi cấp**— Mức chi tiêu trần cho mỗi cấp kích hoạt dự phòng tự động
-**Cấu hình định giá theo mẫu**— Giá có thể định cấu hình cho mỗi mẫu
-**Thống kê sử dụng trên mỗi khóa API**— Số lượng yêu cầu và dấu thời gian được sử dụng lần cuối trên mỗi khóa
-**Bảng thông tin phân tích**— Thẻ thống kê, biểu đồ sử dụng mô hình, bảng nhà cung cấp với tỷ lệ thành công và độ trễ</details>

<chi tiết>
<tóm tắt><b>🐛 10. "Tôi không thể chẩn đoán lỗi và sự cố trong cuộc gọi AI"</b></summary>

Khi cuộc gọi không thành công, nhà phát triển không biết liệu đó có phải là giới hạn tốc độ, mã thông báo đã hết hạn, sai định dạng hay lỗi nhà cung cấp hay không. Nhật ký bị phân mảnh trên các thiết bị đầu cuối khác nhau. Nếu không có khả năng quan sát được thì việc gỡ lỗi chỉ là thử và sai.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bảng điều khiển nhật ký hợp nhất**— 4 tab: Nhật ký yêu cầu, Nhật ký proxy, Nhật ký kiểm tra, Bảng điều khiển
-**Trình xem nhật ký bảng điều khiển**— Trình xem kiểu thiết bị đầu cuối thời gian thực với các cấp độ được mã hóa màu, tự động cuộn, tìm kiếm, lọc
-**Nhật ký proxy SQLite**— Nhật ký liên tục vẫn tồn tại khi máy chủ khởi động lại
-**Sân chơi dịch thuật**— 4 chế độ gỡ lỗi: Sân chơi (dịch định dạng), Trình kiểm tra trò chuyện (khứ hồi), Bàn thử nghiệm (hàng loạt), Giám sát trực tiếp (thời gian thực)
-**Yêu cầu đo từ xa**— độ trễ p50/p95/p99 + truy tìm X-Request-Id
-**Ghi nhật ký dựa trên tệp có xoay vòng**— Nhật ký ứng dụng xoay vòng theo kích thước, ngày lưu giữ và số lượng lưu trữ; các tạo phẩm trong nhật ký cuộc gọi xoay vòng theo số ngày lưu giữ và số lượng tệp
-**Báo cáo thông tin hệ thống**— `npm run system-info` tạo `system-info.txt` với môi trường đầy đủ của bạn (Phiên bản nút, phiên bản OmniRoute, HĐH, công cụ CLI, trạng thái Docker/PM2). Đính kèm nó khi báo cáo vấn đề để phân loại ngay lập tức.</details>

<chi tiết>
<tóm tắt><b>🏗️ 11. "Triển khai và bảo trì cổng rất phức tạp"</b></tóm tắt>

Việc cài đặt, định cấu hình và duy trì proxy AI trên các môi trường khác nhau (cục bộ, VPS, Docker, đám mây) tốn nhiều công sức. Các vấn đề như đường dẫn được mã hóa cứng, `EACCES` trên thư mục, xung đột cổng và các bản dựng đa nền tảng sẽ gây thêm rắc rối.

**Cách OmniRoute giải quyết vấn đề này:**

-**npm cài đặt toàn cầu**— `npm cài đặt -g omniroute && omniroute` — xong
-**Docker Đa nền tảng**— AMD64 + ARM64 gốc (Apple Silicon, AWS Graviton, Raspberry Pi)
-**Docker Compose Profiles**— `base` (không có công cụ CLI) và `cli` (với Claude Code, Codex, OpenClaw)
-**Ứng dụng máy tính để bàn điện tử**— Ứng dụng gốc dành cho Windows/macOS/Linux có khay hệ thống, tự động khởi động, chế độ ngoại tuyến
-**Chế độ chia cổng**— API và Bảng điều khiển trên các cổng riêng biệt cho các tình huống nâng cao (proxy ngược, mạng vùng chứa)
-**Cloud Sync**— Đồng bộ hóa cấu hình giữa các thiết bị thông qua Cloudflare Workers
-**Sao lưu DB**— Tự động sao lưu, khôi phục, xuất và nhập tất cả cài đặt, với `DISABLE_SQLITE_AUTO_BACKUP` để sao lưu được quản lý bên ngoài</details>

<chi tiết>
<tóm tắt><b>🌍 12. "Giao diện chỉ có tiếng Anh và nhóm của tôi không nói được tiếng Anh"</b></summary>

Các đội ở các quốc gia không nói tiếng Anh, đặc biệt là ở Châu Mỹ Latinh, Châu Á và Châu Âu, gặp khó khăn với giao diện chỉ có tiếng Anh. Rào cản ngôn ngữ làm giảm khả năng tiếp nhận và tăng lỗi cấu hình.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bảng điều khiển i18n — 30 ngôn ngữ**— Tất cả hơn 500 phím được dịch bao gồm tiếng Ả Rập, tiếng Bungari, tiếng Đan Mạch, tiếng Đức, tiếng Tây Ban Nha, tiếng Phần Lan, tiếng Pháp, tiếng Do Thái, tiếng Hindi, tiếng Hungary, tiếng Indonesia, tiếng Ý, tiếng Nhật, tiếng Hàn, tiếng Mã Lai, tiếng Hà Lan, tiếng Na Uy, tiếng Ba Lan, tiếng Bồ Đào Nha (PT/BR), tiếng Rumani, tiếng Nga, tiếng Slovak, tiếng Thụy Điển, tiếng Thái, tiếng Ukraina, tiếng Việt, tiếng Trung, tiếng Philipin, tiếng Anh
-**Hỗ trợ RTL**— Hỗ trợ từ phải sang trái cho tiếng Ả Rập và tiếng Do Thái
-**README đa ngôn ngữ**— 30 bản dịch tài liệu hoàn chỉnh
-**Bộ chọn ngôn ngữ**— Biểu tượng quả cầu trong tiêu đề để chuyển đổi theo thời gian thực</details>

<chi tiết>
<tóm tắt><b>🔄 13. "Tôi cần nhiều hơn là trò chuyện — tôi cần nội dung nhúng, hình ảnh, âm thanh"</b></summary>

AI không chỉ hoàn thành cuộc trò chuyện. Nhà phát triển cần tạo hình ảnh, phiên âm âm thanh, tạo phần nhúng cho RAG, sắp xếp lại tài liệu và kiểm duyệt nội dung. Mỗi API có điểm cuối và định dạng khác nhau.

**Cách OmniRoute giải quyết vấn đề này:**

-**Embeddings**— `/v1/embeddings` với 6 nhà cung cấp và hơn 9 mô hình
-**Tạo hình ảnh**— `/v1/images/thế hệ` với 10 nhà cung cấp và hơn 20 mô hình (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, AntiGravity, SD WebUI, ComfyUI)
-**Chuyển văn bản thành video**— `/v1/video/thế hệ` — ComfyUI (AnimateDiff, SVD) và SD WebUI
-**Chuyển văn bản thành nhạc**— `/v1/music/thế hệ` — ComfyUI (Mở âm thanh ổn định, MusicGen)
-**Phiên âm âm thanh**— `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3
-**Chuyển văn bản thành giọng nói**— `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3,**Inworld**,**Cartesia**,**PlayHT**, + các nhà cung cấp hiện có
-**Kiểm duyệt**— `/v1/moderations` — Kiểm tra an toàn nội dung
-**Sắp xếp lại**— `/v1/rerank` — Sắp xếp lại mức độ liên quan của tài liệu
-**API phản hồi**— Hỗ trợ đầy đủ `/v1/responses` cho Codex</details>

<chi tiết>
<summary><b>🧪 14. "I have no way to test and compare quality across models"</b></summary>

Các nhà phát triển muốn biết mô hình nào là tốt nhất cho trường hợp sử dụng của họ — mã, dịch thuật, lý luận — nhưng việc so sánh thủ công rất chậm. Không có công cụ đánh giá tích hợp nào tồn tại.

**Cách OmniRoute giải quyết vấn đề này:**

-**Đánh giá LLM**— Bộ thử nghiệm vàng với 10 trường hợp tải sẵn bao gồm lời chào, toán, địa lý, tạo mã, tuân thủ JSON, dịch thuật, đánh dấu, từ chối an toàn
-**4 Chiến lược kết hợp**— `chính xác`, `contains`, `regex`, `custom` (hàm JS)
-**Băng thử nghiệm sân chơi dịch giả**— Thử nghiệm hàng loạt với nhiều đầu vào và đầu ra dự kiến, so sánh giữa các nhà cung cấp
-**Trình kiểm tra trò chuyện**— Toàn bộ chuyến đi với kết xuất phản hồi trực quan
-**Live Monitor**— Luồng thời gian thực của tất cả các yêu cầu truyền qua proxy</details>

<chi tiết>
<tóm tắt><b>📈 15. "Tôi cần mở rộng quy mô mà không làm giảm hiệu suất"</b></summary>

Khi khối lượng yêu cầu tăng lên mà không lưu vào bộ nhớ đệm thì các câu hỏi tương tự sẽ tạo ra chi phí trùng lặp. Nếu không có tính tạm thời, các yêu cầu trùng lặp sẽ bị lãng phí. Giới hạn tỷ lệ cho mỗi nhà cung cấp phải được tôn trọng.

**Cách OmniRoute giải quyết vấn đề này:**

-**Bộ nhớ đệm ngữ nghĩa**— Bộ nhớ đệm hai tầng (chữ ký + ngữ nghĩa) giúp giảm chi phí và độ trễ
-**Yêu cầu Idempotency**— Khoảng thời gian loại bỏ trùng lặp 5 giây cho các yêu cầu giống hệt nhau
-**Phát hiện giới hạn tỷ lệ**— RPM của mỗi nhà cung cấp, khoảng cách tối thiểu và theo dõi đồng thời tối đa
-**Giới hạn tỷ lệ có thể chỉnh sửa**— Giá trị mặc định có thể định cấu hình trong Cài đặt → Khả năng phục hồi với tính bền bỉ
-**Bộ đệm xác thực khóa API**— Bộ đệm 3 tầng cho hiệu suất sản xuất
-**Bảng thông tin sức khỏe với phép đo từ xa**— độ trễ p50/p95/p99, số liệu thống kê bộ nhớ đệm, thời gian hoạt động</details>

<chi tiết>
<summary><b>🤖 16. "Tôi muốn kiểm soát hành vi kiểu mẫu trên toàn cầu"</b></summary>

Các nhà phát triển muốn tất cả phản hồi bằng một ngôn ngữ cụ thể, với giọng điệu cụ thể hoặc muốn giới hạn các mã thông báo lý luận. Việc định cấu hình điều này trong mọi công cụ/yêu cầu là không thực tế.

**Cách OmniRoute giải quyết vấn đề này:**

-**Tiêm nhắc nhở hệ thống**— Lời nhắc chung được áp dụng cho tất cả các yêu cầu
-**Xác thực ngân sách tư duy**— Kiểm soát phân bổ mã thông báo hợp lý cho mỗi yêu cầu (chuyển qua, tự động, tùy chỉnh, thích ứng)
-**9 Chiến lược định tuyến**— Chiến lược toàn cầu xác định cách phân phối yêu cầu
-**Bộ định tuyến ký tự đại diện**— mẫu `nhà cung cấp/*` định tuyến động tới bất kỳ nhà cung cấp nào
-**Bật/Tắt kết hợp Chuyển đổi**— Chuyển đổi kết hợp trực tiếp từ bảng điều khiển
-**Chuyển đổi nhà cung cấp**— Bật/tắt tất cả kết nối cho nhà cung cấp chỉ bằng một cú nhấp chuột
-**Nhà cung cấp bị chặn**— Loại trừ các nhà cung cấp cụ thể khỏi danh sách `/v1/models`</details>

<chi tiết>
<tóm tắt><b>🧰 17. "Tôi cần các công cụ MCP như khả năng sản phẩm hạng nhất"</b></summary>

Nhiều cổng AI chỉ hiển thị MCP dưới dạng chi tiết triển khai ẩn. Các nhóm cần một lớp hoạt động rõ ràng và dễ quản lý.

**Cách OmniRoute giải quyết vấn đề này:**

- MCP xuất hiện trong tab điều hướng bảng điều khiển và giao thức điểm cuối
- Trang quản lý MCP chuyên dụng với quy trình, công cụ, phạm vi và kiểm tra
- Tích hợp tính năng khởi động nhanh cho `omniroute --mcp` và cài đặt ứng dụng khách</details>

<chi tiết>
<tóm tắt><b>🧠 18. "Tôi cần phối hợp A2A với đường dẫn tác vụ đồng bộ hóa + truyền phát"</b></summary>

Quy trình làm việc của tổng đài viên cần cả phản hồi trực tiếp và thực thi theo luồng trong thời gian dài với khả năng kiểm soát vòng đời.

**Cách OmniRoute giải quyết vấn đề này:**

- Điểm cuối JSON-RPC A2A (`POST /a2a`) với `message/send` và `message/stream`
- Truyền phát SSE với sự lan truyền trạng thái đầu cuối
- API vòng đời tác vụ cho `tasks/get` và `tasks/cancel`</details>

<chi tiết>
<tóm tắt><b>🛰️ 19. "Tôi cần tình trạng quy trình MCP thực sự, không phải trạng thái đoán"</b></summary>

Các nhóm vận hành cần biết liệu MCP có thực sự tồn tại hay không, chứ không chỉ là liệu API có thể truy cập được hay không.

**Cách OmniRoute giải quyết vấn đề này:**

- Tệp nhịp tim thời gian chạy với PID, dấu thời gian, vận chuyển, số lượng công cụ và chế độ phạm vi
- API trạng thái MCP kết hợp nhịp tim + hoạt động gần đây
- Thẻ trạng thái giao diện người dùng về độ mới của quy trình/thời gian hoạt động/nhịp tim</details>

<chi tiết>
<tóm tắt><b>📋 20. "Tôi cần thực thi công cụ MCP có thể kiểm tra được"</b></summary>

Khi các công cụ thay đổi cấu hình hoặc kích hoạt các hành động vận hành, các nhóm cần truy xuất nguồn gốc pháp lý.

**Cách OmniRoute giải quyết vấn đề này:**

- Ghi nhật ký kiểm tra được hỗ trợ bởi SQLite cho các lệnh gọi công cụ MCP
- Bộ lọc theo công cụ, thành công/thất bại, khóa API và phân trang
- Bảng kiểm tra bảng điều khiển + điểm cuối thống kê để tự động hóa</details>

<chi tiết>
<tóm tắt><b>🔐 21. "Tôi cần quyền MCP trong phạm vi mỗi lần tích hợp"</b></summary>

Các khách hàng khác nhau phải có quyền truy cập ít đặc quyền nhất vào các danh mục công cụ.

**Cách OmniRoute giải quyết vấn đề này:**

- 10 phạm vi MCP chi tiết để truy cập công cụ được kiểm soát
- Thực thi phạm vi và khả năng hiển thị trong giao diện người dùng quản lý MCP
- Tư thế mặc định an toàn cho dụng cụ vận hành</details>

<chi tiết>
<tóm tắt><b>⚙️ 22. "Tôi cần kiểm soát hoạt động mà không cần triển khai lại"</b></summary>

Các nhóm cần thay đổi thời gian chạy nhanh trong các sự cố hoặc sự kiện tốn kém.

**Cách OmniRoute giải quyết vấn đề này:**

- Chuyển đổi kích hoạt kết hợp trực tiếp từ bảng điều khiển MCP
- Áp dụng hồ sơ khả năng phục hồi từ các gói chính sách được xác định trước
- Đặt lại trạng thái ngắt mạch từ cùng bảng vận hành</details>

<chi tiết>
<tóm tắt><b>🔄 23. "Tôi cần khả năng hiển thị và hủy trực tiếp trong vòng đời nhiệm vụ A2A"</b></summary>

Nếu không có khả năng hiển thị vòng đời, các sự cố trong nhiệm vụ sẽ khó phân loại.

**Cách OmniRoute giải quyết vấn đề này:**

- Liệt kê/lọc nhiệm vụ theo trạng thái/kỹ năng với phân trang
- Xem chi tiết về siêu dữ liệu, sự kiện và hiện vật của nhiệm vụ
- Điểm cuối hủy tác vụ và hành động UI có xác nhận</details>

<chi tiết>
<tóm tắt><b>🌊 24. "Tôi cần số liệu luồng hoạt động để tải A2A"</b></summary>

Luồng công việc phát trực tuyến yêu cầu hiểu biết sâu sắc về hoạt động đồng thời và kết nối trực tiếp.

**Cách OmniRoute giải quyết vấn đề này:**

- Bộ đếm luồng hoạt động được tích hợp vào trạng thái A2A
- Dấu thời gian nhiệm vụ cuối cùng và số lượng trên mỗi trạng thái
- Thẻ bảng điều khiển A2A để theo dõi hoạt động theo thời gian thực</details>

<chi tiết>
<tóm tắt><b>🪪 25. "Tôi cần khám phá đại lý tiêu chuẩn cho khách hàng"</b></summary>

Máy khách và người điều phối bên ngoài cần siêu dữ liệu có thể đọc được bằng máy để triển khai.

**Cách OmniRoute giải quyết vấn đề này:**

- Thẻ đại lý bị lộ tại `/.well-known/agent.json`
- Khả năng và kỹ năng thể hiện trong UI quản lý
- API trạng thái A2A bao gồm siêu dữ liệu khám phá để tự động hóa</details>

<chi tiết>
<summary><b>🧭 26. "Tôi cần khả năng khám phá giao thức trong UX sản phẩm"</b></summary>

Nếu người dùng không thể khám phá các bề mặt giao thức, chất lượng chấp nhận và hỗ trợ sẽ giảm.

**Cách OmniRoute giải quyết vấn đề này:**

- Trang**Điểm cuối**được hợp nhất với các tab dành cho Điểm cuối Proxy, MCP, A2A và API
- Chuyển đổi trạng thái dịch vụ nội tuyến (Trực tuyến/Ngoại tuyến) cho MCP và A2A
- Liên kết từ tổng quan đến các tab quản lý chuyên dụng</details>

<chi tiết>
<tóm tắt><b>🧪 27. "Tôi cần xác thực giao thức end-to-end với khách hàng thực"</b></summary>

Các thử nghiệm mô phỏng không đủ để xác thực tính tương thích của giao thức trước khi phát hành.

**Cách OmniRoute giải quyết vấn đề này:**

- Bộ E2E khởi động ứng dụng và sử dụng vận chuyển máy khách MCP SDK thực
- Máy khách A2A kiểm tra các luồng khám phá, gửi, truyền phát, nhận và hủy
- Kiểm tra chéo các xác nhận đối với kiểm tra MCP và API nhiệm vụ A2A</details>

<chi tiết>
<tóm tắt><b>📡 28. "Tôi cần khả năng quan sát thống nhất trên tất cả các giao diện"</b></summary>

Việc phân chia khả năng quan sát theo giao thức sẽ tạo ra các điểm mù và MTTR dài hơn.

**Cách OmniRoute giải quyết vấn đề này:**

- Bảng điều khiển/nhật ký/phân tích thống nhất trong một sản phẩm
- Sức khỏe + kiểm toán + yêu cầu đo từ xa trên các lớp OpenAI, MCP và A2A
- API hoạt động cho trạng thái và tự động hóa</details>

<chi tiết>
<tóm tắt><b>💼 29. "Tôi cần một thời gian chạy cho proxy + công cụ + điều phối tác nhân"</b></summary>

Việc chạy nhiều dịch vụ riêng biệt làm tăng chi phí vận hành và các chế độ lỗi.

**Cách OmniRoute giải quyết vấn đề này:**

- Proxy tương thích với OpenAI, máy chủ MCP và máy chủ A2A trong một ngăn xếp
- Chia sẻ xác thực, khả năng phục hồi, lưu trữ dữ liệu và khả năng quan sát
- Mô hình chính sách nhất quán trên tất cả các bề mặt tương tác</details>

<chi tiết>
<tóm tắt><b>🚀 30. "Tôi cần gửi quy trình công việc tổng thể mà không cần sử dụng quá nhiều mã keo"</b></tóm tắt>

Các nhóm bị mất tốc độ khi kết hợp nhiều dịch vụ và tập lệnh đặc biệt.

**Cách OmniRoute giải quyết vấn đề này:**

- Chiến lược điểm cuối thống nhất cho khách hàng và đại lý
- Giao diện người dùng quản lý giao thức tích hợp và đường dẫn xác thực khói
- Nền tảng sẵn sàng sản xuất (bảo mật, ghi nhật ký, khả năng phục hồi, sao lưu)</details>

### Example Playbooks (Integrated Use Cases)

**Playbook A: Tối đa hóa đăng ký trả phí + dự phòng giá rẻ**```txt
Combo: "maximize-claude"
  1. cc/claude-opus-4-6
  2. glm/glm-4.7
  3. if/kimi-k2-thinking

Monthly cost: $20 + small backup spend
Outcome: higher quality, near-zero interruption

Playbook B: Ngăn xếp mã hóa không tốn phí```txt Combo: "free-forever"

  1. gc/gemini-3-flash
  2. if/kimi-k2-thinking
  3. qw/qwen3-coder-plus

Monthly cost: $0 Outcome: stable free coding workflow


**Playbook C: chuỗi dự phòng luôn hoạt động 24/7**```txt
Combo: "always-on"
  1. cc/claude-opus-4-6
  2. cx/gpt-5.2-codex
  3. glm/glm-4.7
  4. minimax/MiniMax-M2.1
  5. if/kimi-k2-thinking

Outcome: deep fallback depth for deadline-critical workloads

Playbook D: Tác nhân hoạt động với MCP + A2A```txt

  1. Start MCP transport (omniroute --mcp) for tool-driven operations
  2. Run A2A tasks via message/send and message/stream
  3. Observe via /dashboard/endpoint (MCP and A2A tabs)
  4. Toggle services via inline status controls

---

## 🆓 Start Free — Zero Configuration Cost

> Thiết lập mã hóa AI trong vài phút với mức**$0/tháng**. Kết nối các tài khoản miễn phí này và sử dụng combo**Free Stack**tích hợp sẵn.

| Bước | Hành động | Nhà cung cấp đã được mở khóa |
| ---- | -------------------------------------------------- | ------------------------------------------------------------------ |
| 1 | Kết nối**Kiro**(ID AWS Builder OAuth) | Claude Sonnet 4.5, Haiku 4.5 —**không giới hạn**|
| 2 | Kết nối**Qoder**(Google OAuth) | kimi-k2-thinking, qwen3-code-plus, deepseek-r1... —**không giới hạn**|
| 3 | Kết nối**Qwen**(Mã thiết bị) | qwen3-code-plus, qwen3-code-flash... —**không giới hạn**|
| 4 | Kết nối**Gemini CLI**(Google OAuth) | gemini-3-flash, gemini-2.5-pro —**180K/tháng miễn phí**|
| 5 | `/dashboard/combos` →**Mẫu ngăn xếp miễn phí ($0)**| Tự động quay vòng tất cả các nhà cung cấp miễn phí |

**Trỏ bất kỳ IDE/CLI nào tới:**`http://localhost:20128/v1` · Khóa API: `any-string` · Xong.

>**Phạm vi phủ sóng bổ sung tùy chọn (cũng miễn phí):**Khóa API Groq (miễn phí 30 RPM), NVIDIA NIM (miễn phí 40 RPM, hơn 70 mẫu), Cerebras (1 triệu tok/ngày), khóa API LongCat (50 triệu mã thông báo/ngày!), Cloudflare Workers AI (10K nơ-ron/ngày, hơn 50 mô hình).## Bắt đầu nhanh

### 1) Install and run

```bash
npm install -g omniroute
omniroute

**người dùng pnpm:**Chạy pnpm confirm-builds -g sau khi cài đặt để kích hoạt tập lệnh bản dựng gốc được yêu cầu bởi better-sqlite3@swc/core:

cài đặt pnpm -g omniroute
pnpm phê duyệt-builds -g # Chọn tất cả các gói → phê duyệt
mọi tuyến đường

Trang tổng quan mở tại http://localhost:20128 và URL cơ sở API là http://localhost:20128/v1.

Lệnh Mô tả
toàn tuyến Máy chủ khởi động (PORT=20128, API và bảng điều khiển trên cùng một cổng)
omniroute --port 3000 Đặt cổng chuẩn/API thành 3000
omniroute --mcp Khởi động máy chủ MCP (stdio Transport)
omniroute --no-open Không tự động mở trình duyệt
toàn tuyến --help Hiển thị trợ giúp

Chế độ chia cổng tùy chọn:```bash PORT=20128 DASHBOARD_PORT=20129 omniroute

API: http://localhost:20128/v1

Dashboard: http://localhost:20129


### Long-Running Streaming Timeouts

Đối với hầu hết các hoạt động triển khai, bạn chỉ cần:

| Biến | Mặc định | Mục đích |
| ------------------------ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `REQUEST_TIMEOUT_MS` | `600000` | Đường cơ sở được chia sẻ để tìm nạp ngược dòng, thời gian chờ Undici ẩn, yêu cầu vân tay TLS và yêu cầu cầu nối API/thời gian chờ proxy |
| `STREAM_IDLE_TIMEOUT_MS` | kế thừa `REQUEST_TIMEOUT_MS` | Khoảng cách tối đa giữa các đoạn phát trực tuyến trước khi OmniRoute hủy bỏ luồng SSE |

Khả năng tương thích ngược được duy trì: `FETCH_TIMEOUT_MS`, `API_BRIDGE_PROXY_TIMEOUT_MS` hiện có và các biến thời gian chờ trên mỗi lớp khác vẫn hoạt động và ghi đè đường cơ sở chung.

Ghi đè nâng cao có sẵn nếu bạn cần kiểm soát tốt hơn:| Biến | Mặc định | Mục đích |
| ---------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- |
| `FETCH_TIMEOUT_MS` | kế thừa `REQUEST_TIMEOUT_MS` | Tổng thời gian chờ yêu cầu ngược dòng được sử dụng bởi tín hiệu hủy bỏ tìm nạp chính |
| `FETCH_HEADERS_TIMEOUT_MS` | kế thừa `FETCH_TIMEOUT_MS` | Undici giới hạn thời gian nhận tiêu đề phản hồi ngược dòng |
| `FETCH_BODY_TIMEOUT_MS` | kế thừa `FETCH_TIMEOUT_MS` | Giới hạn thời gian Undici giữa các khối nội dung ngược dòng (`0` vô hiệu hóa nó) |
| `FETCH_CONNECT_TIMEOUT_MS` | `30000` | Hết thời gian chờ kết nối TCP |
| `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Undici hết thời gian chờ ổ cắm duy trì hoạt động |
| `TLS_CLIENT_TIMEOUT_MS` | kế thừa `FETCH_TIMEOUT_MS` | Hết thời gian chờ cho các yêu cầu vân tay TLS được thực hiện thông qua `wreq-js` |
| `API_BRIDGE_PROXY_TIMEOUT_MS` | kế thừa `REQUEST_TIMEOUT_MS` hoặc `30000` | Đã hết thời gian chờ chuyển tiếp proxy `/v1` từ cổng API sang cổng bảng điều khiển |
| `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `max(API_BRIDGE_PROXY_TIMEOUT_MS, 300000)` | Hết thời gian chờ yêu cầu đến trên máy chủ cầu nối API |
| `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Hết thời gian chờ tiêu đề đến trên máy chủ cầu nối API |
| `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | Thời gian chờ duy trì trên máy chủ cầu API |
| `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | Hết thời gian chờ không hoạt động của ổ cắm trên máy chủ cầu API (`0` tắt nó) |

Nếu bạn chạy OmniRoute phía sau Nginx, Caddy, Cloudflare hoặc proxy ngược khác, hãy đảm bảo proxy
thời gian chờ cũng cao hơn thời gian chờ tìm nạp/phát trực tuyến OmniRoute của bạn.### 2) Connect providers and create your API key

1. Mở Bảng điều khiển → `Nhà cung cấp` và kết nối ít nhất một nhà cung cấp (khóa OAuth hoặc API).
2. Mở Bảng điều khiển → `Điểm cuối` và tạo khóa API.
3. (Tùy chọn) Mở Bảng điều khiển → `Combos` và đặt chuỗi dự phòng của bạn.### 3) Point your coding tool to OmniRoute

```txt
Base URL: http://localhost:20128/v1
API Key:  [copy from Endpoint page]
Model:    if/kimi-k2-thinking (or any provider/model prefix)

Hoạt động với Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode và SDK tương thích với OpenAI.### 4) Enable and validate protocols (v2.0)

MCP (đối với các hoạt động điều khiển bằng công cụ):```bash omniroute --mcp


Sau đó kết nối ứng dụng khách MCP của bạn qua `stdio` và các công cụ kiểm tra như:

- `omniroute_get_health`
- `omniroute_list_combos`

**A2A (dành cho quy trình làm việc giữa các đại lý):**```bash
curl http://localhost:20128/.well-known/agent.json
curl -X POST http://localhost:20128/a2a \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}'
npm run test:protocols:e2e

Bộ phần mềm này xác thực các luồng ứng dụng khách MCP và A2A thực dựa trên ứng dụng đang chạy.### Alternative: run from source

cp .env.example .env
npm install
PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev

<chi tiết>

Void Linux (mẫu `xbps-src`)

Đối với người dùng Void Linux, bạn có thể xây dựng gói gốc bằng cách sử dụng xbps-src. Lưu khối này dưới dạng srcpkgs/omniroute/template:```bash

Template file for 'omniroute'

pkgname=omniroute version=3.4.1 revision=1 hostmakedepends="nodejs python3 make" depends="openssl" short_desc="Universal AI gateway with smart routing for multiple LLM providers" maintainer="zenobit zenobit@disroot.org" license="MIT" homepage="https://github.com/diegosouzapw/OmniRoute" distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b system_accounts="_omniroute" omniroute_homedir="/var/lib/omniroute" export NODE_ENV=production export npm_config_engine_strict=false export npm_config_loglevel=error export npm_config_fund=false export npm_config_audit=false

do_build() { # Determine target CPU arch for node-gyp local _gyp_arch case "$XBPS_TARGET_MACHINE" in aarch64*) _gyp_arch=arm64 ;; armv7*|armv6*) _gyp_arch=arm ;; i686*) _gyp_arch=ia32 ;; *) _gyp_arch=x64 ;; esac

# 1) Install all deps  skip scripts (no network in do_build, native modules
#    compiled separately below; better-sqlite3 is serverExternalPackage so
#    Next.js does not execute it during next build)
NODE_ENV=development npm ci --ignore-scripts

# 2) Build the Next.js standalone bundle
npm run build

# 3) Copy static assets into standalone
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true

# 4) Compile better-sqlite3 native binding for the target architecture.
#    Use node-gyp directly so CC/CXX from xbps-src cross-toolchain are used
#    without npm altering them.
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")

# 5) Place the compiled binding into the standalone bundle
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"

# 6) Remove arch-specific sharp bundles  upstream sets images.unoptimized=true
#    so sharp is not used at runtime; x64 .so files would break aarch64 strip
rm -rf .next/standalone/node_modules/@img

# 7) Copy pino runtime deps omitted by Next.js static analysis:
#    pino-abstract-transport  required by pino's worker thread
#    split2  dep of pino-abstract-transport
#    process-warning  dep of pino itself
for _mod in pino-abstract-transport split2 process-warning; do
	cp -r "node_modules/$_mod" .next/standalone/node_modules/
done

}

do_check() { npm run test:unit }

do_install() { vmkdir usr/lib/omniroute/.next

vcopy .next/standalone/. usr/lib/omniroute/.next/standalone

# Prevent removal of empty Next.js app router dirs by the post-install hook
for _d in \
	.next/standalone/.next/server/app/dashboard \
	.next/standalone/.next/server/app/dashboard/settings \
	.next/standalone/.next/server/app/dashboard/providers; do
	touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done

cat > "${WRKDIR}/omniroute" <<'EOF'

#!/bin/sh export PORT="${PORT:-20128}" export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}" export LOG_TO_FILE="${LOG_TO_FILE:-false}" mkdir -p "${DATA_DIR}" exec node /usr/lib/omniroute/.next/standalone/server.js "$@" EOF vbin "${WRKDIR}/omniroute" }

post_install() { vlicense LICENSE }


</details>

---

## 🐳 Docker

OmniRoute có sẵn dưới dạng hình ảnh Docker công khai trên [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).

**Chạy nhanh:**```bash
docker run -d \
  --name omniroute \
  --restart unless-stopped \
  --stop-timeout 40 \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

Với tệp môi trường:```bash

Copy and edit .env first

cp .env.example .env

docker run -d
--name omniroute
--restart unless-stopped
--stop-timeout 40
--env-file .env
-p 20128:20128
-v omniroute-data:/app/data
diegosouzapw/omniroute:latest


**Sử dụng Docker Compose:**```bash
# Base profile (no CLI tools)
docker compose --profile base up -d

# CLI profile (Claude Code, Codex, OpenClaw built-in)
docker compose --profile cli up -d

Hỗ trợ bảng điều khiển cho việc triển khai Docker hiện bao gồmĐường hầm nhanh Cloudflarechỉ bằng một cú nhấp chuột trên Bảng điều khiển → Điểm cuối. Đầu tiên, chỉ cho phép tải xuống cloudflared khi cần, bắt đầu một đường hầm tạm thời tới điểm cuối /v1 hiện tại của bạn và hiển thị URL https://*.trycloudflare.com/v1 được tạo ngay bên dưới URL công khai thông thường của bạn.

Ghi chú:

  • URL đường hầm nhanh là tạm thời và thay đổi sau mỗi lần khởi động lại.
  • Đường hầm nhanh không được tự động khôi phục sau khi khởi động lại OmniRoute hoặc vùng chứa. Kích hoạt lại chúng từ bảng điều khiển khi cần.
  • Cài đặt được quản lý hiện hỗ trợ Linux, macOS và Windows trên x64 / arm64.
  • Đường hầm nhanh được quản lý mặc định vận chuyển HTTP/2 để tránh cảnh báo bộ đệm QUIC UDP ồn ào trong môi trường vùng chứa bị hạn chế. Đặt CLOUDFLARED_PROTOCOL=quic hoặc auto nếu bạn muốn một phương tiện vận chuyển khác.
  • Hình ảnh Docker gói các gốc CA của hệ thống và chuyển chúng tới cloudflared được quản lý, điều này tránh được lỗi tin cậy TLS khi đường hầm khởi động bên trong vùng chứa.
  • SQLite chạy ở chế độ WAL. docker stop nên được phép kết thúc để OmniRoute có thể kiểm tra những thay đổi mới nhất trở lại storage.sqlite.
  • Các tệp Compose đi kèm đã đặt thời gian gia hạn dừng là 40 giây. Nếu bạn chạy hình ảnh trực tiếp, hãy giữ --stop-timeout 40 (hoặc tương tự) để việc dừng thủ công không cắt đứt quá trình dọn dẹp tắt máy.
  • Đặt CLOUDFLARED_BIN=/absolute/path/to/cloudflared nếu bạn muốn OmniRoute sử dụng tệp nhị phân hiện có thay vì tải xuống tệp nhị phân.

Sử dụng Docker Compose với Caddy (HTTPS Auto-TLS):

OmniRoute có thể được hiển thị một cách an toàn bằng cách sử dụng tính năng cung cấp SSL tự động của Caddy. Đảm bảo bản ghi DNS A của miền của bạn trỏ đến IP máy chủ của bạn.```yaml services: omniroute: image: diegosouzapw/omniroute:latest container_name: omniroute restart: unless-stopped volumes: - omniroute-data:/app/data environment: - PORT=20128 - NEXT_PUBLIC_BASE_URL=https://your-domain.com

caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" command: caddy reverse-proxy --from https://your-domain.com --to http://omniroute:20128

volumes: omniroute-data:


| Hình ảnh | Gắn thẻ | Kích thước | Mô tả |
| ------------------------ | -------- | ------ | --------------------- |
| `diegosouzapw/omniroute` | `mới nhất` | ~250MB | Bản phát hành ổn định mới nhất |
| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Phiên bản hiện tại |---

## 🖥️ Desktop App — Offline & Always-On

> 🆕**MỚI!**OmniRoute hiện có sẵn dưới dạng**ứng dụng máy tính để bàn gốc**dành cho Windows, macOS và Linux.

Chạy OmniRoute dưới dạng một ứng dụng máy tính để bàn độc lập — không cần thiết bị đầu cuối, không cần trình duyệt, không cần Internet đối với các mô hình cục bộ. Ứng dụng dựa trên Electron bao gồm:

- 🖥️**Cửa sổ gốc**— Cửa sổ ứng dụng chuyên dụng có tích hợp khay hệ thống
- 🔄**Tự động khởi động**— Khởi chạy OmniRoute khi đăng nhập hệ thống
- 🔔**Thông báo gốc**— Nhận thông báo về tình trạng cạn kiệt hạn ngạch hoặc các vấn đề về nhà cung cấp
- ⚡**Cài đặt bằng một cú nhấp chuột**— NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐**Chế độ ngoại tuyến**— Hoạt động hoàn toàn ngoại tuyến với máy chủ đi kèm### Bắt đầu nhanh

```bash
# Development mode
npm run electron:dev

# Build for your platform
npm run electron:build         # Current platform
npm run electron:build:win     # Windows (.exe)
npm run electron:build:mac     # macOS (.dmg) — x64 & arm64
npm run electron:build:linux   # Linux (.AppImage)

System Tray

Khi được thu nhỏ, OmniRoute sẽ tồn tại trong khay hệ thống của bạn bằng các hành động nhanh chóng:

  • Mở bảng điều khiển
  • Thay đổi cổng máy chủ
  • Thoát khỏi ứng dụng

📖 Tài liệu đầy đủ: electron/README.md---

💰 Pricing at a Glance

Bậc Nhà cung cấp Chi phí Đặt lại hạn ngạch Tốt nhất cho
💳 ĐĂNG KÝ Mã Claude (Pro) $20/tháng 5h + hàng tuần Đã đăng ký
Codex (Plus/Pro) $20-200/tháng 5h + hàng tuần Người dùng OpenAI
Song Tử CLI MIỄN PHÍ 180K/tháng + 1K/ngày Mọi người!
Phi công phụ GitHub $10-19/tháng Hàng tháng Người dùng GitHub
🔑 KHÓA API NVIDIA NIM MIỄN PHÍ(dev mãi mãi) ~40 vòng/phút Hơn 70 mô hình mở
Não MIỄN PHÍ(1 triệu tok/ngày) 60K TPM / 30 vòng/phút Nhanh nhất thế giới
Groq MIỄN PHÍ(30 vòng/phút) 14,4K RPD Llama/Gemma cực nhanh
DeepSeek V3.2 0,27 USD/1,10 USD mỗi 1 triệu Không có Lý luận về giá/chất lượng tốt nhất
xAI Grok-4 Nhanh $0,20/$0,50 mỗi 1 triệu🆕 Không có Gọi công cụ + nhanh nhất, cực nhanh
xAI Grok-4 (tiêu chuẩn) 0,20 USD/1,50 USD mỗi 1 triệu 🆕 Không có Lý luận hàng đầu từ xAI
Mistral Dùng thử miễn phí + trả phí Tỷ lệ giới hạn AI Châu Âu
OpenRouter Trả tiền cho mỗi lần sử dụng Không có Tổng hợp hơn 100 mô hình
💰 RẺ GLM-5 (thông qua Z.AI) 🆕 0,5 USD/1 triệu USD 10 giờ sáng hàng ngày Đầu ra 128K, chiếc hạm mới nhất
GLM-4.7 0,6 USD/1 triệu USD 10 giờ sáng hàng ngày Dự phòng ngân sách
MiniMax M2.5 🆕 0,3 USD/đầu vào 1 triệu USD lăn 5 giờ Lý luận + nhiệm vụ tác nhân
MiniMax M2.1 0,2 USD/1 triệu USD lăn 5 giờ Lựa chọn rẻ nhất
Kimi K2.5 (API Moonshot) 🆕 Trả tiền cho mỗi lần sử dụng Không có Truy cập API Moonshot trực tiếp
Kimi K2 $9/tháng căn hộ 10 triệu token/tháng Chi phí dự đoán
🆓 MIỄN PHÍ Qoder $0 Không giới hạn 5 mẫu không giới hạn
Qwen $0 Không giới hạn 4 mẫu không giới hạn
Kiro $0 Không giới hạn Claude Sonnet/Haiku (Người xây dựng AWS)
LongCat Flash-Lite 🆕 $0(50 triệu tok/ngày 🔥) 1 RPS Hạn ngạch miễn phí lớn nhất trên Trái đất
Thụ phấn AI 🆕 $0(không cần chìa khóa) 1 yêu cầu/15 giây GPT-5, Claude, DeepSeek, Llama 4
Cloudflare Workers AI 🆕 $0(10K nơ-ron/ngày) ~150 lần/ngày Hơn 50 mẫu, lợi thế toàn cầu
Đường quy mô AI 🆕 $0(Tổng số 1 triệu token) Tỷ lệ giới hạn EU/GDPR, Qwen3 235B, Llama 70B > 🆕**Thêm các mẫu mới (tháng 3 năm 2026):**Dòng Grok-4 Fast ở mức 0,20 USD/0,50 USD/M (điểm chuẩn ở 1143 mili giây — nhanh hơn 30% so với Gemini 2.5 Flash), GLM-5 qua Z.AI với đầu ra 128K, lý luận MiniMax M2.5, giá cập nhật DeepSeek V3.2, Kimi K2.5 qua API trực tiếp Moonshot.

💡 Ngăn xếp combo $0 — Thiết lập miễn phí hoàn chỉnh:```

🆓 Ultimate Free Stack 2026 — 11 Providers, $0 Forever

Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day 🔥 Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed Qwen (qw/) → qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next UNLIMITED Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free API key Cloudflare AI (cf/) → Llama 70B, Gemma 3, Mistral — 10K Neurons/day Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) Groq (groq/) → Llama/Gemma ultra-fast — 14.4K req/day NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day


**Không tốn phí. Không bao giờ ngừng mã hóa.**Định cấu hình tính năng này dưới dạng một tổ hợp OmniRoute và tất cả các dự phòng sẽ tự động diễn ra — không cần chuyển đổi thủ công.---

---

## 🆓 Free Models — What You Actually Get

> Tất cả các mẫu bên dưới đều**miễn phí 100% và không cần thẻ tín dụng**. OmniRoute tự động định tuyến giữa chúng khi hết một hạn mức — kết hợp tất cả chúng để tạo thành một combo $0 không thể phá vỡ.### 🔵 CLAUDE MODELS (via Kiro — AWS Builder ID)

| Người mẫu | Tiền tố | Giới hạn | Giới hạn tỷ lệ |
| ------------------- | ------ | ------------- | --------------------- |
| `claude-sonnet-4.5` | `kr/` |**Không giới hạn**| Không có giới hạn hàng ngày được báo cáo |
| `claude-haiku-4.5` | `kr/` |**Không giới hạn**| Không có giới hạn hàng ngày được báo cáo |
| `claude-opus-4.6` | `kr/` |**Không giới hạn**| Opus mới nhất qua Kiro |### 🟢 QODER MODELS (Free PAT via qodercli)

| Người mẫu | Tiền tố | Giới hạn | Giới hạn tỷ lệ |
| ------------------ | ------ | ------------- | --------------- |
| `kimi-k2-suy nghĩ` | `nếu/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `qwen3-code-plus` | `nếu/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `deepseek-r1` | `nếu/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `minimax-m2.1` | `nếu/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `kimi-k2` | `nếu/` |**Không giới hạn**| Không có giới hạn được báo cáo |

> Phương thức kết nối được đề xuất:**Mã thông báo truy cập cá nhân + `qodercli`**. OAuth của trình duyệt là
> thử nghiệm và bị tắt theo mặc định trừ khi các biến môi trường `QODER_OAUTH_*` được định cấu hình.### 🟡 QWEN MODELS (Device Code Auth)

| Người mẫu | Tiền tố | Giới hạn | Giới hạn tỷ lệ |
| ------------------- | ------ | ------------- | ------------------- |
| `qwen3-code-plus` | `qw/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `qwen3-code-flash` | `qw/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `qwen3-code-next` | `qw/` |**Không giới hạn**| Không có giới hạn được báo cáo |
| `mô hình tầm nhìn` | `qw/` |**Không giới hạn**| Đa phương thức (hình ảnh) |### 🟣 GEMINI CLI (Google OAuth)

| Người mẫu | Tiền tố | Giới hạn | Giới hạn tỷ lệ |
| ------------------------ | ------ | ----------------------------- | ------------- |
| `gemini-3-flash-xem trước` | `gc/` |**180K tok/tháng**+ 1K/ngày | Đặt lại hàng tháng |
| `gemini-2.5-pro` | `gc/` | 180K/tháng (nhóm chung) | Chất lượng cao |### ⚫ NVIDIA NIM (Free API Key — build.nvidia.com)

| Bậc | Giới hạn hàng ngày | Giới hạn tỷ lệ | Ghi chú |
| ---------- | ------------ | ----------- | ------------------------------------------------------ |
| Miễn phí (Nhà phát triển) | Không có giới hạn mã thông báo |**~40 vòng/phút**| Hơn 70 mẫu; chuyển sang giới hạn lãi suất thuần túy vào giữa năm 2025 |

Các mẫu miễn phí phổ biến: `moonshotai/kimi-k2.5` (Kimi K2.5), `z-ai/glm4.7` (GLM 4.7), `deepseek-ai/deepseek-v3.2` (DeepSeek V3.2), `nvidia/llama-3.3-70b-instruct`, `deepseek/deepseek-r1`### ⚪ CEREBRAS (Free API Key — inference.cerebras.ai)

| Bậc | Giới hạn hàng ngày | Giới hạn tỷ lệ | Ghi chú |
| ---- | ----------------- | ---------------- | --------------------------------------------- |
| Miễn phí |**1 triệu token/ngày**| 60K TPM / 30 vòng/phút | Suy luận LLM nhanh nhất thế giới; đặt lại hàng ngày |

Có sẵn miễn phí: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b`### 🔴 GROQ (Free API Key — console.groq.com)

| Bậc | Giới hạn hàng ngày | Giới hạn tỷ lệ | Ghi chú |
| ---- | ------------- | ---------------- | ----------------------------------------- |
| Miễn phí |**14,4K RPD**| 30 vòng/phút cho mỗi mẫu | Không có thẻ tín dụng; Giới hạn 429, không bị tính phí |

Có sẵn miễn phí: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3`### 🔴 LONGCAT AI (Free API Key — longcat.chat) 🆕

| Người mẫu | Tiền tố | Hạn ngạch miễn phí hàng ngày | Ghi chú |
| ----------------------------- | ------ | ----------------- | -------------- |
| `LongCat-Flash-Lite` | `lc/` |**50 triệu token**🔥 | Hạn ngạch miễn phí lớn nhất từ trước đến nay |
| `LongCat-Flash-Chat` | `lc/` | 500K token | Trò chuyện nhiều lượt |
| `LongCat-Tư duy chớp nhoáng` | `lc/` | 500K token | Lý luận / CoT |
| `LongCat-Flash-Tư duy-2601` | `lc/` | 500K token | Phiên bản tháng 1 năm 2026 |
| `LongCat-Flash-Omni-2603` | `lc/` | 500K token | Đa phương thức |

> Miễn phí 100% khi ở phiên bản beta công khai. Đăng ký tại [longcat.chat](https://longcat.chat) bằng email hoặc điện thoại. Đặt lại 00:00 UTC hàng ngày.### 🟢 POLLINATIONS AI (No API Key Required) 🆕

| Người mẫu | Tiền tố | Giới hạn tỷ lệ | Nhà cung cấp đằng sau |
| ---------- | ------ | ---------- | ------------------ |
| `openai` | `pol/` | 1 yêu cầu/15 giây | GPT-5 |
| `claude` | `pol/` | 1 yêu cầu/15 giây | Claude nhân loại |
| `song tử` | `pol/` | 1 yêu cầu/15 giây | Google Song Tử |
| `tìm kiếm sâu` | `pol/` | 1 yêu cầu/15 giây | DeepSeek V3 |
| `llama` | `pol/` | 1 yêu cầu/15 giây | Hướng đạo Meta Llama 4 |
| `mistral` | `pol/` | 1 yêu cầu/15 giây | AI của Mistral |

> ✨**Không ma sát:**Không cần đăng ký, không cần khóa API. Thêm nhà cung cấp Pollinations với trường khóa trống và nó sẽ hoạt động ngay lập tức.### 🟠 CLOUDFLARE WORKERS AI (Free API Key — cloudflare.com) 🆕

| Bậc | Tế bào thần kinh hàng ngày | Cách sử dụng tương đương | Ghi chú |
| ---- | ------------- | ------------------------------ | -------------- |
| Miễn phí |**10.000**| ~150 LLM resp / âm thanh 500 giây / 15K lượt nhúng | Cạnh toàn cầu, hơn 50 mẫu |

Các mô hình miễn phí phổ biến: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (âm thanh miễn phí!), `@cf/qwen/qwen2.5-code-15b-instruct`

> Yêu cầu Mã thông báo API + ID tài khoản từ [dash.cloudflare.com](https://dash.cloudflare.com). Lưu trữ ID tài khoản trong cài đặt nhà cung cấp.### 🟣 SCALEWAY AI (1M Free Tokens — scaleway.com) 🆕

| Bậc | Hạn ngạch miễn phí | Vị trí | Ghi chú |
| ---- | ------------- | ------------ | ----------------------------------- |
| Miễn phí |**1 triệu token**| 🇫🇷 Paris, EU | Không cần thẻ tín dụng trong giới hạn |

Có sẵn miễn phí: `qwen3-235b-a22b-instruct-2507` (Qwen3 235B!), `llama-3.1-70b-instruct`, `mistral-small-3.2-24b-instruct-2506`, `deepseek-v3-0324`

> Tuân thủ EU/GDPR. Nhận khóa API tại [console.scaleway.com](https://console.scaleway.com).

>**💡 Kho miễn phí tối ưu (11 nhà cung cấp, $0 vĩnh viễn):**
>
> ```
> Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED
> Qoder (if/) → kimi-k2-thinking, qwen3-code-plus, deepseek-r1 UNLIMITED
> LongCat Lite (lc/) → LongCat-Flash-Lite — 50 triệu token/ngày 🔥
> Thụ phấn (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — không cần chìa khóa
> Qwen (qw/) → mô hình qwen3-code UNLIMITED
> Gemini (gemini/) → Gemini 2.5 Flash — miễn phí 1.500 yêu cầu/ngày
> Cloudflare AI (cf/) → Hơn 50 mô hình — 10K nơ-ron/ngày
> Đường mở rộng (scw/) → Qwen3 235B, Llama 70B — 1 triệu token miễn phí (EU)
> Groq (groq/) → Llama/Gemma — 14,4K yêu cầu/ngày cực nhanh
> NVIDIA NIM (nvidia/) → hơn 70 mẫu mở — 40 RPM mãi mãi
> Cerebras (cerebras/) → Llama/Qwen nhanh nhất thế giới — 1 triệu tok/ngày
> ```## 🎙️ Free Transcription Combo

> Phiên âm mọi âm thanh/video với giá**$0**— Deepgram dẫn đầu với 200 USD miễn phí, dự phòng AssemblyAI 50 USD, Groq Whisper làm bản sao lưu khẩn cấp không giới hạn.

| Nhà cung cấp | Tín dụng miễn phí | Người Mẫu Tốt Nhất | Giới hạn tỷ lệ |
| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- |
| 🟢**Deepgram**|**$200 miễn phí**(đăng ký) | `nova-3` — độ chính xác tốt nhất, hơn 30 ngôn ngữ | Không có giới hạn RPM đối với tín dụng miễn phí |
| 🔵**HộiAI**|**$50 miễn phí**(đăng ký) | `universal-3-pro` — chương, tình cảm, PII | Không có giới hạn RPM đối với tín dụng miễn phí |
| 🔴**Ngốc nghếch**|**Miễn phí mãi mãi**| `thì thầm-large-v3` — OpenAI Whisper | 30 vòng/phút (tốc độ giới hạn) |

**Kết hợp được đề xuất trong `/dashboard/combos`:**```
Name: free-transcription
Strategy: Priority
Nodes:
  [1] deepgram/nova-3          → uses $200 free first
  [2] assemblyai/universal-3-pro → fallback when Deepgram credits run out
  [3] groq/whisper-large-v3    → free forever, emergency fallback

Sau đó, trong tab /dashboard/mediaPhiên âm: tải lên bất kỳ tệp âm thanh hoặc video nào → chọn điểm cuối kết hợp của bạn → nhận phiên âm ở các định dạng được hỗ trợ.## 💡 Key Features

OmniRoute v2.0 được xây dựng như một nền tảng hoạt động, không chỉ là proxy chuyển tiếp.### 🆕 New — ClawRouter-Inspired Improvements (Mar 2026)

Tính năng Nó làm gì
Gia đình nhanh Grok-4 mô hình xAI ở mức 0,20 USD/0,50 USD/M — tốc độ chuẩn là 1143 mili giây (nhanh hơn 30% so với Gemini 2.5 Flash)
🧠GLM-5 qua Z.AI Bối cảnh đầu ra 128K, 0,5 USD/1 triệu USD — sản phẩm chủ lực mới nhất của dòng GLM
🔮MiniMax M2.5 Lý luận + nhiệm vụ tác nhân ở mức 0,30 USD/1 triệu — nâng cấp đáng kể từ M2.1
🎯công cụCờ gọi theo mẫu Trên mỗi mô hình toolCalling: true/false trong sổ đăng ký — AutoCombo bỏ qua các mô hình không hỗ trợ công cụ
🌍Phát hiện ý định đa ngôn ngữ Từ khóa PT/ZH/ES/AR trong tính điểm AutoCombo — lựa chọn mô hình tốt hơn cho nội dung không phải tiếng Anh
📊Dự phòng dựa trên điểm chuẩn Độ trễ p95 thực từ tính điểm kết hợp nguồn cấp dữ liệu yêu cầu trực tiếp — AutoCombo học hỏi từ dữ liệu thực tế
🔁Yêu cầu loại bỏ trùng lặp Cửa sổ khấu trừ dựa trên hàm băm nội dung — an toàn cho nhiều tác nhân, ngăn chặn các khoản phí trùng lặp
🔌Chiến lược bộ định tuyến có thể cắm Giao diện RouterStrategy có thể mở rộng - thêm logic định tuyến tùy chỉnh làm plugin ### 🚀 Previous v2.0.9+ — Playground, CLI Fingerprints & ACP
Tính năng Nó làm gì
🎮Sân chơi kiểu mẫu Trang tổng quan để kiểm tra trực tiếp bất kỳ mô hình nào — bộ chọn nhà cung cấp/mô hình/điểm cuối, Trình chỉnh sửa Monaco, phát trực tuyến, hủy bỏ, tính thời gian
🔏Khớp vân tay CLI Thứ tự tiêu đề/nội dung của mỗi nhà cung cấp để khớp với chữ ký CLI gốc — chuyển đổi cho mỗi nhà cung cấp trong Cài đặt > Bảo mật.IP proxy của bạn được giữ nguyên
🤝Hỗ trợ ACP (Giao thức khách hàng đại lý) Khám phá tác nhân CLI (Codex, Claude, Goose, Gemini CLI, OpenClaw + 9 cái khác), trình tạo quy trình, điểm cuối /api/acp/agents
🤖Bảng thông tin đại lý ACP Trang Gỡ lỗi > Tác nhân — lưới gồm 14 tác nhân với trạng thái cài đặt, phiên bản, biểu mẫu tác nhân tùy chỉnh cho bất kỳ công cụ CLI nào.Người dùng OpenCodenhận được nút "Tải xuống opencode.json" để tự động tạo cấu hình sẵn sàng sử dụng với tất cả các mẫu có sẵn.
🔧Định tuyến mô hình tùy chỉnh apiFormat Các mô hình tùy chỉnh với apiFormat: "responses" hiện định tuyến chính xác đến trình dịch API Phản hồi
🏢Cách ly không gian làm việc Codex Nhiều không gian làm việc Codex cho mỗi email - OAuth phân tách chính xác các kết nối theo ID không gian làm việc
🔄Tự động cập nhật điện tử Ứng dụng máy tính để bàn kiểm tra các bản cập nhật + tự động cài đặt khi khởi động lại ### 🤖 Agent & Protocol Operations (v2.0)
Tính năng Nó làm gì
🔧Máy chủ MCP (25 công cụ) Công cụ IDE/agent thông qua 3 phương thức truyền tải: stdio, SSE (/api/mcp/sse), HTTP có thể phát trực tuyến (/api/mcp/stream). 18 lõi + 3 bộ nhớ + 4 công cụ kỹ năng
🤝Máy chủ A2A (JSON-RPC + SSE) Thực thi nhiệm vụ giữa các tác nhân với các luồng đồng bộ hóa và truyền phát
🧭Trang điểm cuối tổng hợp Trang quản lý theo thẻ với các tab Endpoint Proxy, MCP, A2A và API Endpoints
🎚️Bật/Tắt dịch vụ Công tắc BẬT/TẮT cho MCP và A2A với khả năng duy trì cài đặt (mặc định: TẮT)
🛰️Nhịp tim thời gian chạy MCP Trạng thái quy trình thực (pid, thời gian hoạt động, tuổi nhịp tim, vận chuyển, chế độ phạm vi)
📋Dấu vết kiểm tra MCP Nhật ký kiểm tra có thể lọc với thành công/thất bại và phân bổ chính
🔐Thực thi phạm vi MCP 10 quyền phạm vi chi tiết để truy cập công cụ được kiểm soát
📡Quản lý vòng đời nhiệm vụ A2A Liệt kê/lọc nhiệm vụ, kiểm tra sự kiện/hiện vật, hủy nhiệm vụ đang chạy
📋Agent Card Discovery /.well-known/agent.json để tự động phát hiện ứng dụng khách
🧪Khai thác thử nghiệm giao thức E2E Luồng máy khách MCP SDK + A2A thực trong test:protocols:e2e
⚙️Kiểm soát hoạt động Chuyển đổi tổ hợp, áp dụng cấu hình khả năng phục hồi, đặt lại bộ ngắt từ một bề mặt điều khiển ### 🧠 Routing & Intelligence
Tính năng Nó làm gì
🎯Dự phòng 4 tầng thông minh Tự động định tuyến: Đăng ký → Khóa API → Giá rẻ → Miễn phí
📊Theo dõi hạn ngạch theo thời gian thực Số lượng mã thông báo trực tiếp + đếm ngược đặt lại cho mỗi nhà cung cấp
🔄Dịch định dạng OpenAI ↔ Claude ↔ Gemini ↔ Phản hồi bằng chuyển đổi an toàn lược đồ
👥Hỗ trợ nhiều tài khoản Nhiều tài khoản cho mỗi nhà cung cấp với lựa chọn thông minh
🔄Tự động làm mới mã thông báo Mã thông báo OAuth tự động làm mới bằng thử lại
🎨Combo tùy chỉnh 9 chiến lược cân bằng + kiểm soát chuỗi dự phòng
🌐Bộ định tuyến ký tự đại diện nhà cung cấp/* định tuyến động
🧠Suy nghĩ về việc kiểm soát ngân sách Giới hạn lý luận truyền qua, tự động, tùy chỉnh và thích ứng
🔀Bí danh người mẫu Tích hợp sẵn + đặt bí danh mô hình tùy chỉnh và an toàn di chuyển
Xuống cấp nền Định tuyến các tác vụ nền có mức độ ưu tiên thấp tới các mô hình rẻ hơn
🧪Định tuyến thông minh nhận biết nhiệm vụ Tự động chọn mô hình theo loại nội dung (mã hóa/tầm nhìn/phân tích/tóm tắt)
🔄Quy trình làm việc của đại lý A2A Bộ điều phối FSM xác định để thực thi tác nhân nhiều bước có trạng thái
🔀Định tuyến thích ứng Ghi đè chiến lược động dựa trên khối lượng mã thông báo và độ phức tạp của lời nhắc
🎲Đa dạng nhà cung cấp Shannon tính điểm entropy cân bằng phân phối lưu lượng truy cập tự động kết hợp
💬Tiêm nhắc nhở hệ thống Kiểm soát hành vi toàn cầu được áp dụng nhất quán
📄Khả năng tương thích API phản hồi Hỗ trợ đầy đủ /v1/responses cho Codex và quy trình làm việc tác nhân nâng cao ### 🎵 Multi-Modal APIs
Tính năng Nó làm gì
🖼️Tạo hình ảnh /v1/images/thế hệ với phần phụ trợ cục bộ và đám mây
📐Nhúng /v1/embeddings cho đường ống tìm kiếm và RAG
🎤Phiên âm âm thanh /v1/audio/transcriptions — 7 nhà cung cấp (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), phát hiện ngôn ngữ tự động, hỗ trợ MP4/MP3/WAV
🔊Chuyển văn bản thành giọng nói /v1/audio/speech — 10 nhà cung cấp (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) với thông báo lỗi chính xác
🎬Tạo video /v1/video/thế hệ (Quy trình làm việc ComfyUI + SD WebUI)
🎵Thế hệ âm nhạc /v1/music/thế hệ (Quy trình làm việc của ComfyUI)
🛡️Kiểm duyệt kiểm tra an toàn /v1/modations
🔀Sắp xếp lại /v1/rerank để chấm điểm mức độ phù hợp
🔍Tìm kiếm trên web🆕 /v1/search — 5 nhà cung cấp (Serper, Brave, Perplexity, Exa, Tavily), hơn 6.500 miễn phí/tháng, tự động chuyển đổi dự phòng, bộ đệm ### 🛡️ Resilience, Security & Governance
Tính năng Nó làm gì
🔌Bộ ngắt mạch Chuyến đi/khôi phục theo từng mô hình với các điều khiển ngưỡng
🎯Mô hình nhận biết điểm cuối Mô hình tùy chỉnh khai báo điểm cuối được hỗ trợ + định dạng API
🛡️Bầy chống sấm sét Bảo vệ Mutex + semaphore đối với các sự kiện thử lại/đánh giá
🧠Bộ đệm ngữ nghĩa + chữ ký Giảm chi phí/độ trễ với hai lớp bộ đệm
Yêu cầu quyền bình đẳng Cửa sổ bảo vệ trùng lặp
🔒Giả mạo vân tay TLS Dấu vân tay TLS giống trình duyệt —giảm khả năng phát hiện bot và gắn cờ tài khoản
🔏Khớp vân tay CLI Phù hợp với chữ ký yêu cầu CLI gốc —giảm rủi ro bị cấm trong khi vẫn bảo toàn IP proxy
🌐Lọc IP Kiểm soát danh sách cho phép/danh sách chặn đối với các triển khai được hiển thị
📊Giới hạn tỷ lệ có thể chỉnh sửa Giới hạn cấp độ nhà cung cấp/toàn cầu có thể định cấu hình với tính bền bỉ
📉Sự xuống cấp duyên dáng Dự phòng khả năng nhiều lớp bảo vệ hoạt động của cổng cốt lõi
📜Đường kiểm tra cấu hình Theo dõi thay đổi dựa trên sự khác biệt ngăn chặn tình trạng trôi dạt trong hoạt động bằng cách khôi phục đơn giản
Đồng bộ hóa sức khỏe nhà cung cấp Giám sát hết hạn mã thông báo chủ động kích hoạt cảnh báo trước khi xảy ra lỗi ủy quyền
🚪Tự động vô hiệu hóa tài khoản bị cấm Bộ ngắt mạch hoạt động tự động niêm phong các tài khoản token bị chặn vĩnh viễn
🔑Quản lý khóa API + Phạm vi Bảo mật việc phát hành/xoay vòng khóa và kiểm soát mô hình/nhà cung cấp
👁️Tiết lộ khóa API có phạm vi🆕 Chọn tham gia khôi phục khóa API thông qua ALLOW_API_KEY_REVEAL
🛡️Được bảo vệ /model Tùy chọn xác thực và ẩn nhà cung cấp cho danh mục mô hình ### 📊 Observability & Analytics
Tính năng Nó làm gì
📝Yêu cầu + Ghi nhật ký proxy Yêu cầu/phản hồi đầy đủ và ghi nhật ký proxy
📉Nhật ký chi tiết được phát trực tuyến🆕 Tái cấu trúc các luồng tải trọng SSE một cách rõ ràng vào giao diện người dùng
📋Bảng điều khiển nhật ký hợp nhất Chế độ xem yêu cầu, proxy, kiểm tra và bảng điều khiển trong một trang
🔍Yêu cầu đo từ xa độ trễ p50/p95/p99 và theo dõi yêu cầu
🏥Bảng thông tin sức khỏe Thời gian hoạt động, trạng thái ngắt, khóa, số liệu thống kê bộ đệm
💰Theo dõi chi phí Kiểm soát ngân sách và khả năng hiển thị giá theo từng mô hình
📈Trực quan hóa phân tích Thông tin chi tiết về cách sử dụng mô hình/nhà cung cấp và lượt xem xu hướng
🧪Khung đánh giá Thử nghiệm bộ vàng với các chiến lược kết hợp có thể định cấu hình
📡Chẩn đoán trực tiếp🆕 Bỏ qua bộ nhớ đệm ngữ nghĩa để kiểm tra trực tiếp kết hợp chính xác ### ☁️ Deployment & Platform
Tính năng Nó làm gì
🌐Triển khai mọi nơi Localhost, VPS, Docker, Môi trường đám mây
🚇Đường hầm Cloudflare🆕 Tích hợp Đường hầm nhanh chỉ bằng một cú nhấp chuột từ bảng điều khiển
🔑Lọc mô hình khóa API Phản hồi gốc /v1/models được lọc thông qua các vai trò ngữ cảnh Bearer được chỉ định
Bỏ qua bộ nhớ đệm thông minh Chẩn đoán TTL có thể định cấu hình và điều khiển tìm nạp lại bắt buộc
🔄Sao lưu/Khôi phục Luồng xuất/nhập khẩu và khắc phục thảm họa
🧙Trình hướng dẫn giới thiệu Thiết lập có hướng dẫn lần đầu
🔧Bảng điều khiển công cụ CLI Thiết lập bằng một cú nhấp chuột cho các công cụ mã hóa phổ biến
🎮Sân chơi kiểu mẫu Kiểm tra bất kỳ nhà cung cấp/mô hình/điểm cuối nào từ bảng điều khiển
🔏Chuyển đổi vân tay CLI So khớp dấu vân tay của mỗi nhà cung cấp trong Cài đặt > Bảo mật
🌐i18n (30 ngôn ngữ) Hỗ trợ ngôn ngữ tài liệu + bảng điều khiển đầy đủ với phạm vi bảo hiểm RTL
🧹Xóa tất cả các mẫu Xóa danh sách mô hình bằng một cú nhấp chuột trong chi tiết nhà cung cấp
👁️Điều khiển thanh bên🆕 Ẩn các thành phần và tích hợp khỏi Cài đặt giao diện
📋Mẫu vấn đề Mẫu GitHub được chuẩn hóa cho các lỗi và tính năng
📂Thư mục dữ liệu tùy chỉnh ghi đè DATA_DIR cho vị trí lưu trữ ### Feature Deep Dive

Smart fallback with practical cost control

Combo: "my-coding-stack"
  1. cc/claude-opus-4-6
  2. nvidia/llama-3.3-70b
  3. glm/glm-4.7
  4. if/kimi-k2-thinking

Khi hạn ngạch, tỷ lệ hoặc tình trạng không thành công, OmniRoute sẽ tự động chuyển sang ứng viên tiếp theo mà không cần chuyển đổi thủ công.#### Protocol management that is visible and operable

  • MCP + A2A có thể được tìm thấy trong giao diện người dùng và tài liệu (không bị ẩn)
  • API trạng thái giao thức hiển thị dữ liệu hoạt động trực tiếp (/api/mcp/*, /api/a2a/*)
  • Bảng điều khiển bao gồm các hành động cho hoạt động ngày thứ 2 (chuyển đổi kết hợp, đặt lại bộ ngắt, hủy tác vụ)#### Translator + validation workflow

Khu vực dịch bao gồm:

-Sân chơi: yêu cầu kiểm tra chuyển đổi -Bộ kiểm tra trò chuyện: toàn bộ yêu cầu/phản hồi khứ hồi -Băng thử nghiệm: nhiều trường hợp trong một lần chạy -Giám sát trực tiếp: chế độ xem giao thông theo thời gian thực

Cộng thêm xác thực giao thức với các máy khách thực thông qua npm run test:protocols:e2e.

📖MCP Server README— Tham chiếu công cụ, cấu hình IDE và ví dụ ứng dụng khách

📖A2A Server README— Kỹ năng, phương pháp JSON-RPC, phát trực tuyến và vòng đời tác vụ## 🧪 Evaluations (Evals)

OmniRoute bao gồm khung đánh giá tích hợp để kiểm tra chất lượng phản hồi LLM dựa trên bộ vàng. Truy cập thông quaAnalytics → Đánh giátrong bảng điều khiển.### Built-in Golden Set

"Bộ vàng OmniRoute" được tải sẵn chứa các trường hợp thử nghiệm cho:

  • Lời chào, toán, địa lý, tạo mã
  • Tuân thủ định dạng JSON, dịch thuật, tạo đánh dấu
  • Từ chối an toàn (nội dung có hại), đếm, logic boolean### Evaluation Strategies
Chiến lược Mô tả Ví dụ
chính xác Đầu ra phải khớp chính xác "4"
chứa Đầu ra phải chứa chuỗi con (không phân biệt chữ hoa chữ thường) "Paris"
regex Đầu ra phải khớp với mẫu biểu thức chính quy "1.*2.*3"
tùy chỉnh Hàm JS tùy chỉnh trả về true/false (đầu ra) => đầu ra.length > 10 ---

📖 Setup Guide

Protocol Setup (MCP + A2A)

<chi tiết> <tóm tắt>🧩 Thiết lập MCP (Giao thức bối cảnh mô hình)

Bắt đầu vận chuyển MCP ở chế độ stdio:```bash omniroute --mcp


Luồng xác thực được đề xuất:

1. Kết nối máy khách MCP của bạn qua stdio.
2. Chạy `omniroute_get_health`.
3. Chạy `omniroute_list_combos`.
4. Mở `/dashboard/mcp` để xác nhận nhịp tim, hoạt động và kiểm tra.

Các API hữu ích cho tự động hóa:

- `NHẬN/api/mcp/trạng thái`
- `NHẬN /api/mcp/công cụ`
- `NHẬN /api/mcp/kiểm toán`
- `NHẬN /api/mcp/kiểm toán/số liệu thống kê`</details>

<chi tiết>
<tóm tắt><b>🤝 Thiết lập A2A (Agent2Agent)</b></summary>

Khám phá đại lý:```bash
curl http://localhost:20128/.well-known/agent.json

Gửi một nhiệm vụ:```bash curl -X POST http://localhost:20128/a2a
-H 'content-type: application/json'
-d '{"jsonrpc":"2.0","id":"setup-a2a","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Summarize quota status."}]}}'


Quản lý vòng đời:

- `NHẬN /api/a2a/trạng thái`
- `NHẬN /api/a2a/tác vụ`
- `NHẬN /api/a2a/tác vụ/:id`
- `POST /api/a2a/tasks/:id/cancel`

Giao diện người dùng hoạt động:

- `/dashboard/a2a` dành cho khả năng quan sát nhiệm vụ/trạng thái/luồng và các hành động khói</details>

<chi tiết>
<summary><b>🧪 Xác thực giao thức end-to-end</b></summary>

Xác thực cả hai giao thức với máy khách thực:```bash
npm run test:protocols:e2e

Điều này xác minh:

  • Kết nối/danh sách/cuộc gọi máy khách MCP SDK
  • Khám phá/gửi/truyền phát/nhận/hủy A2A
  • Kiểm tra chéo dữ liệu trong kiểm tra MCP và API quản lý tác vụ A2A

<chi tiết> <tóm tắt>💳Nhà cung cấp dịch vụ đăng ký### Claude Code (Pro/Max)

Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking

Models:
  cc/claude-opus-4-6
  cc/claude-sonnet-4-5-20250929
  cc/claude-haiku-4-5-20251001

**Mẹo chuyên nghiệp:**Sử dụng Opus cho các tác vụ phức tạp, Sonnet cho tốc độ. OmniRoute theo dõi hạn ngạch cho mỗi mô hình!### OpenAI Codex (Plus/Pro)

Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset

Models:
  cx/gpt-5.2-codex
  cx/gpt-5.1-codex-max

Codex Account Limit Management (5h + Weekly)

Mỗi tài khoản Codex hiện có các chuyển đổi chính sách trong Bảng điều khiển -> Nhà cung cấp:

  • 5h (ON/OFF): thực thi chính sách ngưỡng cửa sổ 5 giờ.
  • Hàng tuần (BẬT/TẮT): thực thi chính sách ngưỡng thời lượng hàng tuần.
  • Hành vi ngưỡng: khi một cửa sổ được bật đạt mức sử dụng >=90%, tài khoản đó sẽ bị bỏ qua.
  • Hành vi luân chuyển: OmniRoute tự động định tuyến đến tài khoản Codex đủ điều kiện tiếp theo.
  • Hành vi đặt lại: khi thời gian resetAt của nhà cung cấp trôi qua, tài khoản sẽ tự động đủ điều kiện trở lại.

Kịch bản:

  • 5h ON + Weekly ON: tài khoản bị bỏ qua khi một trong hai cửa sổ đạt đến ngưỡng.
  • TẮT 5h + BẬT hàng tuần: chỉ sử dụng hàng tuần mới có thể khóa tài khoản.
  • 5h BẬT + TẮT Hàng Tuần: chỉ sử dụng 5h là có thể khóa tài khoản.
  • resetAt đã qua: tài khoản tự động nhập lại vòng quay (không kích hoạt lại thủ công).### Gemini CLI (FREE 180K/month!)
Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day

Models:
  gc/gemini-3-flash-preview
  gc/gemini-2.5-pro

**Giá trị tốt nhất:**Cấp miễn phí rất lớn! Sử dụng điều này trước các bậc trả phí.### GitHub Copilot

Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)

Models:
  gh/gpt-5
  gh/claude-4.5-sonnet
  gh/gemini-3.1-pro-preview

<chi tiết>

🔑Nhà cung cấp khóa API### NVIDIA NIM (FREE developer access — 70+ models)
  1. Đăng ký: build.nvidia.com
  2. Nhận khóa API miễn phí (bao gồm 1000 tín dụng suy luận)
  3. Bảng điều khiển → Thêm nhà cung cấp → NVIDIA NIM:
    • Khóa API: nvapi-your-key

Mô hình:nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct và hơn 50 mẫu khác

**Mẹo chuyên nghiệp:**API tương thích với OpenAI — hoạt động trơn tru với tính năng dịch định dạng của OmniRoute!### DeepSeek

  1. Đăng ký: platform.deepseek.com
  2. Nhận khóa API
  3. Trang tổng quan → Thêm nhà cung cấp → DeepSeek

Mô hình:deepseek/deepseek-chat, deepseek/deepseek-code### Groq (Free Tier Available!)

  1. Đăng ký: console.groq.com
  2. Nhận khóa API (bao gồm bậc miễn phí)
  3. Bảng điều khiển → Thêm nhà cung cấp → Groq

Mô hình:groq/llama-3.3-70b, groq/mixtral-8x7b

**Mẹo chuyên nghiệp:**Suy luận cực nhanh — tốt nhất cho mã hóa thời gian thực!### OpenRouter (100+ Models)

  1. Đăng ký: openrouter.ai
  2. Nhận khóa API
  3. Bảng điều khiển → Thêm nhà cung cấp → OpenRouter

**Mô hình:**Truy cập hơn 100 mô hình từ tất cả các nhà cung cấp chính thông qua một khóa API duy nhất.

Hoạt động của bảng điều khiển:Các mô hình OpenRouter được quản lý từCác mô hình có sẵn. Thêm, nhập và tự động đồng bộ hóa thủ công đều cập nhật cùng một danh sách.

<chi tiết> <tóm tắt>💰 Nhà cung cấp giá rẻ (Dự phòng)### GLM-4.7 (Daily reset, $0.6/1M)

  1. Đăng ký: Zhipu AI
  2. Nhận khóa API từ Gói mã hóa
  3. Bảng điều khiển → Thêm khóa API:
    • Nhà cung cấp: glm
    • Khóa API: your-key

Sử dụng:glm/glm-4.7

**Mẹo chuyên nghiệp:**Gói mã hóa cung cấp hạn ngạch 3× với chi phí 1/7! Đặt lại vào 10:00 sáng hàng ngày.### MiniMax M2.1 (5h reset, $0.20/1M)

  1. Đăng ký: MiniMax
  2. Nhận khóa API
  3. Bảng điều khiển → Thêm khóa API

Sử dụng:minimax/MiniMax-M2.1

**Mẹo chuyên nghiệp:**Tùy chọn rẻ nhất cho ngữ cảnh dài (1 triệu mã thông báo)!### Kimi K2 ($9/month flat)

  1. Đăng ký: Moonshot AI
  2. Nhận khóa API
  3. Bảng điều khiển → Thêm khóa API

Sử dụng:kimi/kimi-mới nhất

**Mẹo chuyên nghiệp:**Đã sửa lỗi 9 USD/tháng cho 10 triệu mã thông báo = 0,90 USD/1 triệu chi phí hiệu quả!

<chi tiết>

🆓 Nhà cung cấp MIỄN PHÍ (Dự phòng khẩn cấp)### Qoder (5 FREE models via OAuth)
Dashboard → Connect Qoder
→ Qoder OAuth login
→ Unlimited usage

Models:
  if/kimi-k2-thinking
  if/qwen3-coder-plus
  if/glm-4.7
  if/minimax-m2
  if/deepseek-r1

Qwen (4 FREE models via Device Code)

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

Models:
  qw/qwen3-coder-plus
  qw/qwen3-coder-flash

Kiro (Claude FREE)

Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5

<chi tiết> <tóm tắt>🎨 Tạo Combo### Example 1: Maximize Subscription → Cheap Backup

Dashboard → Combos → Create New

Name: premium-coding
Models:
  1. cc/claude-opus-4-6 (Subscription primary)
  2. glm/glm-4.7 (Cheap backup, $0.6/1M)
  3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)

Use in CLI: premium-coding

Example 2: Free-Only (Zero Cost)

Name: free-combo
Models:
  1. gc/gemini-3-flash-preview (180K free/month)
  2. if/kimi-k2-thinking (unlimited)
  3. qw/qwen3-coder-plus (unlimited)

Cost: $0 forever!

<chi tiết> <tóm tắt>🔧 Tích hợp CLI</tóm tắt>### Cursor IDE

Settings → Models → Advanced:
  OpenAI API Base URL: http://localhost:20128/v1
  OpenAI API Key: [from OmniRoute dashboard]
  Model: cc/claude-opus-4-6

Claude Code

Sử dụng trangCông cụ CLItrong trang tổng quan để định cấu hình bằng một cú nhấp chuột hoặc chỉnh sửa ~/.claude/settings.json theo cách thủ công.### Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"

codex "your prompt"

OpenClaw

Tùy chọn 1 — Trang tổng quan (được khuyến nghị):``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply


**Tùy chọn 2 — Thủ công:**Chỉnh sửa `~/.openclaw/openclaw.json`:```json
{
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://127.0.0.1:20128/v1",
        "apiKey": "sk_omniroute",
        "api": "openai-completions"
      }
    }
  }
}

**Lưu ý:**OpenClaw chỉ hoạt động với OmniRoute cục bộ. Sử dụng 127.0.0.1 thay vì localhost để tránh các vấn đề về độ phân giải IPv6.### Cline / Continue / RooCode

Settings → API Configuration:
  Provider: OpenAI Compatible
  Base URL: http://localhost:20128/v1
  API Key: [from OmniRoute dashboard]
  Model: if/kimi-k2-thinking

OpenCode

**Bước 1:**Thêm OmniRoute làm nhà cung cấp tùy chỉnh:```bash opencode /connect

Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key


**Bước 2:**Tạo/chỉnh sửa `opencode.json` trong thư mục gốc dự án của bạn:```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniroute": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniRoute",
      "options": {
        "baseURL": "http://localhost:20128/v1"
      },
      "models": {
        "cc/claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
        "gg/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
        "if/kimi-k2-thinking": { "name": "Kimi K2 (Free)" }
      }
    }
  }
}

**Bước 3:**Chọn model trong OpenCode:```bash /models

Select any OmniRoute model from the list


>**Mẹo:**Thêm bất kỳ mô hình nào có sẵn trong điểm cuối OmniRoute `/v1/models` của bạn vào phần `models`. Sử dụng định dạng `nhà cung cấp/model-id` từ bảng điều khiển OmniRoute của bạn.</details>

---

## Xử lý sự cố

<chi tiết>
<summary><b>Nhấp để mở rộng hướng dẫn khắc phục sự cố</b></summary>

**"Mô hình ngôn ngữ không cung cấp tin nhắn"**

- Provider quota exhausted → Check dashboard quota tracker
- Giải pháp: Sử dụng combo dự phòng hoặc chuyển sang tầng rẻ hơn

**Giới hạn tỷ lệ**

- Hết hạn ngạch đăng ký → Dự phòng sang GLM/MiniMax
- Thêm combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`

**Mã thông báo OAuth đã hết hạn**

- Tự động làm mới bởi OmniRoute
- Nếu sự cố vẫn tiếp diễn: Bảng điều khiển → Nhà cung cấp → Kết nối lại

**Chi phí cao**

- Kiểm tra số liệu thống kê sử dụng trong Bảng điều khiển → Chi phí
- Chuyển mô hình chính sang GLM/MiniMax
- Sử dụng cấp miễn phí (Gemini CLI, Qoder) cho các tác vụ không quan trọng

**Cổng bảng điều khiển/API bị sai**

- `PORT` là cổng cơ sở chuẩn (và cổng API theo mặc định)
- `API_PORT` chỉ ghi đè trình nghe API tương thích với OpenAI
- `DASHBOARD_PORT` chỉ ghi đè bảng điều khiển/trình nghe Next.js
- Đặt `NEXT_PUBLIC_BASE_URL` thành trang tổng quan/URL công khai của bạn (đối với lệnh gọi lại OAuth)

**Lỗi đồng bộ hóa đám mây**

- Xác minh `BASE_URL` trỏ đến phiên bản đang chạy của bạn
- Xác minh `CLOUD_URL` trỏ đến điểm cuối đám mây dự kiến của bạn
- Giữ các giá trị `NEXT_PUBLIC_*` được căn chỉnh với các giá trị phía máy chủ

**Đăng nhập lần đầu không hoạt động**

- Kiểm tra `INITIAL_PASSWORD` trong `.env`
- Nếu không được đặt, mật khẩu dự phòng là `123456`

**Không có nhật ký yêu cầu**

- Các tạo phẩm yêu cầu được ghi vào `DATA_DIR/call_logs/` dưới dạng một tệp JSON cho mỗi yêu cầu
- Kích hoạt tính năng chụp đường ống từ Bảng điều khiển → Nhật ký → Nhật ký yêu cầu nếu bạn cần tải trọng chi tiết theo từng giai đoạn
- Đặt `APP_LOG_TO_FILE=true` nếu bạn cũng muốn nhật ký bảng điều khiển ứng dụng trong `logs/application/app.log`
- Điều chỉnh `APP_LOG_MAX_FILE_SIZE`, `APP_LOG_RETENTION_DAYS`, `APP_LOG_MAX_FILES` và `CALL_LOG_MAX_ENTRIES` nếu cần

**Kiểm tra kết nối cho thấy "Không hợp lệ" đối với các nhà cung cấp tương thích với OpenAI**

- Nhiều nhà cung cấp không hiển thị điểm cuối `/models`
- OmniRoute v1.0.6+ bao gồm xác thực dự phòng thông qua hoàn thành trò chuyện
- Đảm bảo URL cơ sở bao gồm hậu tố `/v1`### 🔐 OAuth on a Remote Server

<a name="oauth-on-a-remote-server"></a>
<a name="oauth-em-servidor-remoto"></a>

>**⚠️ Quan trọng đối với người dùng chạy OmniRoute trên VPS, Docker hoặc bất kỳ máy chủ từ xa nào**#### Why does Antigravity / Gemini CLI OAuth fail on remote servers?

Các nhà cung cấp**AntiGravity**và**Gemini CLI**sử dụng**Google OAuth 2.0**. Google yêu cầu `redirect_uri` trong luồng OAuth phải khớp chính xác với một trong các URI đã đăng ký trước trong Google Cloud Console của ứng dụng.

Thông tin xác thực OAuth đi kèm trong OmniRoute được đăng ký**chỉ dành cho `localhost`**. Khi bạn truy cập OmniRoute trên máy chủ từ xa (ví dụ: `https://omniroute.myserver.com`), Google sẽ từ chối xác thực bằng:```
Error 400: redirect_uri_mismatch

Solution: Configure your own OAuth credentials

Bạn cần tạoID ứng dụng khách OAuth 2.0trong Google Cloud Console bằng URI máy chủ của bạn.#### Step-by-step

1. Mở Bảng điều khiển đám mây của Google

Truy cập: https://console.cloud.google.com/apis/credentials

2. Tạo ID ứng dụng khách OAuth 2.0 mới

  • Nhấp vào**"+ Tạo thông tin xác thực""ID khách hàng OAuth"**
  • Loại ứng dụng:"Ứng dụng web"
  • Tên: bất cứ thứ gì bạn thích (ví dụ: OmniRoute Remote)

3. Thêm URI chuyển hướng được ủy quyền

Trong trường**"URI chuyển hướng được ủy quyền"**, hãy thêm:``` https://your-server.com/callback


> Thay thế `your-server.com` bằng miền hoặc IP máy chủ của bạn (bao gồm cổng nếu cần, ví dụ: `http://45.33.32.156:20128/callback`).

**4. Lưu và sao chép thông tin đăng nhập**

Sau khi tạo, Google sẽ hiển thị**ID khách hàng**và**Bí mật khách hàng**.

**5. Đặt biến môi trường**

Trong `.env` (hoặc biến môi trường Docker của bạn):```bash
# For Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

# For Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

6. Khởi động lại OmniRoute```bash

npm:

npm run dev

Docker:

docker restart omniroute


**7. Hãy thử kết nối lại**

Bảng điều khiển → Nhà cung cấp → Anti Gravity (hoặc Gemini CLI) → OAuth

Giờ đây, Google sẽ chuyển hướng chính xác đến `https://your-server.com/callback`.---

#### Temporary workaround (without custom credentials)

Nếu không muốn thiết lập thông tin xác thực của riêng mình ngay bây giờ, bạn vẫn có thể sử dụng**luồng URL thủ công**:

1. OmniRoute mở URL ủy quyền của Google
2. Sau khi ủy quyền, Google sẽ cố gắng chuyển hướng đến `localhost` (không thành công trên máy chủ từ xa)
3.**Sao chép URL đầy đủ**từ thanh địa chỉ trình duyệt của bạn (ngay cả khi trang không tải)
4. Dán URL đó vào trường hiển thị trong phương thức kết nối OmniRoute
5. Nhấp vào**"Kết nối"**

> Điều này có tác dụng vì mã ủy quyền trong URL hợp lệ bất kể trang chuyển hướng có được tải hay không.---

<chi tiết>
<tóm tắt><b>🇧🇷 Phiên bản tiếng Bồ Đào Nha</b></summary>#### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?

Os đã được chứng minh**AntiGravity**e**Gemini CLI**sử dụng**Google OAuth 2.0**để xác thực. O Google exige que a `redirect_uri` usada no fluxo OAuth seja**exatamente**một trong các URI trước cadastradas no Google Cloud Console để ứng dụng.

Vì các thông tin xác thực OAuth không có OmniRoute estão cadastradas**apenas para `localhost`**. Bạn có thể truy cập OmniRoute trong một thiết bị điều khiển lại máy chủ (ví dụ: `https://omniroute.meuservidor.com`), hoặc Google sẽ cung cấp thông tin xác thực bằng cách:```
Error 400: redirect_uri_mismatch

Solução: Configure suas próprias credenciais OAuth

Bạn nên chú ýOAuth 2.0 Client IDkhông có Google Cloud Console vì URI làm dịch vụ của bạn.#### Passo a passo

1. Truy cập vào Google Cloud Console

Abra: https://console.cloud.google.com/apis/credentials

2. Hãy yêu cầu ID khách hàng OAuth 2.0 mới

  • Nhấn vào**"+ Tạo thông tin xác thực""ID khách hàng OAuth"**
  • Mẹo ứng dụng:"Ứng dụng web"
  • Tên: escolha qualquer nome (ví dụ: OmniRoute Remote)

3. Adicione dưới dạng URI chuyển hướng được ủy quyền

Không có quảng cáo**"URI chuyển hướng được ủy quyền"**, khuyến cáo:``` https://seu-servidor.com/callback


> Thay thế `seu-servidor.com` bằng địa chỉ IP hoặc IP của dịch vụ đó (bao gồm cổng bạn cần, ví dụ: `http://45.33.32.156:20128/callback`).

**4. Lưu và sao chép dưới dạng uy tín**

Sau đó, Google đã đăng trên**ID khách hàng**và**Bí mật khách hàng**.

**5. Định cấu hình theo các biến thể của môi trường**

Không có `.env` (hoặc có nhiều biến thể xung quanh Docker):```bash
# Para Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

# Para Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

6. Reinicie hoặc OmniRoute```bash

Se usando npm:

npm run dev

Se usando Docker:

docker restart omniroute


**7. Lều kết nối mới lạ**

Bảng điều khiển → Nhà cung cấp → Anti Gravity (hoặc Gemini CLI) → OAuth

Agora hoặc Google chuyển hướng điều chỉnh cho `https://seu-servidor.com/callback` và một chức năng xác thực.---

#### Workaround temporário (sem configurar credenciais próprias)

Nếu không có câu hỏi nào về thông tin xác thực trước đây, bạn có thể sử dụng thông tin**hướng dẫn sử dụng URL**:

1. O OmniRoute tìm kiếm URL tự động của Google
2. Sau khi bạn tự động đăng ký, hoặc chuyển hướng Google sang `localhost` (que falha no servidor remoto)
3.**Sao chép một URL hoàn chỉnh**da cuối cùng của trình duyệt của bạn (mesmo que a página not carregue)
4. URL này không có khả năng xuất hiện không có phương thức kết nối nào với OmniRoute
5. Kết nối với nhau**"Kết nối"**

> Chức năng giải pháp này có thể giúp tự động cấp quyền cho URL và có thể chuyển hướng độc lập đến mục tiêu hoặc không.</details>

---

</details>

## 🛠️ Tech Stack

<chi tiết>
<summary><b>Nhấp để xem chi tiết về ngăn xếp công nghệ</b></summary>

-**Thời gian chạy**: Node.js 1822 LTS (⚠️ Node.js 24+**không được hỗ trợ**— các tệp nhị phân gốc `better-sqlite3` không tương thích)
-**Ngôn ngữ**: TypeScript 5.9 —**100% TypeScript**trên `src/` và `open-sse/` (không có `any` trong các mô-đun lõi kể từ phiên bản 2.0)
-**Khung**: Next.js 16 + React 19 + Tailwind CSS 4
-**Cơ sở dữ liệu**: LowDB (JSON) + SQLite (trạng thái miền + nhật ký proxy + kiểm tra MCP + quyết định định tuyến)
-**Lược đồ**: Zod (xác thực I/O công cụ MCP, hợp đồng API)
-**Giao thức**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE)
-**Truyền phát**: Sự kiện do máy chủ gửi (SSE)
-**Xác thực**: OAuth 2.0 (PKCE) + JWT + Khóa API + Ủy quyền trong phạm vi MCP
-**Thử nghiệm**: Trình chạy thử nghiệm Node.js + Vitest (hơn 900 thử nghiệm bao gồm đơn vị, tích hợp, E2E)
-**CI/CD**: GitHub Actions (tự động xuất bản npm + Docker Hub khi phát hành)
-**Trang web**: [omniroute.online](https://omniroute.online)
-**Gói**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
-**Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
-**Khả năng phục hồi**: Ngắt mạch, lùi theo cấp số nhân, chống sấm sét bầy đàn, giả mạo TLS, tự động kết hợp tự phục hồi</details>

---

## Tài liệu

| Tài liệu | Mô tả |
| ---------------------------------------------- | --------------------------------------------------- |
| [Hướng dẫn sử dụng](docs/USER_GUIDE.md) | Nhà cung cấp, combo, tích hợp CLI, triển khai |
| [Tham khảo API](docs/API_REFERENCE.md) | Tất cả các điểm cuối có ví dụ |
| [Máy chủ MCP](open-sse/mcp-server/README.md) | 16 công cụ MCP, cấu hình IDE, máy khách Python/TS/Go |
| [Máy chủ A2A](src/lib/a2a/README.md) | Giao thức JSON-RPC 2.0, kỹ năng, phát trực tuyến, quản lý tác vụ |
| [Công cụ tự động kết hợp](docs/auto-combo.md) | Chấm điểm 6 yếu tố, gói chế độ, tự phục hồi |
| [Khắc phục sự cố](docs/TROUBLESHOOTING.md) | Các vấn đề thường gặp và giải pháp |
| [Kiến trúc](docs/ARCHITECTURE.md) | Kiến trúc hệ thống và nội bộ |
| [Đóng góp](CONTRIBUTING.md) | Thiết lập và hướng dẫn phát triển |
| [Thông số OpenAPI](docs/openapi.yaml) | Đặc tả OpenAPI 3.0 |
| [Chính sách bảo mật](SECURITY.md) | Báo cáo lỗ hổng bảo mật và thực hành bảo mật |
| [Triển khai VM](docs/VM_DEPLOYMENT_GUIDE.md) | Hướng dẫn đầy đủ: Thiết lập VM + nginx + Cloudflare |
| [Thư viện tính năng](docs/FEATURES.md) | Tham quan bảng điều khiển trực quan với ảnh chụp màn hình |
| [Danh sách kiểm tra bản phát hành](docs/RELEASE_CHECKLIST.md) | Các bước xác thực trước khi phát hành |---

## 🗺️ Roadmap

OmniRoute có**210+ tính năng được lên kế hoạch**qua nhiều giai đoạn phát triển. Dưới đây là các lĩnh vực chính:

| Danh mục | Tính năng dự kiến | Điểm nổi bật |
| ----------------------------- | ---------------- | -------------------------------------------------------------------------------------- |
| 🧠**Định tuyến & thông minh**| 25+ | Định tuyến có độ trễ thấp nhất, định tuyến dựa trên thẻ, ưu tiên hạn ngạch, chọn tài khoản P2C |
| 🔒**Bảo mật & Tuân thủ**| 20+ | Tăng cường SSRF, che giấu thông tin xác thực, giới hạn tốc độ trên mỗi điểm cuối, phạm vi khóa quản lý |
| 📊**Khả năng quan sát**| 15+ | Tích hợp OpenTelemetry, giám sát hạn ngạch thời gian thực, theo dõi chi phí trên mỗi mô hình |
| 🔄**Tích hợp nhà cung cấp**| 20+ | Đăng ký mô hình động, thời gian hồi chiêu của nhà cung cấp, Codex nhiều tài khoản, phân tích hạn ngạch Copilot |
| ⚡**Hiệu suất**| 15+ | Lớp bộ đệm kép, bộ đệm nhắc nhở, bộ đệm phản hồi, lưu giữ luồng, API hàng loạt |
| 🌐**Hệ sinh thái**| 10+ | API WebSocket, cấu hình tải lại nóng, kho cấu hình phân tán, chế độ thương mại |### 🔜 Coming Soon

- 🔗**Tích hợp OpenCode**— Hỗ trợ của nhà cung cấp gốc cho IDE mã hóa OpenCode AI
- 🔗**Tích hợp TRAE**— Hỗ trợ đầy đủ cho khung phát triển TRAE AI
- 📦**Batch API**— Xử lý hàng loạt không đồng bộ cho các yêu cầu hàng loạt
- 🎯**Định tuyến dựa trên thẻ**— Định tuyến các yêu cầu dựa trên thẻ và siêu dữ liệu tùy chỉnh
- 💰**Chiến lược chi phí thấp nhất**— Tự động chọn nhà cung cấp có sẵn rẻ nhất

> 📝 Thông số kỹ thuật đầy đủ của tính năng có sẵn trong [`docs/new-features/`](docs/new-features/) (217 thông số kỹ thuật chi tiết)---

## 👥 Contributors

[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)

### How to Contribute

1. Phân nhánh kho lưu trữ
2. Tạo nhánh tính năng của bạn (`gitcheck -b feature/amazing-feature`)
3. Cam kết các thay đổi của bạn (`git commit -m 'Thêm tính năng tuyệt vời'`)
4. Đẩy tới nhánh (`git Push Origin feature/amazing-feature`)
5. Mở yêu cầu kéo

Xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết hướng dẫn chi tiết.### Releasing a New Version

```bash
# Create a release — npm publish happens automatically
gh release create v2.0.0 --title "v2.0.0" --generate-notes

📊 Star History

Stargazers over time

Stargazers over time

🙏 Acknowledgments

Đặc biệt cảm ơn**9routercủadecolua**— dự án ban đầu đã truyền cảm hứng cho đợt phân nhánh này. OmniRoute được xây dựng dựa trên nền tảng đáng kinh ngạc đó với các tính năng bổ sung, API đa phương thức và viết lại TypeScript đầy đủ.

Đặc biệt cảm ơn**CLIProxyAPI**— cách triển khai Go ban đầu đã truyền cảm hứng cho cổng JavaScript này.---

Giấy phép

Giấy phép MIT - xem LICENSE để biết chi tiết.---

Built with ❤️ for developers who code 24/7
omniroute.online