# 🚀 OmniRoute — Cổng AI miễn phí
**Được tạo bởi [Diego Souza](https://github.com/diegosouzapw)**
## 💰 ~1.62B Token / Tháng Trên Các Gói Miễn Phí Của Bên Thứ Ba
> **Tự sử dụng tài khoản nhà cung cấp của bạn.** Đây là tổng ước tính từ các gói miễn phí của bên thứ ba đủ điều kiện một cách độc lập, không phải khoản cấp token từ OmniRoute. Hãy đăng ký, lấy thông tin xác thực khi được yêu cầu và kết nối các nhà cung cấp mà bạn có thể sử dụng; mỗi nhà cung cấp tự kiểm soát giới hạn, khả dụng và điều khoản của mình.
>
> Tự xếp chồng các gói miễn phí thật phiền phức — hàng chục SDK, hàng chục giới hạn tốc độ và không biết chính xác bạn thực sự có bao nhiêu. OmniRoute lập danh mục **465 mục thuộc gói miễn phí trên 34 khóa nhóm định kỳ** và tính tiêu đề token từ **17 nhóm có ngân sách hàng tháng dương được công bố, cùng năm giới hạn Groq theo từng mô hình**, loại trùng dựa trên nhóm dùng chung. Các hạn mức chỉ mở sau khi xác minh danh tính theo khu vực (hiện tại: ModelScope) được hiển thị riêng, cộng thêm ~6M sau khi xác minh danh tính theo khu vực và không bao giờ được cộng vào tiêu đề. Kết quả vẫn hiển thị trên bảng điều khiển (`/dashboard/free-tiers`).
> Bản tóm tắt động của trang `/dashboard/free-tiers` theo thời gian thực. Phương pháp đầy đủ (loại trùng nhóm, các mức tín dụng, điều khoản nhà cung cấp): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Các số liệu này được kiểm tra lại hai tuần một lần dựa trên danh mục trực tiếp và **có thể tăng hoặc giảm** — một nhà cung cấp kết thúc gói miễn phí thì con số giảm; một nhà cung cấp mới xuất hiện thì con số tăng. Chúng tôi công bố đúng những gì danh mục thực sự tính toán, không bao giờ làm tròn tăng theo trường hợp tốt nhất.
⭐ Hãy đánh dấu sao cho repo nếu OMNIROUTE đã giúp bạn tiết kiệm tiền và làm công việc dễ dàng hơn.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Tham gia cộng đồng
**👋 Theo dõi maintainer — nhận thông tin về nhà cung cấp mới, bản phát hành và mẹo hữu ích sớm nhất:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Câu hỏi, mẹo về nhà cung cấp, lộ trình phát triển và hỗ trợ → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Toàn cầu](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Cổng thông tin](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway Không Ngừng Phát Triển
| | v3.8.50 | **v3.8.51** | `v3.8.54+` |
| --------------------------------- | :----------------------------: | :---------: | :-------------------: |
| 🌐 Nhà cung cấp | 352 | **358** | 388 |
| 🧠 ID mô hình trò chuyện duy nhất | 1320 | **1374** | 1491 |
| 🖼️ Cầu nối đa phương thức | 🆕 hình ảnh + âm thanh + video | ✓ | ✓ |
| 📡 Danh mục miễn phí của Radar | 🆕 opt-in | ✓ | ✓ |
| ⚖️ Lập lịch nhận biết hạn ngạch | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Đo từ xa hạn ngạch | 🆕 trực tiếp | ✓ | ✓ |
| 🧰 Chế độ không giao diện | — | — | 🆕 `serve --headless` |
| 🛤️ Hạ tầng tuyến LTS | — | — | 🆕 kênh phát hành |
| 🔎 API khám phá mô hình | — | — | 🆕 `/v1/models/query` |
**→ [Lộ trình](ROADMAP.md) — đi trên tuyến đến `v3.9.0 LTS`**
## 🧩 Khả dụng
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
](LICENSE)


## 🆓 Cài đặt, kết nối một nhà cung cấp, sau đó định tuyến qua một endpoint duy nhất
```bash
# Sau khi kết nối một nhà cung cấp, sao chép khóa OmniRoute của bạn từ Dashboard → Endpoints:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` cần một tuyến đủ điều kiện. Một bản cài đặt mới có thể không có mục tiêu nào đủ điều kiện và không yêu cầu khóa, đồng thời một nhà cung cấp không yêu cầu khóa có thể từ chối các ứng dụng khách bên thứ ba. Các nhà cung cấp được đánh dấu `tos: avoid`, bao gồm Kiro, mặc định sẽ bị loại khỏi việc định tuyến tự động; việc kết nối tài khoản không ghi đè thiết lập đó. Hãy xem [Hướng dẫn về các gói miễn phí](docs/getting-started/FREE-TIERS-GUIDE.md) trước khi chọn nhà cung cấp.📦 Các tập lệnh quickstart sao chép-dán cho **Python, Node.js, PHP và cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Lời hứa
# 🤔 Tại sao là OmniRoute?
## 🤝 Được hỗ trợ bởi những người bạn mã nguồn mở của chúng tôi
> **Bạn muốn tham gia với tư cách là một Người bạn mã nguồn mở?** Đây là những công ty ủng hộ mã nguồn mở và giúp OmniRoute tiếp tục hoạt động — và chúng tôi công khai nơi mọi khoản đóng góp của họ được sử dụng. Liên hệ: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Cảm ơn Kimi (Moonshot AI), Người bạn mã nguồn mở sáng lập của chúng tôi, đã ủng hộ dự án này! Kimi là phòng thí nghiệm AI đứng sau các dòng mô hình K2 và K3 có trọng lượng mở — Kimi K3 cung cấp cửa sổ ngữ cảnh 1M-token, tầm nhìn gốc và mã hóa cấp độ tiên tiến với chi phí thấp hơn nhiều so với các mô hình đóng, và hoạt động ngay lập tức với Claude Code, Codex và mọi công cụ mã hóa mà OmniRoute phục vụ.
Hỗ trợ của Kimi cung cấp: Các khoản tín dụng API của Kimi cung cấp năng lượng cho quy trình phát hành được AI xác thực của OmniRoute — giai đoạn xác thực hợp nhất được cung cấp bởi Kimi K3 xem xét mọi yêu cầu kéo trước khi nó được xuất bản — cộng với việc phát triển tính năng hàng ngày. Hỗ trợ Kimi hạng nhất được vận chuyển trên cả hai đường ray: API Kimi trực tiếp (kimi-k3) và gói mã hóa Kimi Code (OAuth và khóa API). OmniRoute cũng là dự án mã nguồn mở đầu tiên của Brazil trong chương trình hỗ trợ của Kimi. Nhận khóa API Kimi với 15% tín dụng bổ sung →
Cheaper Inference cheaperinference.com
Cảm ơn Cheaper Inference, một Người bạn mã nguồn mở của OmniRoute, đã ủng hộ dự án này! Cheaper Inference là một cổng xếp hạng chi phí bán lại 42 mô hình tiên tiến — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok và MiniMax — đằng sau một điểm cuối tương thích với OpenAI, định tuyến mỗi yêu cầu đến nhà cung cấp đủ điều kiện rẻ nhất mà không bao giờ tính phí cao hơn giá niêm yết của nhà sản xuất mô hình.
Hỗ trợ hạng nhất trong OmniRoute: Chat Completions, điểm cuối /v1/responses gốc, tầm nhìn, gọi công cụ và 3 mô hình hình ảnh (grok-imagine, nano-banana-pro, nano-banana-2, có thể truy cập dưới dạng cheaperinference/<model>). Nhận khóa API →
Các liên kết được gắn thẻ aff=omniroute là liên kết đối tác. Chúng tài trợ cho dự án mà không tốn thêm chi phí cho bạn. 🎟️ Khuyến mãi liên kết — phiếu đăng ký miễn phí từ các nhà cung cấp mà chúng tôi không tài trợ (nhấp để mở rộng)Phần này chỉ dành cho mã giới thiệu/phiếu giảm giá. Các đối tác tài trợ nằm trong phần 🤝 Được hỗ trợ bởi những người bạn mã nguồn mở của chúng tôi ở trên. OmniRoute không có bất kỳ sự tài trợ hoặc hợp tác nào với các nhà cung cấp được liệt kê ở đây — đây là các phiếu giảm giá công khai mà bất kỳ ai cũng có thể sử dụng.
AgentRouter agentrouter.org
AgentRouter — đăng ký liên kết · $100 tín dụng miễn phí khi đăng ký (máy chủ miễn phí, có thể có độ trễ cao hơn — tốt nhất để thử nghiệm, không phải sản xuất). Hỗ trợ hạng nhất trong OmniRoute kể từ v3.8.50: Chat Completions, định dạng dây tương thích với Anthropic và đường dẫn tương thích với OpenAI. Các mô hình có sẵn bao gồm claude-opus-4-8, claude-opus-5, gpt-5.6-sol và nhiều hơn nữa. Nhận $100 của bạn →
⚠️ Liên kết liên kết — OmniRoute không có bất kỳ sự tài trợ hoặc hợp tác nào với nhà cung cấp này.
Bạn có biết nhà cung cấp nào khác có phiếu đăng ký miễn phí hào phóng mang lại lợi ích cho người dùng OmniRoute không? Mở một vấn đề và chúng tôi sẽ thêm nó vào đây.
## 🎯 Combo — Tính năng chủ lực
> **Combo** là một chuỗi mô hình mà OmniRoute định tuyến qua **tự động**. Nếu hạn ngạch cạn, nhà cung cấp gặp sự cố hoặc chi phí tăng đột biến, combo có thể chuyển sang mô hình khả dụng và hoạt động ổn định tiếp theo. 🛡️
### ⚡ Không cần cấu hình — chỉ cần dùng `auto`
Không cần tạo combo. Đặt mô hình của bạn thành `auto` (hoặc một biến thể), OmniRoute sẽ xây dựng một combo ảo từ các nhà cung cấp đã kết nối và chấm điểm theo thời gian thực:
ID mô hình
Mục tiêu tối ưu hóa
auto
🎯 Mặc định cân bằng (LKGP — gắn với nhà cung cấp hoạt động tốt gần nhất)
auto/coding
🧑💻 Trọng số ưu tiên chất lượng khi sinh mã
auto/fast
⚡ Ưu tiên độ trễ thấp nhất
auto/cheap
💰 Ưu tiên chi phí thấp nhất trên mỗi token
auto/subscription
🎟️ Chỉ sử dụng hạn ngạch gói đăng ký mà bạn đã trả phí — đóng khi thất bại, không bao giờ chuyển dự phòng sang tùy chọn có thể phát sinh phí (hướng dẫn)
auto/thrifty
🪜 Ưu tiên hạn ngạch gói, sau đó chuyển từng bậc sang các tùy chọn trả phí rẻ nhất — quay lại gói sau khi hạn ngạch được đặt lại (hướng dẫn)
auto/offline
🔋 Ưu tiên dung lượng hạn ngạch / giới hạn tốc độ còn trống nhiều nhất
auto/smart
🔭 Ưu tiên chất lượng + 10% thăm dò để tìm các mô hình tốt hơn
auto/lkgp
📌 Chủ động duy trì nhà cung cấp hoạt động tốt gần nhất
auto/chaos
🧪 Phân nhánh song song đến một nhóm mô hình (mỗi nhà cung cấp một mô hình, mặc định là 5), trả về một câu trả lời; mỗi mô hình trong nhóm thực hiện một lệnh gọi thượng nguồn, không phải chèn lỗi
##
### 🔀 Hoặc tự xây dựng — 20 chiến lược định tuyến
Tất cả **20** chiến lược — kết hợp tùy ý theo từng bước của combo:
#
Chiến lược
Cách hoạt động
1
priority
Danh sách có thứ tự ưu tiên mục tiêu đầu tiên — dùng hết từng mục tiêu trước khi chuyển sang mục tiêu tiếp theo 🥇
2
fill-first
Dùng hết hạn ngạch của từng mục tiêu trước khi chuyển sang mục tiêu tiếp theo
3
weighted
Chọn ngẫu nhiên có trọng số theo trọng số của từng mục tiêu
4
round-robin
Luân phiên qua các mục tiêu theo thứ tự
5
p2c
Cân bằng tải ngẫu nhiên bằng phương pháp chọn một trong hai mục tiêu
6
least-used
Chọn mục tiêu có tải hiện tại thấp nhất
7
random
Chọn ngẫu nhiên đồng đều (loại bỏ mục trùng lặp)
8
strict-random
Chọn ngẫu nhiên mà không loại bỏ các lần lặp lại 🎲
9
cost-optimized
Giảm thiểu chi phí $ cho mỗi yêu cầu dựa trên giá trực tiếp trong danh mục 💸
10
headroom
Chọn mục tiêu có nhiều hạn ngạch còn lại nhất
11
quota-weighted
Bỏ qua các tài khoản đã cạn hạn ngạch, sau đó chọn theo tỷ lệ hạn ngạch còn lại ÷ tải đang xử lý — các cuộc trò chuyện hiện tại vẫn được ghim ⚖️
12
reset-window
Ưu tiên mục tiêu có chu kỳ hạn ngạch được đặt lại sớm nhất
13
reset-aware
Xếp hạng theo thời điểm đặt lại hạn ngạch — ưu tiên các chu kỳ ngắn 📊
14
context-relay
Chuyển tiếp ngữ cảnh giữa các mục tiêu cho những cuộc trò chuyện dài 🧠
15
context-optimized
Chọn mục tiêu phù hợp nhất với kích thước ngữ cảnh hiện tại
16
cache-optimized
Ghim từng tiền tố prompt có thể tái sử dụng vào cùng một tài khoản — tối đa hóa số lần trúng bộ nhớ đệm prompt 🎯
17
lkgp
Đường dẫn hoạt động tốt gần nhất — ghim vào nhà cung cấp thành công gần nhất, sau đó chuyển dự phòng theo các quy tắc
18
auto
Chấm điểm trực tiếp theo 16 yếu tố trên mọi kết nối 🤖
19
fusion
Phân nhánh đến một nhóm mô hình + một mô hình giám khảo tổng hợp thành một câu trả lời 🧬
20
pipeline
Nối chuỗi các bước — đầu ra của mỗi mục tiêu được chuyển làm đầu vào cho mục tiêu tiếp theo 🔗
Công cụ Auto-Combo chấm điểm từng ứng viên dựa trên **16 yếu tố** (tình trạng, hạn mức, chi phí, độ trễ, mức độ phù hợp với tác vụ, chất lượng, tính khả dụng của phiên…) — xem [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Khả năng phục hồi được tích hợp sẵn (3 lớp độc lập)
📖 [Công cụ Auto-Combo](docs/routing/AUTO-COMBO.md) · [Hướng dẫn về khả năng phục hồi](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Điều gì làm OmniRoute nổi bật
📊 Phương pháp luận đầy đủ & chi tiết theo từng tính năng so với 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Hỗ trợ OmniRoute
OmniRoute được cấp phép theo MIT và được duy trì công khai. Nếu dự án giúp bạn tiết kiệm thời gian hoặc tiền bạc, đây là cách để giúp dự án duy trì tính độc lập — hãy chọn phương thức phù hợp với bạn. Việc tài trợ không bao giờ ảnh hưởng đến mức độ ưu tiên định tuyến; nó mang lại khả năng hiển thị, không phải thứ hạng.
**🇧🇷 PIX** — tức thì, không mất phí (Brazil)
Khóa (ngẫu nhiên): `5d865059-bc44-483a-962d-43ceb80126eb`
Pix sao chép và dán:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Tiền mã hóa — BTC · ETH · USDT-TRC20 · USDC-Solana (nhấp để mở rộng)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Chỉ gửi từng loại tiền trên đúng mạng được hiển thị — gửi sai mạng có thể làm mất tiền.
🐛 Bạn phát hiện lỗi hoặc có phản hồi? Hãy mở một [Thảo luận](https://github.com/diegosouzapw/OmniRoute/discussions).
Ghi chú dành cho nhà phát triển: Dự án có thể tạo tệp .env cục bộ trong quá trình npm install/postinstall để thuận tiện cho nhà phát triển. Tệp này được chủ ý bỏ qua thông qua .gitignore (xem .gitignore) và tuyệt đối không được commit — nếu vô tình commit, hãy thay đổi mọi thông tin bí mật đã bị lộ và xóa tệp khỏi lịch sử. Xem docs/DEVELOPER-ENVIRONMENT.md để biết hướng dẫn về cách quản lý các tệp môi trường cục bộ và thông tin bí mật.
## 📡 OmniRoute Radar
Tiêu điểm chính của gói miễn phí vẫn là **~1.62B token/tháng** từ danh mục đã được lập tài liệu và loại bỏ trùng lặp theo nhóm ở trên. Khoản tín dụng đăng ký tạm thời của nhà cung cấp có thể giúp riêng tháng đầu tiên tăng lên **~2.22B**. Radar là một lớp phủ danh mục tùy chọn, có chữ ký, dành cho những người muốn cập nhật nhanh hơn về tình trạng sẵn có của các mô hình miễn phí giữa các bản phát hành OmniRoute; danh mục cộng đồng và mọi tính năng miễn phí hiện có vẫn hoàn toàn miễn phí.
Những người ủng hộ có thể nhận danh mục trực tiếp và các cơ hội bổ sung từ nhà cung cấp. Mức trần riêng, có thể thay đổi của danh mục này là **tối đa khoảng 3B token/tháng**, tùy thuộc vào tình trạng sẵn có của nhà cung cấp. Mức trần đó không phải là sự bảo đảm: nhà cung cấp có thể thay đổi hạn ngạch, điều kiện đủ tư cách, mô hình hoặc khu vực bất cứ lúc nào.
Radar hoạt động theo cơ chế chọn tham gia và chỉ sử dụng GET. Ứng dụng khách OmniRoute không tải lên prompt, lưu lượng truy cập, cấu hình nhà cung cấp, dữ liệu đo từ xa về mức sử dụng hoặc trạng thái cục bộ về việc bỏ qua thông báo. Tìm hiểu về điều kiện đủ tư cách và danh mục hiện tại tại **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Có gì mới
> Những điểm nổi bật gần đây từ **v3.8.20 → v3.8.54**. Xem toàn bộ lịch sử trong [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Định tuyến `quota-weighted`** — chiến lược kết hợp thứ 20 bỏ qua các tài khoản đã cạn hạn mức, sau đó chọn trong số các tài khoản còn lại theo tỷ lệ hạn mức còn lại ÷ tải đang xử lý, đồng thời giữ các cuộc hội thoại hiện có cố định trên tài khoản. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Chế độ không giao diện** — `omniroute serve --headless` (hoặc `OMNIROUTE_HEADLESS=1`) chỉ chạy bộ máy proxy `/v1/*`, đồng thời tắt dashboard và các hệ thống chỉ dành cho dashboard. → [Chế độ không giao diện](docs/guides/HEADLESS.md)
- **🔎 Khám phá model** — `/v1/models` lọc theo khả năng, ngữ cảnh, loại và văn bản; còn `POST /v1/models/query` trả về danh sách rút gọn xác định với cùng khả năng hiển thị theo từng khóa. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **🔑 Kiểm soát định tuyến theo từng khóa** — ghim một khóa API vào một model hoặc combo bằng `forcedModel`, đồng thời thêm hoặc xóa nguyên tử các model và combo của một khóa (`/api/keys/{id}/access`). → [Tham chiếu API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Kiểm soát PII chi tiết hơn** — lựa chọn theo từng loại, tối đa 20 mẫu che tùy chỉnh đã được xác thực và bộ đếm phát hiện theo từng loại; bản thân tính năng che vẫn là tùy chọn bật. → [Guardrails](docs/security/GUARDRAILS.md)
- **🌍 67 ngôn ngữ** — dashboard, bản sao tài liệu và CLI; `npm run i18n:add-locale` thêm một ngôn ngữ ở mọi nơi chỉ bằng một lệnh. → [Hướng dẫn i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — ủy quyền A2A đến đội ngũ agent của bạn, các kỹ năng Conductor trên Agent Card và một bảng điều khiển với tính năng trò chuyện thoại nhấn-để-nói qua Faro. → [Máy chủ A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Tiếp nhận thích ứng & bảo vệ quá tải** — các yêu cầu trò chuyện nặng được xếp hàng thay vì trả về 503, với các lease RPM cuộn nguyên tử cho từng kết nối. → [Hướng dẫn khả năng chống chịu](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Thứ tự chuẩn của `/v1/models`** — mỗi nhà cung cấp có một khối liên tục được nhóm theo nhà cung cấp (combo được ghim lên đầu), ổn định trên mọi nguồn catalog. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **🗜️ Tăng cường bảo vệ nén** — bộ bảo vệ chống phình dữ liệu được bật mặc định, Caveman packs cho DE / FR / JA và tiếng Trung (wényán), các bộ lọc RTK cho Gradle & .NET. → [Nén](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Chi phí cố định minh bạch** — các nhà cung cấp gói thuê bao / coding plan hiển thị **$0** trong phân tích chi phí; ngân sách, hạn mức và định tuyến vẫn tiếp tục ước tính. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **⚖️ Định tuyến Quota-Share** — phân chia công bằng hạn mức của một tài khoản dùng chung giữa các khóa trong pool, bảo đảm tận dụng tài nguyên bằng cách cho mượn các phần đang nhàn rỗi. → [Hướng dẫn khả năng chống chịu](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Thiết lập CLI/agent bằng một lệnh** — 15 lệnh `setup-*` đã đăng ký; `omniroute run` khởi chạy 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` hỗ trợ 11 đích đến với bộ chọn nhà cung cấp+model tương tác và danh sách yêu thích theo từng ngữ cảnh. → [Tích hợp CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Chế độ từ xa** — điều khiển một OmniRoute từ xa bằng các token có phạm vi (`connect` / `contexts` / `tokens`) cùng trình trợ giúp OAuth `antigravity` cho các cài đặt VPS. → [Chế độ từ xa](docs/guides/REMOTE-MODE.md)
- **🧭 Tự động định tuyến thông minh hơn** — các combo `auto/:`, **Fusion** (panel model + bộ phán định), định tuyến nhận biết tác vụ, các giá trị ghi đè model / mode / ngân sách USD theo từng yêu cầu. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Nén có thể mở rộng** — 12 engine có thể kết hợp cùng Compression Studios: LLMLingua-2, Ultra hai tầng, omniglyph, cổng kiểm tra độ trung thực theo từng bước, GCF v3.2, trình chỉnh sửa kéo-thả để sắp xếp lại. → [Nén](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Giải mã MITM minh bạch (TPROXY)** — các CLI capture bỏ qua biến môi trường proxy, với CA theo từng SNI và trình cài đặt trust-store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Đo lường chi phí ở mọi nơi** — các header chi phí/sử dụng `X-OmniRoute-*` trên mọi endpoint, header thể hiện khoản tiết kiệm do cache-HIT, hạn mức chi tiêu USD theo từng khóa. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **🧠 Bộ nhớ do bạn kiểm soát** — tắt theo mặc định, tùy chọn lượng tử hóa vector int8 + suy giảm có kiểu, `x-omniroute-no-memory` theo từng yêu cầu. → [Bộ nhớ](docs/frameworks/MEMORY.md)
- **🛡️ Bảo mật** — bộ bảo vệ chống prompt injection trên mọi route LLM (bộ kiểm thử red-team), bộ bảo vệ che thông tin xác thực tùy chọn (xóa các API key/secret bị rò rỉ theo cả hai chiều), tính năng tìm kiếm web DuckDuckGo miễn phí làm phương án cuối và cổng đăng nhập OIDC tùy chọn cho dashboard (đăng nhập bằng mật khẩu luôn khả dụng). → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ Endpoint mới** — `/v1/ocr` (Mistral OCR) và `/v1/audio/translations` (kiểu Whisper) hoàn thiện nhóm chức năng media. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **🎨 Tạo ảnh / video / âm thanh** — một API cho media: video xAI Grok Imagine & Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind và các nhà cung cấp giọng nói như ElevenLabs. → [Tham chiếu API](docs/reference/API_REFERENCE.md)
- **🌍 Triển khai & vận hành** — `basePath` reverse-proxy, tự động phát hiện ngôn ngữ trình duyệt, theo dõi thiết bị theo từng khóa, trust MITM không cần quyền root, bản địa hóa zh-TW. → [Môi trường](docs/reference/ENVIRONMENT.md)
- **🤝 Nhiều nhà cung cấp & agent hơn** — agent đám mây (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) với trình duyệt + đăng nhập OAuth, card Ollama hạng nhất, Claude Opus 5 & Sonnet 5, hợp tác chính thức với Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… và **catalog 388 nhà cung cấp** được làm mới. → [Nhà cung cấp](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Minh bạch định tuyến** — mọi phản hồi đều chứa header `X-OmniRoute-Decision` nêu chiến lược/nhà cung cấp/độ trễ đã phục vụ phản hồi, chiến lược combo `cache-optimized` mới cùng yếu tố route `cacheAffinity` của Auto-Combo đưa các yêu cầu lặp lại trở về kết nối đang giữ prefix đã cache, và endpoint chỉ đọc `/v1/auto-combo/{channel}/candidates` hiển thị pool ứng viên trực tiếp của một channel `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Hiệu năng & hạ tầng cục bộ** — Redis cục bộ chỉ với một cú nhấp chuột, các trình triển khai relay cho Cloudflare Workers / Deno Deploy, Bifrost & Mux dưới dạng các dịch vụ nhúng được giám sát. → [Dịch vụ nhúng](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Cũng được tích hợp sẵn** — framework plugin + marketplace, các framework kỹ năng Omni/Agent/GitHub, tích hợp vault Obsidian (22 công cụ MCP), API Batch & Files tương thích với OpenAI, bộ nhớ đệm phản hồi ngữ nghĩa, tính năng game hóa với bảng xếp hạng, tính năng phát hiện tác nhân ACP (15 tác nhân tích hợp sẵn), xuất nhật ký theo lịch sang BigQuery, fan-out song song đa mô hình `auto/chaos`, cầu nối bot Telegram, trình quản lý phiên bản trong ứng dụng và bảng xếp hạng nhà cung cấp miễn phí LMArena-ELO. → [Tài liệu](docs/README.md)
## 🤖 Các CLI & tác nhân lập trình tương thích
> Một cấu hình — `http://localhost:20128/v1` — và **mọi** IDE hoặc CLI AI đều chạy trên các mô hình miễn phí & chi phí thấp.
+ cũng hoạt động với · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bất kỳ công cụ nào tương thích với OpenAI
📖 Thiết lập riêng cho tất cả 39 công cụ (28 CLI Code + 11 CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Khởi chạy bất kỳ CLI nào được hỗ trợ thông qua OmniRoute bằng một lệnh duy nhất** — không ghi tệp cấu hình,
thông tin xác thực được đưa vào theo từng tiến trình, Qwen/Gemini nhận một thư mục home tạm thời, biệt lập:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Hoặc chọn nhà cung cấp+mô hình một cách tương tác và ghi cấu hình riêng của công cụ:
omniroute configure codex # cũng có: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Mọi lệnh đều tôn trọng ngữ cảnh từ xa đang hoạt động (`omniroute connect `), `--dry-run`
xem trước chính xác các biến môi trường/đối số mà không thực thi, còn `--api-key-env NAME` giữ bí mật
khỏi lịch sử shell của bạn. → [Tích hợp CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 Nhà cung cấp AI — 153 được đánh dấu miễn phí trong danh mục
> **388 nhà cung cấp đã đăng ký** trên các bộ sưu tập chuẩn về trò chuyện, phương tiện, tìm kiếm, cục bộ, tác nhân đám mây và hệ thống, trong đó **153 nhà cung cấp có siêu dữ liệu khám phá `hasFree: true`**. Sổ đăng ký mô hình trò chuyện bao phủ **239 nhà cung cấp / 3,059 cặp nhà cung cấp-mô hình riêng biệt / 1,475 ID mô hình thô**; danh mục ngân sách miễn phí riêng biệt có **471 dòng cho từng mô hình**, **34 nhóm định kỳ** và **52 nhà cung cấp miễn phí mãi mãi định kỳ/không cần khóa**. Đây là các mẫu số khác nhau theo chủ đích; định nghĩa và các phép tính đã loại trùng theo nhóm nằm trong [Tài liệu tham khảo về nhà cung cấp](docs/reference/PROVIDER_REFERENCE.md) và [Các gói miễn phí](docs/reference/FREE_TIERS.md).
### 🏢 Mọi phòng thí nghiệm lớn — qua một endpoint duy nhất
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…và hơn 350 nhà cung cấp khác — mọi biểu tượng đều được phân giải trực tiếp từ danh mục nhà cung cấp của dashboard. 📖 [Tài liệu tham khảo về nhà cung cấp](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Miễn phí mãi mãi — $0, không cần thẻ
OpenCode Zen DeepSeek V4, Nemotron 3 Không giới hạn token
Kilo Code Bộ định tuyến tự động, Tencent Hy3 Miễn phí mãi mãi
Requesty GPT-OSS 120B, Nemotron Miễn phí mãi mãi
SiliconFlow DeepSeek V3.2 / R1 Gói miễn phí
Z.AI GLM GLM-4.7 / 4.5-Flash Miễn phí mãi mãi
Baidu ERNIE ERNIE 4.0 Miễn phí mãi mãi
Qoder AI Qwen3-Max, Kimi-K2 MIỄN PHÍ không giới hạn
Pollinations GPT, Llama, Claude Không cần khóa
Cloudflare AI Hơn 50 mô hình 10K neuron/ngày
NVIDIA NIM GLM, MiniMax ~40 RPM miễn phí
Cerebras GLM 4.7, GPT-OSS Tín dụng $5 dùng một lần; yêu cầu thẻ
OpenRouter Các mô hình :free +$10 → RPM cao hơn
📖 Danh mục đầy đủ có thể đọc bằng máy → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Nơi OmniRoute chạy — Mọi nơi
> Cùng một ứng dụng, máy của bạn, quy tắc của bạn. Từ cài đặt npm toàn cầu đến** điện thoại của bạn** thông qua Termux.
Nền tảng
Cài đặt
Điểm nổi bật
📦 npm (toàn cầu)
npm cài đặt -g omniroute
Một lệnh, bất kỳ OS
⚡ Bun (toàn cầu)
bun add -g omniroute
Cùng một tarball đăng ký, cài đặt nhanh hơn
🐳 Docker
docker chạy … diegosouzapw/omniroute
Nhiều vòm AMD64 + ARM64
🖥️ để bàn (Electron)
npm run electron:build
hệ thống cửa sổ gốc + — Windows / macOS / Linux
🎩 Thanh menu (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Giám sát & tự động cập nhật máy chủ — macOS
💪 ARM
arm64
Raspberry Pi, ARM chủ zqm, Apple Silicon
📱 Android (Termux)
pkg cài đặt nodejs && npx -y omniroute
Chạy trên điện thoại của bạn , 24/7, không cần root
📲 PWA
"Thêm vào màn hình chính"
Toàn màn hình, ngoại tuyến, có thể cài đặt từ trình duyệt
🧩 OpenCode plugin
@omniroute/opencode-provider
OpenCode hợp
🤖 VS Mã Copilot Trò chuyện
cài đặt OmniCopilot mở rộng
Mọi mô hình OmniRoute trong bộ chọn trò chuyện Copilot gốc — & ổn định Người dùng nội bộ
🛠️ Từ nguồn
npm install && npm run dev
Hack vào nó, đóng góp
📖 [Docker Hướng dẫn](docs/guides/DOCKER_GUIDE.md) · [Máy tính để bàn](electron/README.md) · [Khay thanh menu](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Mới: OmniRoute bên trong Trò chuyện Copilot gốc của Mã VS
> Không có thanh bên mới, không có UI trò chuyện mới - mọi mẫu OmniRoute phục vụ đều hiển thị ngay trong** Bộ chọn mô hình trò chuyện Copilot bạn đã sử dụng** . Kể từ Mã VS 1.122, các mô hình nhà cung cấp hoạt động mà không cần đăng nhập GitHub hoặc đăng ký Copilot — chế độ đại lý, gọi công cụ và tầm nhìn, miễn phí.
Cài đặt** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** tiện ích mở rộng, trỏ nó vào máy chủ OmniRoute của bạn (mặc định là `localhost:20128`), sau đó mở bộ chọn mô hình Copilot Trò chuyện → →** Quản lý mô hình…** →**OmniRoute** .
Từ bên trong trình chỉnh sửa: mở** Tiện ích mở rộng** xem, tìm kiếm** "OmniRoute"** , bấm vào** Cài đặt** - hoạt động theo cách tương tự trên cả hai cửa hàng. Nguồn, các vấn đề và sổ tay xuất bản trực tiếp tại [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Mã Copilot Hướng dẫn trò chuyện](docs/guides/VSCODE-COPILOT.md) — thiết lập, nội dung bộ chọn hiển thị, bảng thông tin trong tab, khắc phục sự cố
### 🎩 Mới: OmniRouteTray — cổng của bạn, sống trong thanh menu
> `omniroute serve` hạnh phúc nhất khi nó luôn bật.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** biến nó thành một ứng dụng thanh menu có thể cài đặt và quên cho macOS: nó khởi động máy chủ, duy trì hoạt động trong suốt quá trình khởi động lại, cập nhật tại chỗ và đặt ngân sách mã thông báo trực tiếp của bạn chỉ bằng một cú nhấp chuột —** không có cửa sổ đầu cuối nào được mở, không có `npm install -g omniroute` để trông trẻ.**
Được xây dựng bằng [Tauri v2](https://v2.tauri.app/) (lõi Rust có kích thước bằng một lỗi làm tròn), nó vận chuyển thời gian chạy Node 24 đã ký của riêng mình và quản lý cài đặt OmniRoute do ứng dụng sở hữu, do đó, nó không bao giờ chống lại `node`/`bun` toàn cầu của bạn. Nó** chia sẻ cấu hình và cơ sở dữ liệu `~/.omniroute/` hiện có của bạn** — vậy thì đó chính là OmniRoute mà bạn đã chạy, chỉ với một chiếc mũ trên đầu. 🎩
Nó làm gì
thế nào
🟢 Giám sát máy chủ
Sinh ra omniroute phục vụ , sử dụng một phiên bản đã chạy thay vì sao chép nó
📊 lược về cách sử dụng trực tiếp
Thanh hạn ngạch của nhà cung cấp, giới hạn Claude session/weekly với đếm ngược đặt lại, phân tích chi phí trong 30 ngày
🔄 Tự động cập nhật tại chỗ
Cài đặt theo giai đoạn, hoán đổi nguyên tử, khôi phục khi thất bại — luôn có trên bản phát hành mới nhất
🚀 Bắt đầu đăng nhập
chạy tùy chọn khi đăng nhập; chỉ có khay, không có biểu tượng dock
🩺 Doctor & ghi nhật ký
Chẩn đoán bằng một cú nhấp chuột và truy cập nhật ký máy chủ
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Thích tải xuống? Lấy .dmg mới nhất từ
Phát hành . Nguồn, vấn đề và xây dựng
tài liệu trực tiếp tại zoispag/omniroute-tray.
💛 Một dự án cộng đồng của @zoispag - không phải là bản phát hành OmniRoute chính thức.
> Không chỉ là một máy chủ, OmniRoute còn là một **buồng điều khiển dòng lệnh đầy đủ** với **hơn 80 lệnh**, cùng các giao thức tác nhân mở để một tác nhân AI có thể **tự vận hành**.
### ⌨️ Một CLI thực thụ (không chỉ có `start`)
```bash
omniroute # chạy gateway + bảng điều khiển (cổng 20128)
omniroute chat # trình chat TUI tương tác (lệnh gạch chéo: /model /combo /skill /memory)
omniroute setup # trình hướng dẫn thiết lập cho lần chạy đầu tiên
omniroute doctor # chẩn đoán nhà cung cấp, cổng, các phần phụ thuộc native
```
### 🛰️ Chế độ từ xa — chạy CLI tại đây, OmniRoute trên VPS
OmniRoute đang chạy trên máy chủ? Điều khiển nó từ laptop của bạn bằng **chính CLI đó**. Đăng nhập một lần
bằng token truy cập có phạm vi; sau đó mọi lệnh đều nhắm đến máy chủ từ xa.
```bash
omniroute connect 192.168.0.15 # mật khẩu → token có phạm vi, được lưu dưới dạng ngữ cảnh
omniroute models # ← chạy trên máy chủ TỪ XA
omniroute configure codex # ← chọn mô hình từ xa, ghi hồ sơ Codex cục bộ
omniroute tokens create --name ci --scope read # tạo token có phạm vi hẹp hơn cho các máy khác
omniroute contexts use default # ← chuyển về máy chủ cục bộ
```
Token có phạm vi `read` / `write` / `admin`; các route khởi tạo tiến trình vẫn chỉ được phép trên loopback.
📖 [Chế độ từ xa](docs/guides/REMOTE-MODE.md)
### 🤝 Kết nối một tác nhân — và tác nhân đó sẽ tự điều khiển OmniRoute
Cung cấp OmniRoute qua **MCP**, **A2A**, **REST API**, **webhook** hoặc **CLI từ xa** — bất kỳ tác nhân đủ năng lực nào (hoặc mã của riêng bạn) cũng có quyền điều khiển toàn bộ gateway: định tuyến, nhà cung cấp, combo, bộ nhớ đệm, nén, bộ nhớ — một cách tự động. Các endpoint HTTP bên dưới được phục vụ tại `http://localhost:20128`.
Giao diện
Endpoint / lệnh
Dùng để
🧰 MCP (stdio)
omniroute --mcp
Tích hợp với Claude Desktop, Cursor hoặc bất kỳ máy khách MCP nào
🌊 MCP (HTTP)
/api/mcp/stream
MCP từ xa — 110 công cụ, 33 phạm vi (tùy chọn bật thực thi), nhật ký kiểm tra đầy đủ
📡 MCP (SSE)
/api/mcp/sse
Phương thức truyền tải MCP dạng streaming
🤝 A2A
/.well-known/agent.json
Tác nhân với tác nhân, JSON-RPC 2.0 + SSE, 6 kỹ năng
🌐 REST API
/v1/*
Tương thích với OpenAI — chat, embedding, hình ảnh, âm thanh, OCR
🔔 Webhook
/api/webhooks
Đẩy các sự kiện yêu cầu / hạn ngạch đến Slack, Discord, Telegram hoặc bất kỳ URL nào
🛰️ CLI từ xa
omniroute connect
Điều khiển một phiên bản từ xa bằng token truy cập có phạm vi
```bash
# Cung cấp cho Claude Code toàn bộ bộ công cụ OmniRoute qua MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [Máy chủ MCP](docs/frameworks/MCP-SERVER.md) · [Máy chủ A2A](docs/frameworks/A2A-SERVER.md) · [Giao thức tác nhân](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Tự động tiết kiệm 15–95% token
### 📖 Cách hoạt động — pipeline, kiến trúc & phép tính mức tiết kiệm
Combo xếp chồng mặc định chạy `RTK → Caveman`. Khi cả hai cùng tác động lên payload tool/context, mức tiết kiệm sẽ cộng dồn:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Các khối mã, URL, JSON và dữ liệu có cấu trúc **luôn được engine bảo toàn bảo vệ**.
> **Tại sao phải dùng nhiều token khi ít token cũng đủ?** Mọi yêu cầu đều đi qua pipeline nén của OmniRoute **một cách trong suốt** — không cần thay đổi client. Hiện đây là một **chuỗi gồm 12 engine có thể kết hợp** chạy theo thứ tự và được phối hợp linh hoạt theo từng combo định tuyến — phát triển dựa trên các ý tưởng từ [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua), và [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Chuỗi 12 engine
Các engine chạy theo thứ tự của pipeline; mỗi engine có thể được bật/tắt độc lập và cấu hình theo từng combo:
#
Engine
Chức năng
1
Session-Dedup
Loại bỏ nội dung lặp lại giữa các lượt (dựa trên địa chỉ nội dung, xuyên suốt các lượt)
2
CCR
Lưu trữ các khối lớn phía sau marker truy xuất, chỉ lấy khi cần
3
Lite
Cắt giảm khoảng trắng + URL hình ảnh (baseline nhẹ độ trễ)
4
RTK
Lọc, loại bỏ trùng lặp và cắt ngắn kết quả tool thông minh (nhận biết command)
5
Responses Tool Output
JSON ưu tiên không mất dữ liệu + nén chẩn đoán có giới hạn cho output shell/patch/search/build (Responses API)
6
Headroom
Nén dạng bảng không mất dữ liệu cho các mảng JSON (~30%) thông qua codec GCF được tích hợp
7
Relevance
Chấm điểm câu theo phương pháp trích xuất dựa trên truy vấn gần nhất của người dùng
8
Caveman
Nén văn bản dựa trên quy tắc (~65–75% trên output)
9
Aggressive
Tóm tắt + làm cũ dần các lượt trước
10
LLMLingua-2
Loại bỏ ngữ nghĩa bằng ML thông qua MobileBERT ONNX — an toàn với code, bất đồng bộ
11
Ultra
Loại bỏ token theo heuristic với một tầng model nhỏ (SLM) tùy chọn
12
OmniGlyph
Mã hóa context dưới dạng hình ảnh mang tính thử nghiệm cho Claude Fable 5 đã được đo lường trên đường truyền Anthropic trực tiếp; các transformer GPT 5.6 vẫn dừng an toàn khi đóng do đang chờ biên nhận từ provider. Bốn profile nén (aggressive mặc định, balanced, coding-safe, passthrough) (mạnh nhất; phải chủ động bật)
Các khối mã, URL và dữ liệu có cấu trúc được **luôn bảo toàn chính xác từng byte**. **Preset một lần nhấp** kết hợp các engine:
Chế độ
Mức tiết kiệm
Phù hợp nhất cho
🪶 Lite
~15%
Mặc định an toàn, luôn bật
🪨 Standard (Caveman)
~30%
Lập trình hằng ngày
⚡ Aggressive
~50%
Các phiên làm việc dài với nhiều tool
🔥 Ultra
~75%
Mức tiết kiệm tối đa
🧰 RTK
60–90%
Output của shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95%
Prompt kết hợp + log tool
**Ví dụ thực tế — chế độ Standard:**
> **Trước (69 token):** _"Lý do component React của bạn re-render có khả năng là vì bạn đang tạo một tham chiếu object mới ở mỗi chu kỳ render. Khi truyền một object inline làm prop, phép so sánh nông của React sẽ xem đó là một object khác ở mỗi lần, từ đó kích hoạt re-render. Tôi khuyến nghị sử dụng useMemo để ghi nhớ object."_
>
> **Sau (19 token):** _"Tham chiếu object mới ở mỗi lần render. Prop object inline = tham chiếu mới = re-render. Bọc bằng useMemo."_
>
> **Cùng một câu trả lời. Ít hơn 72% token. Không mất độ chính xác.** ✅
**Ví dụ PT-BR — chế độ [Troglodita](https://github.com/leninejunior/troglodita):**
> **Trước (42 token):** _"Vấn đề là component đang re-render vì một tham chiếu object mới được tạo trong mỗi chu kỳ render. Tôi khuyến nghị sử dụng useMemo."_
>
> **Sau (12 token):** _"Re-render: tham chiếu mới mỗi chu kỳ (object inline được tạo lại). Dùng `useMemo`."_
>
> **Cùng một câu trả lời. Giảm ~70% token. Độ chính xác kỹ thuật vẫn nguyên vẹn.** ✅
### 🎚️ Vượt ra ngoài các engine — kiểu đầu ra, nút điều chỉnh thích ứng & kiểm soát theo từng request
12 engine ở trên thu gọn phần **đầu vào**. Ba lớp khác định hình **cách**, **thời điểm** và nội dung **đầu ra**:
- **🪄 Kiểu đầu ra** _(điều hướng theo trục đầu ra)_ — chèn các hướng dẫn định hình phản hồi mang tính xác định, an toàn với bộ nhớ đệm; có thể kết hợp, mỗi kiểu có cường độ `lite` / `full` / `ultra`. Thêm một kiểu chỉ cần một dòng trong registry:
- **Văn phong súc tích** — loại bỏ phần thừa / mạo từ / cách diễn đạt dè dặt; giữ nguyên độ chính xác của nội dung kỹ thuật.
- **Ít code hơn** — YAGNI theo phong cách "lập trình viên senior lười": thay đổi nhỏ nhất nhưng hoạt động được, không thêm scaffolding ngoài yêu cầu.
- **Ponytail (lập trình viên senior lười)** — tiến dần theo bậc thang YAGNI, xử lý nguyên nhân gốc, tạo diff nhỏ nhất nhưng hoạt động được.
- **Tôi bị ADHD (ưu tiên hành động)** — hành động tiếp theo được đưa lên trước, các bước được đánh số, một bước tiếp theo cụ thể, không mở đầu dài dòng.
- **CJK súc tích (文言)** — văn phong siêu súc tích bằng tiếng Trung cổ điển (chỉ bật theo locale `zh`).
- **🎯 Ngân sách context thích ứng** _(nút điều chỉnh)_ — thay vì một ngưỡng token bật/tắt duy nhất, chỉ nâng mức các engine rẻ nhất và ít gây mất mát nhất khi cần, đủ để **vừa với cửa sổ context của model**. Chính sách: `reserve-output` (mặc định, nhận biết model) · `percentage` · `absolute`. Chế độ: `floor` (đảm bảo vừa) · `replace-autotrigger` (lựa chọn rõ ràng của bạn được ưu tiên) · `off` (ngưỡng cũ).
- **🎛️ Nơi quyết định việc nén** _(độ ưu tiên, cao → thấp)_ — header `x-omniroute-compression` theo từng request › ghi đè routing-combo › profile có tên đang hoạt động › adaptive / auto-trigger › mặc định của panel › off. Plan được áp dụng sẽ được phản hồi trong header `X-OmniRoute-Compression: ; source=`.
Tự động kích hoạt theo ngưỡng token, bật nút điều chỉnh thích ứng, ghim một profile có tên, thiết lập cho một request riêng lẻ hoặc gán một pipeline cho từng routing combo — chọn cách phù hợp với workload. **eval harness** ngoại tuyến tùy chọn (`npm run eval:compression`) sẽ chấm điểm độ trung thực so với mức tiết kiệm trên một corpus cố định trước khi bạn triển khai thay đổi.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Bắt đầu nhanh
**1) Cài đặt & chạy**
```bash
npm install -g omniroute
omniroute
```
> 💡 Thấy `npm warn ERESOLVE` hoặc cảnh báo peer-dep? [Chúng không gây hại](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Đang sử dụng npm 11 trở lên?** npm có thể chặn các script vòng đời của package trừ khi chúng được cho phép. `postinstall` của OmniRoute (`node scripts/build/postinstall.mjs`) là bắt buộc để chuẩn bị các file runtime native. Cho phép các package được nêu trong cảnh báo của npm khi cài đặt toàn cục. Với bộ package được OmniRoute 3.8.54 báo cáo:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Để tái sử dụng allowlist này cho các lần cài đặt toàn cục sau, hãy cấu hình một lần, rồi cài đặt như bình thường:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Danh sách dependency có thể thay đổi giữa các bản phát hành; nếu npm báo một danh sách khác, hãy sử dụng tên package từ cảnh báo đó. Cho phép một package đồng nghĩa với việc cho phép các install script của package đó chạy.
> **Đang sử dụng Gemini Web hoặc một provider dựa trên web-cookie khác?** Package npm bao gồm
> Playwright nhưng không bao gồm binary Chromium. Hãy xem ghi chú
> [thiết lập Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> trước khi thực hiện request đầu tiên tới web-provider.
Dashboard tại `http://localhost:20128` · API tại `http://localhost:20128/v1`.
**2) Kết nối một provider đủ điều kiện bằng tài khoản của bạn**
Dashboard → **Providers** → chọn một provider có điều khoản hiện hành và quota phù hợp với trường hợp sử dụng của bạn → thêm API key hoặc hoàn tất quy trình tài khoản. Các gói miễn phí có thể yêu cầu đăng ký, phê duyệt hoặc phương thức thanh toán. Xem [Hướng dẫn các gói miễn phí](docs/getting-started/FREE-TIERS-GUIDE.md); khả năng sử dụng không cần key không được đảm bảo, và các provider được đánh dấu `tos: avoid` mặc định sẽ bị loại khỏi `auto`.
**3) Trỏ công cụ lập trình của bạn**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Xác minh hoạt động**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Bạn sẽ thấy các model đã kết nối được liệt kê. 🎉 Vậy là xong — bắt đầu lập trình, OmniRoute sẽ tự động định tuyến và chuyển sang phương án dự phòng cho bạn.
Nếu client của bạn không thể gửi header tùy chỉnh, OmniRoute cũng cung cấp các alias tương thích có token:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Chỉ sử dụng các alias này cho những client không thể đính kèm `Authorization: Bearer ...`. Xác thực bằng header vẫn là chế độ được ưu tiên.
## 📦 Các phương thức cài đặt khác — Docker, mã nguồn, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` luôn trỏ đến phiên bản SemVer ổn định **đã phát hành** cao nhất. Thẻ này không theo dõi nhánh git `main`. Hãy ghim `:X.Y.Z` khi dùng GitOps. Xem [Các kênh phát hành Docker](docs/guides/DOCKER_GUIDE.md#release-channels). Image ghim **`OMNIROUTE_MEMORY_MB=1024`**. Mức này đủ cho bảng điều khiển và các cuộc trò chuyện nhẹ. **Các tác nhân lập trình** (`POST /v1/responses` từ Claude Code, Codex, Grok, …) cần heap V8 lớn hơn nhiều, nếu không tiến trình sẽ gặp `FATAL ERROR` ở mức khoảng 12 GiB khi có hai ngữ cảnh dài chồng lấn. Hãy đặt giới hạn bộ nhớ container cao hơn heap (các bộ đệm native nằm ngoài V8):
| Khối lượng công việc | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| --------------------------------- | ------------------------------- | ---------------------- |
| Bảng điều khiển / trò chuyện nhẹ | `1024` (mặc định của image) | ≥2 g |
| Một tác nhân lập trình | `8192` | ≥10 g |
| Hai `/v1/responses` dài đồng thời | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
Bảng đầy đủ: [Hướng dẫn Docker — RAM khi chạy](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Kênh Docker tiền phát hành:** `diegosouzapw/omniroute:next` và
> `diegosouzapw/omniroute:next-web` theo dõi nhánh `release/v*` mặc định hiện tại.
> Các thẻ có thể thay đổi này chỉ dành cho việc kiểm thử các bản sửa lỗi chưa phát hành và
> **không được hỗ trợ cho môi trường production**. Xem
> [Các kênh phát hành Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
`bun install` tiêu chuẩn và cài đặt toàn cục (`bun install -g omniroute`) được hỗ trợ thông qua cơ chế phát hiện runtime Bun:
- **`bun:sqlite` tích hợp sẵn**: OmniRoute sử dụng driver `bun:sqlite` tích hợp sẵn của Bun khi chạy trên Bun và chuyển sang `better-sqlite3` trên Node.js hoặc `sql.js` nếu cần.
- **Tự động chọn trình đóng gói Webpack trong môi trường phát triển**: Chế độ phát triển (`bun run dev`) tự động phát hiện Bun và tắt Turbopack để chuyển sang Webpack, nhằm ngăn các vấn đề không tương thích với liên kết native V8. Các bản dựng production (`bun run build`) tuân theo `OMNIROUTE_USE_TURBOPACK` chính xác như trên Node: mặc định dùng Turbopack, đặt `OMNIROUTE_USE_TURBOPACK=0` để dựng bằng Webpack (`Dockerfile.bun` cung cấp biến này dưới dạng `--build-arg`).
- **Dockerfile riêng cho Bun**: `Dockerfile.bun` nhiều giai đoạn dành cho các bản triển khai production Bun native (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Cài đặt và chạy bằng Bun
bun install
bun run dev
```
**🛠️ Từ mã nguồn**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Sử dụng Nix flakes
nix develop
npm run dev
# Hoặc sử dụng devbox
devbox run npm run dev
```
📖 [Hướng dẫn Docker](docs/guides/DOCKER_GUIDE.md) — Các profile Compose, Caddy HTTPS, tunnel Cloudflare.
**🦭 Podman**
```bash
# 1. Chuẩn bị thư mục dữ liệu được bind mount
mkdir -p data
# 2. Chỉ dành cho Linux + Podman rootless cục bộ (không bao giờ dùng trên máy khách Podman Machine từ xa):
podman unshare chown 1000:1000 ./data
# 3. Đặt gợi ý runtime, dựng image Compose cục bộ và khởi động
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Trên macOS hoặc Windows, Podman sử dụng Podman Machine từ xa: hãy bỏ qua `podman unshare` và
làm theo [hướng dẫn về thư mục dữ liệu dành riêng cho từng cấu trúc triển khai](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Hướng dẫn Podman](contrib/podman/README.md) — Các bản dựng Compose, Podman Machine và
thiết lập Quadlet Linux/systemd.
**⚡ Cài đặt nhanh hơn / gọn nhẹ hơn (bỏ qua bước dựng native)**
Công cụ SQLite native (`better-sqlite3`) là một dependency **tùy chọn**, vì vậy quá trình cài đặt
toàn cục không bao giờ bị chặn do phải biên dịch từ mã nguồn: hệ thống sử dụng binary dựng sẵn khi có
bản phù hợp với nền tảng/Node của bạn, nếu không sẽ tự động chuyển sang công cụ JavaScript thuần
(`node:sqlite` trên Node 22+, nếu không thì dùng `sql.js` WASM đi kèm) — không yêu cầu công cụ dựng.
Để bỏ qua hoàn toàn bước khởi động native sau khi cài đặt (CI, môi trường headless hoặc máy chậm):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 cũng bỏ qua bước này
```
Để cài đặt nhanh nhất, hãy ưu tiên **pnpm** (kho lưu trữ định địa chỉ theo nội dung + liên kết cứng — xem phần trên).
Để sử dụng runtime headless không có bảng điều khiển, hãy dùng profile Docker `base` (ở trên) hoặc
[hướng dẫn Termux](docs/guides/TERMUX_GUIDE.md). CLI và bảng điều khiển web được cung cấp bởi cùng một
tiến trình trên một cổng, vì vậy hiện chưa có package riêng chỉ dành cho CLI.
# 🎬 OmniRoute trong thực tế
## 📹 Hướng dẫn bằng video
Ảnh chụp bảng điều khiển vào 2026-10-18 · Danh mục thô: YT 1.352 | TT 334 | IG 290 · Độ mới (ngày): YT 5 | TT 48 | IG 49
**Bảng xếp hạng đầy đủ (các URL chuẩn đã được loại bỏ trùng lặp, `v > 0`, phạm vi tiếp cận cao nhất):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** |
| #6 | #7 | #8 | #9 | #10 |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** |
Số liệu chuẩn vào 2026-10-18: **1.976 video duy nhất** · **20.220.289 lượt xem đã biết** (`v > 0`) · **1.210 kênh/hồ sơ theo từng mạng**. Bảng điều khiển thô chứa 1.976 hàng (YouTube 1.352 = 740 video dài + 612 Shorts · TikTok 334 · Instagram 290); không còn bản trùng lặp nào sau khi chuẩn hóa theo URL chính tắc, trong đó giữ lại số lượt xem cao nhất cho mỗi video. Việc thu thập dữ liệu YouTube đã bị đóng băng từ 2026-10-13 (hạn ngạch API đã cạn từ 14 đến 18/10), còn TikTok/Instagram từ 2026-09-02 (không còn tín dụng thu thập dữ liệu); 76 video vẫn chưa có số lượt xem.
> 🎬 **Bạn đã làm video về OmniRoute?** Hãy mở một [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) hoặc [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) kèm theo liên kết — chúng tôi sẽ giới thiệu video đó tại đây.
# 📧 Cộng đồng & Trợ giúp
> Mọi thứ ở cùng một nơi — theo dõi người bảo trì, trò chuyện với cộng đồng hoặc mở một issue.
| Kênh | Ở đâu / bằng cách nào |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — theo dõi người bảo trì | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — theo dõi các bản phát hành và mẹo | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 Toàn cầu** | [tham gia nhóm](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 Brasil** | [tham gia nhóm](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **Trang web** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍Cộng đồng StHub OmniRoute (miễn phí)** | [cổng thông tin StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **Mã nguồn** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **Báo cáo lỗi** | [mở một issue](https://github.com/diegosouzapw/OmniRoute/issues) — đính kèm đầu ra của `npm run system-info` |
| 🤝 **Đóng góp** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Mô hình phân nhánh và phát hành](docs/ops/BRANCHING_MODEL.md) · chọn một `good first issue` |
| 💚 **Hỗ trợ dự án** | [Các cách hỗ trợ ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
Server-Sent Events (SSE) + cầu nối WebSocket (/v1/ws)
Nén
Quy trình 12 công cụ — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Xác thực & bảo mật
OAuth 2.0 (PKCE) + JWT + API Keys + xác thực MCP giới hạn phạm vi · AES-256-GCM khi lưu trữ · DOMPurify
Ẩn danh
wreq-js — giả lập dấu vân tay TLS JA3 / JA4, proxy 3 cấp
Khả năng chống lỗi
Bộ ngắt mạch, backoff lũy thừa, chống hiệu ứng đàn gia súc, tự phục hồi auto-combo
Ghi nhật ký
pino — nhật ký JSON có cấu trúc với ngữ cảnh yêu cầu
Kiểm thử
Trình chạy kiểm thử Node.js + Vitest — hơn 60.000 khai báo kiểm thử tĩnh trong hơn 8.400 tệp kiểm thử được theo dõi (unit, tích hợp, E2E, bảo mật, hệ sinh thái)
Nền tảng
Máy tính để bàn (Electron) · Android (Termux) · PWA (mọi trình duyệt)
CI/CD
GitHub Actions — tự động phát hành npm + Docker Hub khi phát hành bản mới
Chiến lược bao phủ kiểm thử cho hơn 60.000 khai báo kiểm thử tĩnh trên hơn 8.400 tệp kiểm thử được theo dõi
# ⭐ Những người đóng góp hàng đầu
> OmniRoute được định hình bởi một cộng đồng mã nguồn mở đầy nhiệt huyết. Những cá nhân này đã có những đóng góp xuất sắc, tác động trực tiếp đến chất lượng, độ ổn định và phạm vi tiếp cận của dự án. **Xin cảm ơn.**
### Những người đóng góp bên ngoài theo số lượng pull request đã hợp nhất
Thống kê được thực hiện vào 2026-11-03 03:01:19 UTC với mã tip trực tiếp release/v3.8.5305bc048d6c. Thống kê GitHub GraphQL được phân trang bao gồm 9.947 PR đã hợp nhất: 4.130 do chủ sở hữu kho lưu trữ thực hiện, 240 do Dependabot thực hiện, 6 do các bot/ứng dụng khác thực hiện và 5.571 PR bên ngoài từ 883 người đóng góp riêng biệt. “Dòng đã thay đổi” là tổng số dòng thêm + xóa trên GitHub và bao gồm các tệp được tạo tự động, lockfile, danh mục, bản dịch và tài liệu; đây là mức độ biến động, không phải LOC do tác giả viết. 53 PR báo cáo phần chênh lệch trên GitHub vượt quá 500.000 dòng (ví dụ #13399, một lần bổ sung nhà cung cấp duy nhất, liệt kê 2.347 tệp đã thay đổi), làm tăng tổng số ở trên. Các trường hợp bằng hạng được xếp cùng nhau.
### Các commit do GitHub ghi nhận
Kiểm tra lại vào 2026-11-03 02:09:16 UTC: các lượt commit được GitHub ghi nhận do Contributors API của kho lưu trữ báo cáo cho nhánh mặc định release/v3.8.53. API đã trả về 903 danh tính (429 người dùng, 2 bot, 472 danh tính ẩn danh); bảng này loại trừ người duy trì, bot và các danh tính ẩn danh, đồng thời giữ lại các trường hợp đồng hạng. Bảng này khác với cả bảng xếp hạng PR đã hợp nhất ở trên và cuộc thống kê siêu dữ liệu Git bên dưới.
> 🙏 Các tính năng, bản sửa lỗi và cải tiến hạ tầng của những người đóng góp này là **một phần cốt lõi** làm nên độ tin cậy và sự phong phú về tính năng của OmniRoute. Mỗi pull request, mỗi trường hợp kiểm thử và mỗi tệp bản dịch i18n đều quan trọng. Mã nguồn mở được xây dựng bởi những người như họ.
---
## 💖 Nhà tài trợ
Xin chân thành cảm ơn những người đã tự bỏ tiền túi tài trợ cho OmniRoute — mỗi khoản đóng góp đều giúp dự án luôn miễn phí, độc lập và tiếp tục phát triển.
… và những người khác muốn giữ kín danh tính 💛Các nhà tài trợ công khai trên GitHub đã được xác thực lại vào ngày 2026-10-18 thông qua GitHub Sponsors GraphQL API: 11 khoản tài trợ công khai (6 đang hoạt động, 5 trước đây) trong tổng số 14 khoản. Trạng thái isActive của GitHub xác định các nhãn đang hoạt động ở trên; những người ủng hộ công khai một lần trước đây vẫn được tri ân, còn các nhà tài trợ riêng tư vẫn được ẩn danh. Các khoản quyên góp qua Ko-fi, Buy Me a Coffee, Liberapay, PIX và tiền mã hóa không được liệt kê vì không có hồ sơ nhà tài trợ công khai.💖 Trở thành nhà tài trợ → — mỗi đô la đều giúp OmniRoute luôn miễn phí và độc lập.
## 👥 Hơn 1.000 người đóng góp
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Được kiểm tra vào ngày 2026-11-02 tại tip release/v3.8.53 trực tiếp 1c7135e0fb (7.972 commit): 1.074 danh tính Git của con người đã được chuẩn hóa — 759 xuất hiện với tư cách tác giả commit (bao gồm cả người bảo trì) và 315 chỉ xuất hiện trong các trailer Co-authored-by rõ ràng. Việc thống kê áp dụng .mailmap, so sánh địa chỉ e-mail không phân biệt chữ hoa chữ thường, liên kết các địa chỉ GitHub noreply dạng số và dạng thông thường chỉ khi chúng mã hóa cùng một handle, loại trừ 29 danh tính bot/agent/dịch vụ/placeholder, và không gộp các địa chỉ e-mail thông thường chỉ vì tên hiển thị của chúng trùng khớp. Lần kiểm tra ngày 2026-08-24 đã công bố 639; việc chạy lại phương pháp này trên base ac02c5b42f của lần kiểm tra đó cho kết quả 619, vì vậy mức tăng đến từ những người đóng góp mới, không phải do phương pháp lỏng lẻo hơn.
### Cách đóng góp
1. Fork repository
2. Tạo branch từ tip `release/vX.Y.Z` **đang hoạt động** (không phải `main`) — xem [Mô hình phân nhánh & phát hành](docs/ops/BRANCHING_MODEL.md)
3. Tạo branch tính năng của bạn (`git checkout -b feat/amazing-feature`)
4. Commit các thay đổi của bạn (`git commit -m 'feat: add amazing feature'`)
5. Push lên branch (`git push origin feat/amazing-feature`)
6. Mở Pull Request với **base = branch `release/vX.Y.Z` đó**
Xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết hướng dẫn chi tiết.
### Phát hành phiên bản mới
```bash
# Tạo bản phát hành — npm publish sẽ tự động được thực hiện
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Sao
## 🌍 StarMapper
## 🙏 Lời cảm ơn
OmniRoute được xây dựng trên nền tảng của những dự án lớn. Dự án bắt đầu dưới dạng một fork của **[9router](https://github.com/decolua/9router)** và một bản chuyển đổi TypeScript của dự án Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — và từ đó, mọi hệ thống con bên dưới đều được lấy cảm hứng từ một dự án mã nguồn mở đã đi trước. Mỗi dự án đều góp phần định hình một phần cụ thể của OmniRoute. Đây là lời cảm ơn của chúng tôi dành cho tất cả các dự án đó. 🙏
> ⭐ số lượng sao được xác minh từ GitHub REST API vào ngày 3 tháng 11 năm 2026 — hãy trao cho những dự án này một ngôi sao. Các số liệu là ảnh chụp chính xác tại thời điểm nêu trên và đương nhiên sẽ thay đổi theo thời gian.
### 🧬 Dòng phát triển & cổng kết nối
Cổng AI có bộ dữ liệu giá công khai cung cấp dữ liệu cho quá trình đồng bộ theo dõi chi phí của chúng tôi, đồng thời mô hình chuẩn hóa nhà cung cấp của dự án đã định hướng cho việc định tuyến.
Mã nguồn MIT được điều chỉnh thành cầu nối ChatGPT Web → Codex Responses được tích hợp trong nhà cung cấp, bao gồm các bộ chuyển đổi phiên trình duyệt, đóng khung phản hồi, mức sử dụng và tìm kiếm web.
Các mẫu được chuyển vào quá trình khôi phục luồng, bí danh no-thinking, tìm kiếm web dự phòng, giới hạn cửa sổ trượt, che giấu dữ liệu trong nhật ký và các luồng khởi chạy được tăng cường bảo mật.
Các mặc định chuyển đổi tương thích với Claude Code và hành vi của billing-header được khái quát hóa thành cầu nối điều khiển bằng cấu hình của OmniRoute.
Các ánh xạ mô hình Grok, trình tạo Statsig giả lập TypeError, các mặc định về yêu cầu và thiết bị, cùng bộ xử lý phản hồi NDJSON của dự án đã được điều chỉnh đáng kể vào trình thực thi Grok Web của OmniRoute.
Nguồn mã chuyển tiếp chính đứng sau grok2api-merged; các triển khai mô hình, header, payload, Statsig và bộ xử lý của dự án được giữ lại trong dòng phát triển Grok Web.
Mã nguồn MIT nền tảng cho các mặc định về payload và thiết bị của Grok, trình tạo Statsig và bộ xử lý result.response được truyền qua TQZHR và grok2api-merged.
Nguồn chuyển tiếp được grok2api-merged ghi nhận cho lớp proxy-pool; OmniRoute giữ lại thông báo về dòng phát triển này nhưng không tuyên bố đã chuyển cổng proxy-pool vào trình thực thi Grok Web có phạm vi giới hạn.
Thiết kế upstream HTTP/trình duyệt của triển khai Grok Web ban đầu đã được tham khảo; đường dẫn HTTP trực tiếp của dự án bắt nguồn từ GrokProxy, vì vậy không có tuyên bố chuyển cổng mã nguồn độc lập.
Dự án lan truyền với triết lý "why use many token when few token do trick" — triết lý nói kiểu người tiền sử của dự án cung cấp nền tảng cho chế độ nén tiêu chuẩn và hơn 30 quy tắc loại bỏ/ngưng tụ phần dư của chúng tôi.
Nén đầu ra lệnh hiệu năng cao — truyền cảm hứng cho engine RTK, DSL bộ lọc JSON, khả năng khôi phục đầu ra thô và pipeline RTK → Caveman xếp chồng của chúng tôi.
Nén token PT-BR — cung cấp nền tảng cho gói ngôn ngữ pt-BR của chúng tôi: giảm từ thừa và loại bỏ phần đệm được tinh chỉnh cho ngữ pháp tiếng Bồ Đào Nha Brazil.
Kỹ năng YAGNI-coder "lập trình viên cấp cao lười biếng" lan truyền — truyền cảm hứng cho Output Style less-code của chúng tôi: định hướng thay đổi nhỏ nhất nhưng vẫn hoạt động, giúp cắt giảm mã _được tạo_ (bổ trợ trên trục đầu ra cho văn xuôi súc tích của Caveman).
Phong cách phản hồi ưu tiên hành động, thân thiện với ADHD của dự án đã được điều chỉnh thành phong cách đầu ra súc tích của OmniRoute trên năm ngôn ngữ.
### 🧩 Định dạng nhỏ gọn, nghiên cứu token & công cụ nhận biết mã
Định dạng đồ thị nhỏ gọn và thiết kế generic-profile của dự án đã cung cấp thông tin cho tính năng nén dạng bảng và định dạng codec Headroom của OmniRoute.
Nén đầu ra nhận biết nội dung theo từng loại tệp, có cơ chế dừng khi phát hiện lỗi — xác thực cơ chế phân phối theo loại và bỏ qua khi mức lợi ích tối thiểu của chúng tôi.
JSON dạng cột trong Rust + truy xuất dựa trên địa chỉ nội dung + loại bỏ trùng lặp giữa các tin nhắn — xác thực thiết kế engine headroom/ccr/session-dedup và bất biến "dạng nén không phụ thuộc vị trí, ổn định với bộ nhớ đệm" của chúng tôi.
Bộ công cụ TypeScript Compiler API — truyền cảm hứng cho việc loại bỏ chú thích dựa trên parser, đồng thời bảo toàn các literal chuỗi, template và biểu thức chính quy.
Việc chặn/phân tích MITM lưu lượng giữa trợ lý lập trình ↔ LLM đã cung cấp thông tin cho các yêu cầu ban đầu của Traffic Inspector. Bốn mô-đun trước đây được suy ra — hợp nhất SSE, chuẩn hóa hội thoại, che giấu bí mật và làm sạch tiêu đề — đã được thay thế bằng các triển khai độc lập theo phương pháp clean-room, dựa trên các tiêu chuẩn giao thức công khai. Hai bề mặt chuyển tiếp máy chủ (passthrough.ts và _internal/bypass.cjs) vẫn là các triển khai nội bộ của OmniRoute, được phân loại độc lập; chúng không được viết lại trong quá trình thay thế đó.
Định tuyến proxy minh bạch theo từng tiến trình — truyền cảm hứng cho quá trình dọn dẹp MITM an toàn khi gặp sự cố, thời gian chờ khi socket nhàn rỗi, việc xác định tiến trình qua /proc và tính năng thu thập TPROXY của chúng tôi.
### 📚 Dữ liệu mô hình, khả năng quan sát & giao diện người dùng
Tính năng trực quan hóa đồ thị quy trình làm việc trực tiếp của LangGraph Studio đã truyền cảm hứng cho chế độ xem cascade theo thời gian thực trong các Studio của chúng tôi.
Danh sách được tuyển chọn các thư viện bảo mật theo mặc định, định hướng cho những lựa chọn bảo mật của chúng tôi (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Truyền cảm hứng cho tính năng loại bỏ yêu cầu trùng lặp, phương án dự phòng khẩn cấp không tốn chi phí, các chiến lược Auto-Combo có thể cắm thêm và phân loại ý định đa ngôn ngữ.
Tính năng ánh xạ lại mô hình theo tài khoản, xác thực đường dẫn tệp thực thi và hành vi nhãn gói cước của dự án đã cung cấp thông tin cho runtime Antigravity của OmniRoute.
Định dạng đếm ngược ngắn gọn đến thời điểm đặt lại hạn mức của dự án đã truyền cảm hứng cho phần hiển thị giới hạn nhà cung cấp tương ứng trong OmniRoute.
Đã xác định bề mặt hạn mức Grok Build; sau đó OmniRoute đã độc lập xác minh và hiệu chỉnh định dạng wire đang hoạt động.
## 📄 Giấy phép
Giấy phép MIT - xem [LICENSE](LICENSE) để biết thêm chi tiết.
---
**[⬆ Quay lại đầu trang](#-omniroute)** · Được xây dựng ❤️ vì cộng đồng AI mã nguồn mở.
Được tạo bởi Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Giấy phép MIT · omniroute.online