Đang giữa lúc AI Agent trên OpenClaw xử lý công việc trơn tru thì màn hình bất ngờ báo “quota exceeded” hay “rate limit reached” – cảm giác này chắc hẳn không xa lạ với những ai đang vận hành OpenClaw hàng ngày. 9Router ra đời chính là để giải quyết bài toán này. Trong bài viết dưới đây, Tino sẽ hướng dẫn bạn cách dùng 9Router cho OpenClaw chi tiết.
Vì sao nên kết nối 9Router với OpenClaw?
Kết nối 9Router với OpenClaw mang lại một số lợi ích rõ ràng:
- Chỉ cần quản lý một Base URL và một API Key nội bộ trong OpenClaw.
- Có thể dùng nhiều provider mà không phải cấu hình lại OpenClaw cho từng nguồn.
- Tạo Combo để tự động chuyển model khi nguồn chính lỗi hoặc hết quota.
- Theo dõi lượng token, hạn mức và lịch sử yêu cầu tập trung.
- Tận dụng provider miễn phí, gói subscription hoặc API trả phí theo chiến lược riêng.
- Giảm thời gian gián đoạn khi một model tạm thời không khả dụng.

Cách dùng 9Router cho OpenClaw từng bước
Cài đặt và đăng nhập 9Router
Lưu ý: Hướng dẫn này giả định 9Router và OpenClaw được cài trên cùng một máy tính. Khi đó, OpenClaw có thể kết nối với 9Router qua địa chỉ localhost:20128. Máy cần cài sẵn Node.js và npm trước khi thực hiện.
Bước 1: Mở Windows PowerShell bằng quyền quản trị. Bạn có thể tìm PowerShell trong menu Start, nhấn chuột phải rồi chọn Run as administrator.
Bước 2: Nhập lệnh sau và nhấn Enter để cài phiên bản 9Router mới nhất:
npm install -g 9router@latest

Chờ đến khi PowerShell thông báo quá trình cài đặt hoàn tất.
Bước 3: Khởi động 9Router bằng lệnh:
9router
Sau khi khởi động thành công, PowerShell sẽ hiển thị địa chỉ máy chủ:
http://localhost:20128
Đây là địa chỉ Dashboard mặc định của 9Router.
Bước 4: Tại màn hình Choose Interface, dùng phím mũi tên chọn Web UI (Open in Browser).

Sau đó nhấn Enter. 9Router sẽ tự động mở trang đăng nhập trên trình duyệt.
Nếu trình duyệt không tự mở, hãy truy cập:
http://localhost:20128/login
Bước 5: Nhập mật khẩu mặc định: 123456

Sau đó nhấn Login để vào Dashboard. Vì đây là mật khẩu mặc định, bạn nên mở Settings và đổi sang mật khẩu riêng ngay sau lần đăng nhập đầu tiên.
Bước 6: Quay lại cửa sổ PowerShell, dùng phím mũi tên chọn Hide to Tray (Background).

Nhấn Enter để chuyển 9Router sang chế độ chạy ngầm. Khi hoàn tất, bạn có thể đóng cửa sổ PowerShell và tab trình duyệt mà 9Router vẫn tiếp tục hoạt động trên máy.
Bước 7: Khi cần mở lại Dashboard, chỉ cần truy cập:
http://localhost:20128/dashboard

Lưu ý về hoạt động nền:
- Sau khi chọn Hide to Tray, đóng PowerShell không làm 9Router dừng hoạt động
- Nếu tắt máy, khởi động lại Windows hoặc chọn Exit trong menu 9Router, bạn cần chạy lại lệnh 9router.
- Việc đóng cửa sổ PowerShell của 9Router không ảnh hưởng đến OpenClaw vì hai ứng dụng sử dụng hai tiến trình riêng. Tuy nhiên, nếu OpenClaw đang chạy trực tiếp trong một cửa sổ terminal và chưa được thiết lập chạy nền, đóng cửa sổ terminal của OpenClaw sẽ làm Gateway dừng hoạt động.
Trường hợp npm chặn install script:
Nếu PowerShell xuất hiện cảnh báo install scripts blocked, hãy cài lại bằng lệnh:
npm install -g --allow-scripts=9router 9router@latest
Sau đó chạy lại:
9router
Chuẩn bị trên 9Router
Tạo API Key và lấy Endpoint
Bước 1: Tại Dashboard 9Router, chọn Endpoint & Key. Tiếp theo, tìm phần API Keys rồi nhấn Create Key.

Sau đó, nhập tên dễ quản lý.
Nhấn Create để tiếp tục.

Bước 2: Khi cửa sổ API Key Created xuất hiện, nhấn Copy và lưu key tại nơi an toàn.

Bước 3: Trong phần API Endpoint, bạn sẽ thấy địa chỉ:
http://localhost:20128/v1
Nhấn biểu tượng sao chép và lưu lại địa chỉ này. API Endpoint sẽ được nhập vào OpenClaw ở phần kết nối tiếp theo.

Lưu ý: localhost chỉ phù hợp khi 9Router và OpenClaw chạy trên cùng một máy. Nếu hai ứng dụng nằm trên hai thiết bị khác nhau, cần dùng Tailscale, Tunnel hoặc địa chỉ mạng mà máy chạy OpenClaw có thể truy cập.
Thêm Provider và tạo combo
Lưu ý: Phần hướng dẫn này sử dụng 2 Provider OpenAI Codex và Gemini làm ví dụ. Bạn có thể xem thêm cách quản lý provider, Combo, quota và endpoint trong bài viết: 9Router là gì? Hướng dẫn sử dụng 9Router toàn tập.
(tiếp tục các bước ở phần trên)
Bước 4: Chọn Providers, tìm OpenAI Codex trong nhóm OAuth Providers rồi nhấn vào provider này.

Nhấn Add Connection. Một cửa sổ đăng nhập OpenAI sẽ xuất hiện. Chọn tài khoản có quyền truy cập Codex và hoàn tất bước cấp quyền.

Thông thường, 9Router sẽ tự nhận kết quả xác thực sau khi đăng nhập. Nếu quá trình không tự hoàn tất, hãy sao chép Callback URL trên trình duyệt rồi dán vào ô được cung cấp trong 9Router.
Bước 5: Quay lại Providers, kéo xuống nhóm Free Tier Providers rồi chọn Gemini.

Nhập tên kết nối, dán API Key Gemini rồi nhấn Check. Khi trạng thái chuyển sang Valid, giữ Priority mặc định là 1, để Proxy Pool là None và nhấn Save.

Bạn cũng có thể sử dụng các model hoặc provider có API Key miễn phí khác. Tham khảo danh sách và cách lấy key tại bài viết: Top LLM lấy API Key miễn phí cho AI Agent. Danh sách provider và model khả dụng có thể khác nhau tùy phiên bản 9Router, loại tài khoản và hạn mức của từng nhà cung cấp.
Bước 6: Chọn Combos trên menu bên trái rồi nhấn Create Combo.

Nhập tên dễ nhận biết. Hãy ghi nhớ chính xác tên này vì OpenClaw sẽ sử dụng tên Combo làm Model ID.
Tiếp theo nhấn Add Model, sau đó chọn các model muốn sử dụng từ Codex và Gemini.


Các model được hiển thị phụ thuộc vào provider đã kết nối. Bạn có thể nhấn lại vào một model để bỏ chọn hoặc dùng ô tìm kiếm để tìm nhanh.
Dùng biểu tượng mũi tên để thay đổi vị trí các model. Thứ tự này đặc biệt quan trọng khi sử dụng chiến lược Fallback, vì 9Router sẽ ưu tiên model nằm trên cùng trước.

Nhấn Create để lưu.
Sau khi Combo xuất hiện trong danh sách, chọn một trong các chiến lược:
- Fallback: Ưu tiên model theo thứ tự và chuyển sang model tiếp theo khi nguồn trước gặp lỗi.
- Round Robin: Luân phiên model giữa các request để chia tải.
- Fusion: Gửi yêu cầu đến nhiều model và tổng hợp thành một câu trả lời.
Trong ví dụ này, chọn Round Robin để luân phiên giữa các model Codex và Gemini. Với tác vụ OpenClaw dài hoặc cần phản hồi ổn định, Fallback thường dễ kiểm soát hơn.

Bước 7: Nhấn biểu tượng Copy bên cạnh Combo. Tên Test9Router sẽ được dùng làm Model ID khi cấu hình OpenClaw.

Sau khi hoàn tất 2 phần trên, bạn cần lưu lại ba thông tin sau để kết nối với OpenClaw:
- API Base URL: http://localhost:20128/v1
- API Key: Key vừa tạo trong mục Endpoint & Key
- Model ID: Test9Router
Lưu ý: Nếu thoát hoàn toàn 9Router bằng lựa chọn Exit, API Endpoint sẽ ngừng phản hồi và OpenClaw không thể gọi Combo. Hãy giữ 9Router ở chế độ Hide to Tray hoặc thiết lập chạy nền trước khi đóng PowerShell.
Kết nối 9Router với OpenClaw
Bước 1: Mở PowerShell bằng quyền quản trị, sau đó chạy:
openclaw config
Lệnh này mở trình cấu hình OpenClaw. Nếu hệ thống phát hiện cấu hình cũ, OpenClaw sẽ hiển thị workspace, model và Gateway đang sử dụng.
Bước 2: Tại câu hỏi Where will the Gateway run?, chọn Local (this machine).
Nhấn Enter để xác nhận.

Bước 3: Tại phần What do you want to configure?, chọn Model rồi nhấn Enter.

Trong danh sách Model/auth provider, chọn More… để mở toàn bộ nhà cung cấp được hỗ trợ.

Tìm và chọn Custom Provider. Đây là lựa chọn dành cho endpoint tương thích OpenAI như 9Router.

Bước 4: Tại trường API Base URL, nhập endpoint đã sao chép từ 9Router:
http://localhost:20128/v1
Nhấn Enter để tiếp tục.

Nhắc lại lần nữa: Chỉ dùng localhost khi OpenClaw và 9Router chạy trên cùng máy. Nếu hai ứng dụng chạy trên hai thiết bị khác nhau, cần thay bằng địa chỉ Tunnel, Tailscale hoặc endpoint mạng phù hợp.
Bước 5: Tại câu hỏi How do you want to provide this API key?, chọn Paste API key now.

Sau đó, dán API Key đã tạo trong phần Endpoint & Key của 9Router rồi nhấn Enter.

Bước 6: Tại phần Endpoint compatibility, chọn OpenAI-compatible.

Bước 7: Tại trường Model ID, nhập chính xác tên Combo đã tạo trên 9Router. Trong ví dụ này là: Test9Router.

Chờ OpenClaw kiểm tra kết nối. Nếu thông tin hợp lệ, màn hình sẽ hiển thị Verification successful.
Nếu xuất hiện fetch failed, hãy kiểm tra lại:
- 9Router có đang chạy hay không.
- API Base URL có đúng cổng 20128 hay không.
- API Key đã được bật trong 9Router hay chưa.
- Tên Combo có trùng hoàn toàn với Model ID hay không.
Bước 8: Tại trường Endpoint ID, có thể giữ nguyên giá trị OpenClaw tự tạo.

Tương tự, trường Model alias là tùy chọn. Có thể để trống rồi nhấn Enter.
Alias chỉ giúp chọn model nhanh hơn bằng tên ngắn, không ảnh hưởng đến khả năng kết nối.
Bước 9: Tại câu hỏi Does this model support image input?, chọn:
- Yes: Combo có model nhận hình ảnh.
- No: Combo chỉ dùng cho nội dung văn bản.
Trong ví dụ này có model Gemini hỗ trợ hình ảnh nên có thể chọn Yes.

Bước 10: Sau khi OpenClaw hiển thị thông báo cấu hình thành công, chọn Done rồi nhấn Enter để thoát trình thiết lập.

OpenClaw cũng tự động cập nhật file cấu hình và tạo một bản sao lưu trước khi thay đổi.
Bước 11: Kiểm tra model mặc định bằng lệnh:
openclaw models
Trong kết quả, dòng Default cần hiển thị:
custom-localhost-20128/Test9Router

Nếu model 9Router chưa được đặt làm mặc định, chạy:
openclaw models set custom-localhost-20128/Test9Router
Sau đó kiểm tra lại.
Bước 12: Gửi một câu hỏi thử trong OpenClaw hoặc kênh chat đã kết nối. Tiếp theo, mở Usage trên Dashboard 9Router.
Khi kết nối hoạt động, khu vực Usage & Analytics sẽ hiển thị:
- Số lượng request.
- Input token và output token.
- Model thực tế được Combo lựa chọn.
- Provider đang tiếp nhận yêu cầu.
- Thời gian của request gần nhất.

Khi nào không cần dùng 9Router?
9Router không phải lựa chọn bắt buộc trong mọi trường hợp. Bạn có thể kết nối trực tiếp provider với OpenClaw khi:
- Chỉ dùng một model cố định.
- Không cần fallback hoặc luân phiên nhiều tài khoản.
- Muốn sử dụng đầy đủ tính năng riêng của provider gốc.
- Hệ thống yêu cầu độ đơn giản cao và hạn chế thêm một lớp trung gian.
- Provider đã có plugin chính thức, khả năng xác thực và catalog model hoàn chỉnh trong OpenClaw.

OpenClaw khuyến nghị ưu tiên plugin provider chính thức khi nguồn đã được hỗ trợ đầy đủ. Custom provider phù hợp hơn khi cần dùng proxy, endpoint riêng hoặc gateway tương thích OpenAI như 9Router.
Kết luận
Tóm lại, việc kết hợp 9Router cho OpenClaw mang lại một hệ thống AI Agent linh hoạt, tiết kiệm và ổn định hơn rất nhiều so với việc gắn cứng vào một nhà cung cấp duy nhất. Hy vọng hướng dẫn trên đã giúp bạn thiết lập thành công 9Router cho OpenClaw và có thêm một trợ lý AI vận hành bền bỉ, tiết kiệm cho công việc mỗi ngày.
Những câu hỏi thường gặp
Có bắt buộc cài 9Router và OpenClaw trên cùng một máy không?
Không bắt buộc. Tuy nhiên, cài hai công cụ trên cùng một máy giúp quá trình kết nối đơn giản hơn vì có thể dùng địa chỉ http://localhost:20128/v1
Có thể dùng model AI miễn phí trong Combo 9Router không?
Có. Bạn có thể kết nối các provider có gói miễn phí hoặc API Key miễn phí, sau đó thêm model tương ứng vào Combo.
Chất lượng, quota và khả năng gọi công cụ sẽ khác nhau giữa từng provider. Với OpenClaw, nên ưu tiên model hỗ trợ tool calling ổn định và có context đủ lớn cho tác vụ nhiều bước.
Ngoài OpenClaw, 9Router còn hoạt động được với công cụ nào khác?
Có. Bất kỳ công cụ nào hỗ trợ custom OpenAI endpoint đều kết nối được với 9Router, bao gồm Claude Code, Codex, Cursor, Cline, GitHub Copilot, Antigravity, Continue, RooCode, Aider, Droid, OpenCode, Kilo Code và nhiều công cụ khác.
Dashboard hiển thị số tiền tiết kiệm lên đến vài trăm đô, khoản này có bị tính phí không?
Không. Con số đó chỉ là bộ đếm mang tính tham khảo, thể hiện mức phí sẽ phải trả nếu dùng API trả phí trực tiếp, trong khi thực tế OpenClaw đang chạy trên provider miễn phí hoặc giá rẻ. Chi phí thực tế phụ thuộc vào provider đang được sử dụng tại thời điểm đó, không phải con số hiển thị trên dashboard.
Khi 9Router chuyển sang provider khác giữa chừng, cuộc trò chuyện trên OpenClaw có bị mất không?
Lịch sử hội thoại vẫn được giữ nguyên trong phiên làm việc của OpenClaw. Tuy vậy, khi chuyển sang model khác, cách xử lý cùng một ngữ cảnh có thể hơi khác biệt vì mỗi model có kiến trúc và dữ liệu huấn luyện riêng. Với các tác vụ dài đòi hỏi tính nhất quán cao, nên ưu tiên thiết lập Combo với model chính còn đủ quota ở vị trí đầu tiên.
