# OmniRoute — Dashboard Features Gallery (Tiếng Việt) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/FEATURES.md) · 🇪🇹 [am](../../../am/docs/guides/FEATURES.md) · 🇸🇦 [ar](../../../ar/docs/guides/FEATURES.md) · 🇦🇿 [az](../../../az/docs/guides/FEATURES.md) · 🇧🇬 [bg](../../../bg/docs/guides/FEATURES.md) · 🇧🇩 [bn](../../../bn/docs/guides/FEATURES.md) · 🇧🇦 [bs](../../../bs/docs/guides/FEATURES.md) · 🇨🇿 [cs](../../../cs/docs/guides/FEATURES.md) · 🇩🇰 [da](../../../da/docs/guides/FEATURES.md) · 🇩🇪 [de](../../../de/docs/guides/FEATURES.md) · 🇬🇷 [el](../../../el/docs/guides/FEATURES.md) · 🇪🇸 [es](../../../es/docs/guides/FEATURES.md) · 🇪🇪 [et](../../../et/docs/guides/FEATURES.md) · 🇮🇷 [fa](../../../fa/docs/guides/FEATURES.md) · 🇫🇮 [fi](../../../fi/docs/guides/FEATURES.md) · 🇫🇷 [fr](../../../fr/docs/guides/FEATURES.md) · 🇮🇪 [ga](../../../ga/docs/guides/FEATURES.md) · 🇮🇳 [gu](../../../gu/docs/guides/FEATURES.md) · 🇳🇬 [ha](../../../ha/docs/guides/FEATURES.md) · 🇮🇱 [he](../../../he/docs/guides/FEATURES.md) · 🇮🇳 [hi](../../../hi/docs/guides/FEATURES.md) · 🇭🇷 [hr](../../../hr/docs/guides/FEATURES.md) · 🇭🇺 [hu](../../../hu/docs/guides/FEATURES.md) · 🇦🇲 [hy](../../../hy/docs/guides/FEATURES.md) · 🇮🇩 [id](../../../id/docs/guides/FEATURES.md) · 🇳🇬 [ig](../../../ig/docs/guides/FEATURES.md) · 🇮🇹 [it](../../../it/docs/guides/FEATURES.md) · 🇯🇵 [ja](../../../ja/docs/guides/FEATURES.md) · 🇬🇪 [ka](../../../ka/docs/guides/FEATURES.md) · 🇰🇭 [km](../../../km/docs/guides/FEATURES.md) · 🇮🇳 [kn](../../../kn/docs/guides/FEATURES.md) · 🇰🇷 [ko](../../../ko/docs/guides/FEATURES.md) · 🇱🇹 [lt](../../../lt/docs/guides/FEATURES.md) · 🇱🇻 [lv](../../../lv/docs/guides/FEATURES.md) · 🇮🇳 [ml](../../../ml/docs/guides/FEATURES.md) · 🇮🇳 [mr](../../../mr/docs/guides/FEATURES.md) · 🇲🇾 [ms](../../../ms/docs/guides/FEATURES.md) · 🇲🇹 [mt](../../../mt/docs/guides/FEATURES.md) · 🇲🇲 [my](../../../my/docs/guides/FEATURES.md) · 🇳🇵 [ne](../../../ne/docs/guides/FEATURES.md) · 🇳🇱 [nl](../../../nl/docs/guides/FEATURES.md) · 🇳🇴 [no](../../../no/docs/guides/FEATURES.md) · 🇮🇳 [or](../../../or/docs/guides/FEATURES.md) · 🇮🇳 [pa](../../../pa/docs/guides/FEATURES.md) · 🇵🇭 [phi](../../../phi/docs/guides/FEATURES.md) · 🇵🇱 [pl](../../../pl/docs/guides/FEATURES.md) · 🇵🇹 [pt](../../../pt/docs/guides/FEATURES.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/FEATURES.md) · 🇷🇴 [ro](../../../ro/docs/guides/FEATURES.md) · 🇷🇺 [ru](../../../ru/docs/guides/FEATURES.md) · 🇱🇰 [si](../../../si/docs/guides/FEATURES.md) · 🇸🇰 [sk](../../../sk/docs/guides/FEATURES.md) · 🇸🇮 [sl](../../../sl/docs/guides/FEATURES.md) · 🇷🇸 [sr](../../../sr/docs/guides/FEATURES.md) · 🇸🇪 [sv](../../../sv/docs/guides/FEATURES.md) · 🇰🇪 [sw](../../../sw/docs/guides/FEATURES.md) · 🇮🇳 [ta](../../../ta/docs/guides/FEATURES.md) · 🇮🇳 [te](../../../te/docs/guides/FEATURES.md) · 🇹🇭 [th](../../../th/docs/guides/FEATURES.md) · 🇹🇷 [tr](../../../tr/docs/guides/FEATURES.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/FEATURES.md) · 🇵🇰 [ur](../../../ur/docs/guides/FEATURES.md) · 🇺🇿 [uz](../../../uz/docs/guides/FEATURES.md) · 🇳🇬 [yo](../../../yo/docs/guides/FEATURES.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/FEATURES.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/FEATURES.md) --- 🌐 **Languages:** 🇺🇸 [English](../../../../guides/FEATURES.md) · 🇪🇹 [am](../../../am/docs/guides/FEATURES.md) · 🇸🇦 [ar](../../../ar/docs/guides/FEATURES.md) · 🇦🇿 [az](../../../az/docs/guides/FEATURES.md) · 🇧🇬 [bg](../../../bg/docs/guides/FEATURES.md) · 🇧🇩 [bn](../../../bn/docs/guides/FEATURES.md) · 🇧🇦 [bs](../../../bs/docs/guides/FEATURES.md) · 🇨🇿 [cs](../../../cs/docs/guides/FEATURES.md) · 🇩🇰 [da](../../../da/docs/guides/FEATURES.md) · 🇩🇪 [de](../../../de/docs/guides/FEATURES.md) · 🇬🇷 [el](../../../el/docs/guides/FEATURES.md) · 🇪🇸 [es](../../../es/docs/guides/FEATURES.md) · 🇪🇪 [et](../../../et/docs/guides/FEATURES.md) · 🇮🇷 [fa](../../../fa/docs/guides/FEATURES.md) · 🇫🇮 [fi](../../../fi/docs/guides/FEATURES.md) · 🇫🇷 [fr](../../../fr/docs/guides/FEATURES.md) · 🇮🇪 [ga](../../../ga/docs/guides/FEATURES.md) · 🇮🇳 [gu](../../../gu/docs/guides/FEATURES.md) · 🇳🇬 [ha](../../../ha/docs/guides/FEATURES.md) · 🇮🇱 [he](../../../he/docs/guides/FEATURES.md) · 🇮🇳 [hi](../../../hi/docs/guides/FEATURES.md) · 🇭🇷 [hr](../../../hr/docs/guides/FEATURES.md) · 🇭🇺 [hu](../../../hu/docs/guides/FEATURES.md) · 🇦🇲 [hy](../../../hy/docs/guides/FEATURES.md) · 🇮🇩 [id](../../../id/docs/guides/FEATURES.md) · 🇳🇬 [ig](../../../ig/docs/guides/FEATURES.md) · 🇮🇹 [it](../../../it/docs/guides/FEATURES.md) · 🇯🇵 [ja](../../../ja/docs/guides/FEATURES.md) · 🇬🇪 [ka](../../../ka/docs/guides/FEATURES.md) · 🇰🇭 [km](../../../km/docs/guides/FEATURES.md) · 🇮🇳 [kn](../../../kn/docs/guides/FEATURES.md) · 🇰🇷 [ko](../../../ko/docs/guides/FEATURES.md) · 🇱🇹 [lt](../../../lt/docs/guides/FEATURES.md) · 🇱🇻 [lv](../../../lv/docs/guides/FEATURES.md) · 🇮🇳 [ml](../../../ml/docs/guides/FEATURES.md) · 🇮🇳 [mr](../../../mr/docs/guides/FEATURES.md) · 🇲🇾 [ms](../../../ms/docs/guides/FEATURES.md) · 🇲🇹 [mt](../../../mt/docs/guides/FEATURES.md) · 🇲🇲 [my](../../../my/docs/guides/FEATURES.md) · 🇳🇵 [ne](../../../ne/docs/guides/FEATURES.md) · 🇳🇱 [nl](../../../nl/docs/guides/FEATURES.md) · 🇳🇴 [no](../../../no/docs/guides/FEATURES.md) · 🇮🇳 [or](../../../or/docs/guides/FEATURES.md) · 🇮🇳 [pa](../../../pa/docs/guides/FEATURES.md) · 🇵🇭 [phi](../../../phi/docs/guides/FEATURES.md) · 🇵🇱 [pl](../../../pl/docs/guides/FEATURES.md) · 🇵🇹 [pt](../../../pt/docs/guides/FEATURES.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/FEATURES.md) · 🇷🇴 [ro](../../../ro/docs/guides/FEATURES.md) · 🇷🇺 [ru](../../../ru/docs/guides/FEATURES.md) · 🇱🇰 [si](../../../si/docs/guides/FEATURES.md) · 🇸🇰 [sk](../../../sk/docs/guides/FEATURES.md) · 🇸🇮 [sl](../../../sl/docs/guides/FEATURES.md) · 🇷🇸 [sr](../../../sr/docs/guides/FEATURES.md) · 🇸🇪 [sv](../../../sv/docs/guides/FEATURES.md) · 🇰🇪 [sw](../../../sw/docs/guides/FEATURES.md) · 🇮🇳 [ta](../../../ta/docs/guides/FEATURES.md) · 🇮🇳 [te](../../../te/docs/guides/FEATURES.md) · 🇹🇭 [th](../../../th/docs/guides/FEATURES.md) · 🇹🇷 [tr](../../../tr/docs/guides/FEATURES.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/FEATURES.md) · 🇵🇰 [ur](../../../ur/docs/guides/FEATURES.md) · 🇺🇿 [uz](../../../uz/docs/guides/FEATURES.md) · 🇳🇬 [yo](../../../yo/docs/guides/FEATURES.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/FEATURES.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/FEATURES.md) Hướng dẫn trực quan về mọi mục trong bảng điều khiển OmniRoute. > 📅 **Cập nhật lần cuối:** 2026-06-28 — **v3.8.40** --- ## ✨ Điểm nổi bật của v3.8.0 Chu kỳ v3.7.x → v3.8.0 bổ sung tính năng tự động định tuyến không cần cấu hình, các nhà cung cấp mới, luồng OAuth, khả năng phục hồi chuyên sâu hơn và trải nghiệm CLI phong phú hơn nhiều. Các tính năng nổi bật được liệt kê bên dưới — thông tin đầy đủ nằm ở phần sau của tài liệu và trong các đặc tả được liên kết. - 🤖 **Auto Combo / Tự động định tuyến không cần cấu hình** — sử dụng các tiền tố `auto/coding`, `auto/fast`, `auto/cheap`, `auto/offline`, `auto/smart`, `auto/lkgp`, `auto/chaos`. Được hỗ trợ bởi công cụ chấm điểm dựa trên 16 yếu tố và 6 **gói chế độ** được tuyển chọn (ship-fast, cost-saver, quality-first, offline-friendly, reliability-first, chaos-mode) - 🆕 **Nhà cung cấp Command Code** (#2199) — đăng ký hạng nhất với danh mục mô hình và theo dõi hạn ngạch - 🆕 **Nhà cung cấp Z.AI** — nhà cung cấp mới có gói miễn phí kèm nhãn hạn ngạch - 🎬 **Mở rộng nội dung đa phương tiện KIE** — danh mục mở rộng bao gồm các mô hình tạo video - 🔐 **Xác thực Devin** — Desktop nhập khóa API Devin hiện có; CLI sử dụng thông tin xác thực cục bộ từ `devin auth login` - 🆓 **8 nhà cung cấp miễn phí mới** — LLM7, Lepton, UncloseAI, BazaarLink, Completions, Enally, FreeTheAi, Command Code - 🎯 **Định tuyến theo tầng W1–W4 có nhận biết manifest** — manifest của nhà cung cấp điều khiển việc lựa chọn tầng theo trọng số - 🎨 **Cursor tương thích hoàn toàn với OpenAI** — hỗ trợ xuyên suốt lệnh gọi công cụ, truyền phát trực tuyến và quản lý phiên - 📊 **Mức sử dụng gói Cursor Pro** — dữ liệu hạn ngạch và chu kỳ được hiển thị trong bảng điều khiển giới hạn nhà cung cấp - ⚡ **Phân tích chi tiết theo tầng dịch vụ / phân tích tầng nhanh của Codex** — khả năng quan sát mức tiêu thụ theo từng tầng - 📌 **Định tuyến cố định theo phiên** — các phiên Codex được ghim vào cùng một tài khoản giữa các lượt - 🔊 **Các cải tiến TTS của Inworld** — danh mục giọng nói, truyền phát trực tuyến và cải thiện độ trễ - 🔑 **Xác thực Kiro không giao diện** — đăng nhập qua kho SQLite cục bộ của `kiro-cli`, không cần trình duyệt - 📉 **Giám sát hạn ngạch và giới hạn DeepSeek** — mức sử dụng hằng ngày/hằng tháng được hiển thị qua bảng điều khiển - 🔄 **Chiến lược định tuyến có nhận biết thời điểm đặt lại** — các combo giờ đây ưu tiên những tài khoản có cửa sổ hạn ngạch được đặt lại sớm nhất - ⏱️ **`fallbackDelayMs`** và **tự động phát hiện giới hạn công cụ** — tinh chỉnh thời gian chuyển đổi dự phòng + giới hạn số lượng công cụ theo từng nhà cung cấp - 🔧 **Hạ cấp chế độ nền (Responses API)** — chuyển về chế độ đồng bộ kèm cảnh báo có cấu trúc khi hệ thống thượng nguồn không hỗ trợ thăm dò trạng thái nền - 🚦 **Phân loại lỗi 429 theo từng nhà cung cấp** + tùy chọn `useUpstream429BreakerHints` — tinh chỉnh hành vi của bộ ngắt mạch bằng các gợi ý giới hạn tốc độ từ hệ thống thượng nguồn - 🩺 **Bảng điều khiển thời gian chờ của mô hình** — theo dõi trạng thái khóa của từng mô hình và bật lại thủ công từ giao diện người dùng - 🔒 **Tự động phát hiện chứng chỉ MITM trên Linux** — hoạt động trên Debian/Ubuntu, Fedora/RHEL, Arch và các bản phân phối khác - 💻 **Bộ cải tiến CLI** — hơn 20 lệnh, bao gồm `omniroute providers`, `omniroute combos`, `omniroute doctor`, `omniroute setup` - 🔍 **Khám phá mô hình embedding Qdrant** — tự động thăm dò mô hình của kho vector - 🔑 **Khóa API / khóa Bearer với phạm vi `manage`** — thực hiện các thao tác quản trị theo chương trình qua API - 🏥 **Phân tích tình trạng đích combo** + **trình tạo combo có cấu trúc** — tình trạng theo từng đích và trình tạo trên giao diện người dùng để lắp ghép các bước `(provider, model, connection)` - 🤝 **Nhà cung cấp GitLab Duo OAuth** — đăng nhập bằng thông tin xác thực GitLab - 🧠 **Bộ nhớ đệm phát lại suy luận** — lưu trữ bền vững kết hợp giữa bộ nhớ trong và SQLite cho các dấu vết suy luận 📚 **Tài liệu liên quan:** [Khung kỹ năng](../frameworks/SKILLS.md) · [Hệ thống bộ nhớ](../frameworks/MEMORY.md) · [Tác nhân đám mây](../frameworks/CLOUD_AGENT.md) · [Webhook](../frameworks/WEBHOOKS.md) · [Bộ nhớ đệm phát lại suy luận](../routing/REASONING_REPLAY.md) --- ## 🔌 Nhà cung cấp Quản lý các kết nối nhà cung cấp AI: nhà cung cấp OAuth (Claude Code, Codex), nhà cung cấp khóa API (Groq, DeepSeek, OpenRouter) và nhà cung cấp miễn phí (Qoder, Kiro). Tài khoản Kiro hỗ trợ theo dõi số dư tín dụng — số tín dụng còn lại, tổng hạn mức và ngày gia hạn được hiển thị trong Dashboard → Usage. Các kết nối OpenRouter có thể lưu một `preset` riêng cho từng kết nối trong Advanced Settings. Khi được thiết lập, OmniRoute sẽ gửi giá trị này dưới dạng trường cấp cao nhất của yêu cầu OpenRouter, ví dụ `"preset": "email-copywriter"`, trừ khi yêu cầu từ máy khách đã cung cấp `preset` riêng. ![Bảng điều khiển Nhà cung cấp](../screenshots/01-providers.png) --- ## 🎨 Tổ hợp Tạo các tổ hợp định tuyến mô hình với 19 chiến lược công khai: ưu tiên, có trọng số, luân phiên, chuyển tiếp ngữ cảnh, lấp đầy trước, p2c (lựa chọn theo sức mạnh của hai phương án), ngẫu nhiên, ít được sử dụng nhất, tối ưu chi phí, nhận biết đặt lại, cửa sổ đặt lại, dung lượng dự phòng, ngẫu nhiên nghiêm ngặt, tự động, lkgp (nhà cung cấp hoạt động tốt gần nhất), tối ưu ngữ cảnh, tối ưu bộ nhớ đệm, **hợp nhất** (gửi song song đến một nhóm mô hình, sau đó tổng hợp một câu trả lời thông qua mô hình đánh giá) và **đường ống**. Mỗi tổ hợp liên kết nhiều mô hình với cơ chế dự phòng tự động, đồng thời bao gồm các mẫu thiết lập nhanh và kiểm tra trạng thái sẵn sàng. Các cải tiến gần đây đối với tổ hợp: - **Trình tạo tổ hợp có cấu trúc** — tạo từng bước bằng cách chọn nhà cung cấp, mô hình và chính xác tài khoản/kết nối - **Hỗ trợ lặp lại nhà cung cấp** — tái sử dụng cùng một nhà cung cấp nhiều lần trong một tổ hợp, miễn là bộ `(provider, model, connection)` là duy nhất - **Tình trạng đích của tổ hợp** — các giao diện phân tích và tình trạng hiện phân biệt từng đích/bước riêng lẻ trong tổ hợp thay vì gộp tất cả thành chuỗi mô hình - **Thứ tự tầng tổng hợp** — `defaultTier -> fallbackTier` hiện ảnh hưởng đến thứ tự thực thi/dự phòng trong thời gian chạy đối với các bước tổ hợp cấp cao nhất - **Mẫu lời nhắc hệ thống** — `system_message` của tổ hợp hỗ trợ các phần giữ chỗ phía máy chủ `{{MODEL_ID}}`, `{{PROVIDER_ID}}`, `{{ACCOUNT}}` và `{{FINGERPRINT}}`, được mở rộng từ đích thực sự được định tuyến ngay trước khi gửi đi. Chỉ các giá trị trong danh sách cho phép được hỗ trợ và không xử lý đệ quy; các phần giữ chỗ không xác định được giữ nguyên theo nghĩa đen; giá trị trống được mở rộng thành chuỗi trống; lời nhắc hệ thống từ máy khách không bao giờ bị ghi lại. `{{FINGERPRINT}}` chỉ được phân giải cho các nhà cung cấp miễn phí dựa trên dấu vân tay có dấu vân tay được ghim hoặc tự động xoay vòng — ở nơi khác, nó được mở rộng thành chuỗi trống (ví dụ: kết nối dùng một dấu vân tay duy nhất, nhà cung cấp không dùng dấu vân tay). Việc mở rộng áp dụng cho vòng lặp gửi tiêu chuẩn, chiến lược luân phiên và các phiên bộ nhớ đệm ngữ cảnh được ghim; các chiến lược hợp nhất, hỗn loạn, đường ống và thực thi lồng nhau hiện chưa mở rộng các phần giữ chỗ. ![Bảng điều khiển Tổ hợp](../screenshots/02-combos.png) --- ## 📊 Phân tích Phân tích mức sử dụng toàn diện với mức tiêu thụ token, ước tính chi phí, bản đồ nhiệt hoạt động, biểu đồ phân bổ hằng tuần và thông tin chi tiết theo từng nhà cung cấp. ![Bảng điều khiển Phân tích](../screenshots/03-analytics.png) --- ## 🏥 Tình trạng hệ thống Giám sát theo thời gian thực: thời gian hoạt động, bộ nhớ, phiên bản, các phân vị độ trễ (p50/p95/p99), số liệu thống kê bộ nhớ đệm, trạng thái bộ ngắt mạch của nhà cung cấp, các phiên đang hoạt động được giám sát hạn ngạch và tình trạng đích của tổ hợp. ![Bảng điều khiển Tình trạng](../screenshots/04-health.png) --- ## 🔧 Sân Chơi Dịch Thuật Bốn chế độ để gỡ lỗi bản dịch API: **Sân Chơi** (trình chuyển đổi định dạng), **Trình Kiểm Tra Trò Chuyện** (yêu cầu trực tiếp), **Bàn Kiểm Thử** (kiểm thử hàng loạt) và **Trình Giám Sát Trực Tiếp** (luồng theo thời gian thực). ![Sân Chơi Dịch Thuật](../screenshots/05-translator.png) --- ## 🎮 Sân Chơi Mô Hình _(v2.0.9+)_ Kiểm thử bất kỳ mô hình nào trực tiếp từ bảng điều khiển. Chọn nhà cung cấp, mô hình và endpoint, viết prompt bằng Monaco Editor, truyền phát phản hồi theo thời gian thực, hủy giữa chừng và xem các chỉ số thời gian. --- ## 🎨 Chủ Đề _(v2.0.5+)_ Các chủ đề màu có thể tùy chỉnh cho toàn bộ bảng điều khiển. Chọn trong 7 màu cài sẵn (San hô, Xanh dương, Đỏ, Xanh lá, Tím, Cam, Xanh lơ) hoặc tạo chủ đề tùy chỉnh bằng cách chọn bất kỳ màu hex nào. Hỗ trợ chế độ sáng, tối và hệ thống. --- ## ⚙️ Cài Đặt Bảng cài đặt toàn diện với **7 tab**: - **Chung** — Bộ nhớ hệ thống, quản lý bản sao lưu (xuất/nhập cơ sở dữ liệu) - **Giao diện** — Bộ chọn chủ đề (tối/sáng/hệ thống), các chủ đề màu cài sẵn và màu tùy chỉnh, khả năng hiển thị nhật ký tình trạng, các tùy chọn kiểm soát khả năng hiển thị mục thanh bên và dấu phân cách nhóm, các tùy chọn kiểm soát khả năng hiển thị đường hầm endpoint - **AI** — Các tính năng trợ lý AI, cấu hình định tuyến mặc định (Tổ Hợp Tự Động `auto/coding`, `auto/fast`, `auto/cheap`, `auto/smart`), bộ nhớ đệm phát lại suy luận và các tùy chọn bật/tắt kỹ năng/bộ nhớ - **Bảo mật** — Bảo vệ endpoint API, chặn nhà cung cấp tùy chỉnh, lọc IP, thông tin phiên - **Định tuyến** — Bí danh mô hình, hạ cấp tác vụ nền, định tuyến theo tầng có nhận biết manifest (W1–W4), `fallbackDelayMs`, định tuyến cố định theo từng phiên - **Khả năng phục hồi** — Duy trì giới hạn tốc độ, tinh chỉnh bộ ngắt mạch, tự động vô hiệu hóa tài khoản bị cấm, giám sát thời hạn nhà cung cấp, ngưỡng chuyển giao **Context Relay** và cấu hình mô hình tóm tắt, phân loại 429 theo từng nhà cung cấp và tùy chọn `useUpstream429BreakerHints`, thời gian chờ của mô hình - **Nâng cao** — Ghi đè cấu hình, lịch sử kiểm tra cấu hình, chế độ hạ cấp dự phòng, hạ cấp chế độ nền cho Responses API ![Bảng Điều Khiển Cài Đặt](../screenshots/06-settings.png) --- ## 🔧 Công Cụ CLI Cấu hình bằng một cú nhấp chuột cho các công cụ lập trình AI: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor và Factory Droid. Bao gồm các tính năng tự động áp dụng/đặt lại cấu hình, hồ sơ kết nối và ánh xạ mô hình. ![Bảng Điều Khiển Công Cụ CLI](../screenshots/07-cli-tools.png) --- ## 🤖 Tác Nhân CLI _(v2.0.11+)_ Bảng điều khiển để khám phá và quản lý các tác nhân CLI. Hiển thị dạng lưới 16 tác nhân tích hợp sẵn (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) với: - **Trạng thái cài đặt** — Đã cài đặt / Không tìm thấy, kèm khả năng phát hiện phiên bản - **Nhãn giao thức** — stdio, HTTP, v.v. - **Tác nhân tùy chỉnh** — Đăng ký bất kỳ công cụ CLI nào thông qua biểu mẫu (tên, tệp nhị phân, lệnh phiên bản, đối số khởi chạy) - **Đối sánh dấu vân tay CLI** — Tùy chọn bật/tắt theo từng nhà cung cấp để khớp với chữ ký yêu cầu CLI gốc, giảm nguy cơ bị cấm trong khi vẫn giữ nguyên IP proxy - **Xác thực Devin cục bộ** — Devin CLI sử dụng `devin auth login`; không yêu cầu quy trình OAuth trên trình duyệt --- ## 🔗 Chuyển tiếp ngữ cảnh _(v3.5.5+)_ Một chiến lược kết hợp giúp duy trì tính liên tục của phiên khi việc luân chuyển tài khoản xảy ra giữa cuộc hội thoại. Trước khi tài khoản đang hoạt động cạn hạn mức, OmniRoute tạo một bản tóm tắt bàn giao có cấu trúc trong nền. Sau khi yêu cầu tiếp theo được chuyển đến một tài khoản khác, bản tóm tắt sẽ được chèn dưới dạng thông báo hệ thống để tài khoản mới tiếp tục với đầy đủ ngữ cảnh. Có thể cấu hình thông qua cài đặt ở cấp độ tổ hợp hoặc cài đặt toàn cục: - **Ngưỡng bàn giao** — Tỷ lệ phần trăm sử dụng hạn mức kích hoạt việc tạo bản tóm tắt (mặc định 85%) - **Số lượng thông báo tối đa cho bản tóm tắt** — Lượng lịch sử gần đây cần cô đọng - **Mô hình tóm tắt** — Mô hình ghi đè tùy chọn dùng để tạo bản tóm tắt bàn giao Hiện hỗ trợ luân chuyển tài khoản Codex. Xem [tài liệu Chuyển tiếp ngữ cảnh](../architecture/ARCHITECTURE.md). --- ## 🗜️ Nén prompt _(v3.7.9+)_ Ngữ cảnh & Bộ nhớ đệm hiện cung cấp các trang chuyên biệt cho Caveman, RTK và Tổ hợp nén: - **Caveman** — các bộ quy tắc nhận biết ngôn ngữ, bản xem trước, tùy chọn chế độ đầu ra và số liệu phân tích - **RTK** — nén nhận biết lệnh cho đầu ra của shell, git, kiểm thử, bản dựng, gói, Docker, hạ tầng, JSON và dấu vết ngăn xếp - **Tổ hợp nén** — các quy trình có tên như `rtk -> caveman` được gán cho các tổ hợp định tuyến; phép tính xếp chồng mặc định đạt mức tiết kiệm trung bình `~89%` và tiết kiệm `78-95%` ngữ cảnh đủ điều kiện khi cả hai công cụ đều được áp dụng - **Khôi phục đầu ra thô** — các con trỏ tùy chọn đến đầu ra thô đã được che thông tin của RTK để gỡ lỗi các trường hợp nén thất bại Xem [Hướng dẫn nén](../compression/COMPRESSION_GUIDE.md), [Nén RTK](../compression/RTK_COMPRESSION.md) và [Các công cụ nén](../compression/COMPRESSION_ENGINES.md). --- ## 🛡️ Gia cố proxy _(v3.5.5+)_ Thực thi cấu hình proxy toàn diện trên toàn bộ quy trình xử lý yêu cầu: - **Kiểm tra tình trạng token** — Việc làm mới OAuth trong nền hiện phân giải cấu hình proxy cho từng kết nối, giúp ngăn chặn lỗi trong các môi trường bắt buộc sử dụng proxy - **Xác thực khóa API** — Việc xác thực khóa của nhà cung cấp (`POST /api/providers/validate`) được định tuyến qua `runWithProxyContext`, tuân thủ cài đặt proxy ở cấp nhà cung cấp và toàn cục - **Bản sửa lỗi Dispatcher của undici** — Các dispatcher proxy sử dụng phần triển khai fetch riêng của undici thay vì fetch tích hợp sẵn của Node, khắc phục lỗi `invalid onRequestStart method` trên Node.js 22 - **Phát hiện phiên bản Node.js** — Trang đăng nhập chủ động phát hiện các phiên bản Node.js không tương thích (24+) và hiển thị biểu ngữ cảnh báo kèm hướng dẫn sử dụng Node 22 LTS --- ## 📧 Che thông tin email để bảo vệ quyền riêng tư _(v3.5.6+)_ Email của tài khoản OAuth được che theo mặc định (ví dụ: `di*****@g****.com`) để tránh vô tình làm lộ thông tin khi chia sẻ ảnh chụp màn hình hoặc quay bản demo. Sử dụng Cài đặt → Giao diện → Hiển thị email tài khoản để hiển thị hoặc che toàn bộ email tài khoản trên phạm vi toàn cục trong các màn hình nhà cung cấp, tổ hợp, nhật ký, hạn mức và khu vực thử nghiệm. --- ## 👁️ Nút chuyển đổi hiển thị mô hình _(v3.5.6+)_ Danh sách mô hình trên trang nhà cung cấp hiện bao gồm: - **Thanh tìm kiếm/lọc theo thời gian thực** — Nhanh chóng tìm các mô hình cụ thể - **Nút chuyển đổi hiển thị theo từng mô hình** (biểu tượng 👁) — Các mô hình bị ẩn sẽ được làm mờ và loại khỏi danh mục `/v1/models` - **Huy hiệu số lượng đang hoạt động** (`N/M active`) — Cho biết nhanh có bao nhiêu mô hình được bật so với tổng số --- ## 🔧 Sửa chữa môi trường OAuth _(v3.6.1+)_ Thao tác "Repair env" bằng một cú nhấp dành cho các nhà cung cấp OAuth, giúp khôi phục các biến môi trường bị thiếu và sửa trạng thái xác thực bị lỗi. Có thể truy cập từ `Dashboard → Providers → [OAuth Provider] → Repair env`. Tự động phát hiện và sửa chữa: - Thông tin xác thực máy khách OAuth bị thiếu - Các mục trong tệp môi trường bị hỏng - Chuẩn hóa đường dẫn sao lưu --- ## 🗑️ Gỡ cài đặt / Gỡ cài đặt hoàn toàn _(v3.6.2+)_ Các tập lệnh gỡ bỏ sạch dành cho mọi phương thức cài đặt: | Lệnh | Hành động | | ------------------------ | ---------------------------------------------------------------------------------------------- | | `npm run uninstall` | Gỡ ứng dụng hệ thống nhưng **giữ lại cơ sở dữ liệu và cấu hình của bạn** trong `~/.omniroute`. | | `npm run uninstall:full` | Gỡ ứng dụng VÀ **xóa vĩnh viễn tất cả cấu hình, khóa và cơ sở dữ liệu**. | --- ## 🖼️ Phương tiện _(v2.0.3+)_ Tạo hình ảnh, video và nhạc từ bảng điều khiển. Hỗ trợ OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open và MusicGen. --- ## 📝 Nhật ký yêu cầu Ghi nhật ký yêu cầu theo thời gian thực với khả năng lọc theo nhà cung cấp, mô hình, tài khoản và khóa API. Hiển thị mã trạng thái, mức sử dụng token, độ trễ và chi tiết phản hồi. ![Nhật ký sử dụng](../screenshots/08-usage.png) --- ## 🌐 Điểm cuối API Điểm cuối API hợp nhất của bạn với thông tin chi tiết về các tính năng: Hoàn thành trò chuyện, Responses API, Embeddings, tạo hình ảnh, xếp hạng lại, chuyển lời nói thành văn bản, chuyển văn bản thành giọng nói, kiểm duyệt và các khóa API đã đăng ký. Có hỗ trợ Cloudflare Quick Tunnel, Tailscale Funnel, ngrok Tunnel và proxy đám mây để truy cập từ xa. ![Bảng điều khiển điểm cuối](../screenshots/09-endpoint.png) --- ## 🔑 Quản lý khóa API Tạo, giới hạn phạm vi và thu hồi khóa API. Mỗi khóa có thể được giới hạn cho các mô hình/nhà cung cấp cụ thể với quyền truy cập đầy đủ hoặc chỉ đọc. Quản lý khóa trực quan kèm theo dõi mức sử dụng. --- ## 📋 Nhật ký kiểm tra Theo dõi các thao tác quản trị với khả năng lọc theo loại thao tác, tác nhân, mục tiêu, địa chỉ IP và dấu thời gian. Lưu giữ toàn bộ lịch sử sự kiện bảo mật. --- ## 🖥️ Ứng dụng máy tính Ứng dụng Electron gốc dành cho Windows, macOS và Linux. Chạy OmniRoute dưới dạng ứng dụng độc lập với khả năng tích hợp khay hệ thống, hỗ trợ ngoại tuyến, tự động cập nhật và cài đặt bằng một cú nhấp. Các tính năng chính: - Thăm dò trạng thái sẵn sàng của máy chủ (không hiển thị màn hình trống khi khởi động nguội) - Khay hệ thống với tính năng quản lý cổng - Chính sách bảo mật nội dung - Khóa đơn phiên bản - Tự động cập nhật khi khởi động lại - Giao diện người dùng tùy theo nền tảng (các nút điều khiển cửa sổ của macOS, thanh tiêu đề mặc định của Windows/Linux) - Đóng gói bản dựng Electron được tăng cường bảo mật — `node_modules` được liên kết tượng trưng trong gói độc lập sẽ bị phát hiện và từ chối trước khi đóng gói, ngăn chặn việc phụ thuộc khi chạy vào máy dựng bản dựng (v2.5.5+) - **Tắt an toàn** — `before-quit` của Electron tắt Next.js đúng cách, ngăn khóa cơ sở dữ liệu SQLite WAL (v3.6.2+) 📖 Xem [`electron/README.md`](../../electron/README.md) để biết tài liệu đầy đủ. --- ## 🌐 Cầu nối WebSocket V1 _(v3.6.6+)_ OmniRoute hiện hỗ trợ **các máy khách WebSocket tương thích với OpenAI** thông qua điểm cuối nâng cấp `/v1/ws`. Máy chủ `scripts/dev/v1-ws-bridge.mjs` tùy chỉnh bao bọc Next.js và nâng cấp các kết nối WS thành các phiên truyền phát hai chiều đầy đủ. Quá trình xác thực sử dụng cùng khóa API hoặc cookie phiên như các yêu cầu HTTP. Các hành vi chính: - Nâng cấp WS được `src/lib/ws/handshake.ts` xác thực trước khi kết nối được thiết lập - Các luồng được kết thúc đúng cách khi phiên đóng hoặc xảy ra lỗi phía nguồn - Hoạt động đồng thời cùng với luồng truyền phát HTTP+SSE hiện có --- ## 🔑 Token đồng bộ & Gói cấu hình _(v3.6.6+)_ Giờ đây có thể truy cập từ nhiều thiết bị và qua toán tử bên ngoài bằng **token đồng bộ có phạm vi**: - **`POST /api/sync/tokens`** — Cấp token đồng bộ mới (có phạm vi, với thời hạn hết hạn tùy chọn) - **`DELETE /api/sync/tokens/:id`** — Thu hồi token - **`GET /api/sync/bundle`** — Tải xuống bản chụp nhanh JSON có phiên bản, được định danh bằng ETag, chứa tất cả cài đặt không nhạy cảm (mật khẩu được che) Gói cấu hình được tạo bởi `src/lib/sync/bundle.ts`. Các ứng dụng sử dụng so sánh header phản hồi `ETag` để phát hiện thay đổi mà không cần tải lại toàn bộ dữ liệu. --- ## 🧠 Cấu hình sẵn GLM Thinking _(v3.6.6+)_ **GLM Thinking (`glmt`)** hiện là nhà cung cấp hạng nhất đã được đăng ký: tối đa 65 536 token đầu ra, ngân sách suy luận 24 576 token, thời gian chờ mặc định 900 giây, định dạng API tương thích với Claude và đồng bộ mức sử dụng dùng chung với họ GLM. **Cơ chế đếm token kết hợp** cũng được bổ sung trong v3.6.6: khi một nhà cung cấp tương thích với Claude cung cấp `/messages/count_tokens`, OmniRoute sẽ gọi endpoint này trước các yêu cầu lớn và chuyển sang phương pháp ước tính dự phòng một cách an toàn nếu cần. --- ## 🛡️ Truy xuất ra ngoài an toàn & Cơ chế bảo vệ SSRF _(v3.6.6+)_ Tất cả lệnh gọi xác thực nhà cung cấp và khám phá mô hình giờ đây đều đi qua cơ chế bảo vệ kết nối ra ngoài gồm hai lớp: 1. **Cơ chế bảo vệ URL** (`src/shared/network/outboundUrlGuard.ts`) — Chặn các dải IP riêng tư/loopback/link-local trước khi socket được mở. 2. **Trình bao bọc truy xuất an toàn** (`src/shared/network/safeOutboundFetch.ts`) — Áp dụng cơ chế bảo vệ URL, chuẩn hóa thời gian chờ và thử lại các lỗi tạm thời bằng chiến lược thời gian chờ tăng dần theo cấp số nhân. Các vi phạm cơ chế bảo vệ được trả về dưới dạng HTTP 422 (`URL_GUARD_BLOCKED`) và được ghi vào nhật ký kiểm toán tuân thủ thông qua `providerAudit.ts`. --- ## 🔄 Thử lại có xét đến thời gian tạm ngưng _(v3.6.6+)_ Các yêu cầu trò chuyện giờ đây **tự động thử lại** khi nhà cung cấp thượng nguồn trả về trạng thái tạm ngưng theo phạm vi mô hình. Có thể cấu hình thông qua `REQUEST_RETRY` (mặc định: 2) và `MAX_RETRY_INTERVAL_SEC` (mặc định: 30 giây). Khả năng học từ header giới hạn tốc độ đã được cải thiện trên `x-ratelimit-reset-requests`, `x-ratelimit-reset-tokens` và `Retry-After` — trạng thái tạm ngưng của từng mô hình được hiển thị trong bảng điều khiển Resilience. --- ## 📋 Kiểm toán tuân thủ v2 _(v3.6.6+)_ Nhật ký kiểm toán đã được mở rộng với phân trang dựa trên con trỏ, bổ sung ngữ cảnh yêu cầu (ID yêu cầu, user agent, IP), các sự kiện xác thực có cấu trúc, các sự kiện CRUD của nhà cung cấp kèm ngữ cảnh khác biệt và ghi nhật ký xác thực bị chặn bởi SSRF. Các sự kiện mới được phát ra bởi `src/lib/compliance/providerAudit.ts`.