close

Cách dùng 9Router cho OpenClaw: cấu hình từng bước

Tác giả: Đông Tùng Ngày đăng: 03/08/2026 Chuyên mục: OpenClaw
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Tino Group có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Để dùng 9Router cho OpenClaw, bạn khai báo 9Router là một Custom Provider tương thích OpenAI trong OpenClaw với ba giá trị: API Base URL http://localhost:20128/v1, API key tạo trong dashboard 9Router và Model ID là tên combo đã tạo trên 9Router. Từ đó, mọi yêu cầu của agent đi qua combo và 9Router tự chọn model thật phía sau.

Bài này chỉ nói phần cấu hình trong OpenClaw. Nếu chưa rõ 9Router là gì, có miễn phí và an toàn không, đọc trước bài 9Router là gì; các cách khác để đưa model vào OpenClaw nằm trong bài dùng nhiều model AI trên OpenClaw.

Vì sao nên kết nối 9Router với OpenClaw?

Kết nối 9Router với OpenClaw hữu ích khi bạn muốn OpenClaw dùng nhiều nguồn model mà không phải khai báo lại từng provider:

  • Chỉ quản lý một Base URL và một API key nội bộ trong OpenClaw.
  • Thêm, bớt hoặc đổi thứ tự model trong combo trên 9Router mà không sửa cấu hình OpenClaw.
  • Combo tự chuyển model khi nguồn chính lỗi hoặc hết hạn mức.
  • Theo dõi token, hạn mức và lịch sử yêu cầu tập trung trên dashboard 9Router.

Đổi lại, bạn thêm một lớp trung gian giữ token và key của mọi provider. Với gói thuê bao kết nối qua OAuth, chính 9Router cảnh báo tài khoản có thể bị hạn chế nếu nhà cung cấp không cho phép dùng qua proxy; chi tiết ở mục rủi ro điều khoản và bảo mật của 9Router.

Cách dùng 9Router cho OpenClaw từng bước

Hướng dẫn giả định 9Router và OpenClaw cài trên cùng một máy Windows, nên OpenClaw gọi 9Router qua localhost:20128. Máy cần Node.js và npm. Ảnh chụp dùng 9Router 0.5.45 và OpenClaw 2026.7.1; các bản 2026.10 có cùng trình hỏi đáp, chỉ khác vài chi tiết hiển thị.

Bước 1: Cài đặt và đăng nhập 9Router

Mở Windows PowerShell (chuột phải, chọn Run as administrator), rồi cài bản 9Router mới nhất:

npm install -g 9router@latest
PowerShell quyền Administrator chạy lệnh npm install -g 9router@latest

Khởi động 9Router:

9router

Tại màn hình Choose Interface, dùng phím mũi tên chọn Web UI (Open in Browser) rồi nhấn Enter. Dashboard mặc định ở http://localhost:20128.

Menu Choose Interface của 9Router v0.5.45, đang chọn Web UI (Open in Browser), server http://localhost:20128

Nếu trình duyệt không tự mở, vào http://localhost:20128/login. Khi chưa đặt mật khẩu, mật khẩu mặc định là 123456.

Trang đăng nhập 9Router tại localhost:20128/login, ghi Default password is 123456 và cảnh báo Security risk khi chưa đặt mật khẩu

Đăng nhập xong, vào Settings đổi mật khẩu ngay. Sau đó quay lại PowerShell, chọn Hide to Tray (Background) để 9Router chạy nền.

Menu Choose Interface của 9Router đang chọn Hide to Tray (Background)

Khi cần mở lại dashboard, vào http://localhost:20128/dashboard.

Dashboard 9Router tại localhost:20128/dashboard, trang Endpoint với API Endpoint http://localhost:20128/v1 và mục API Keys chưa có key
  • Sau khi chọn Hide to Tray, đóng PowerShell không làm 9Router dừng.
  • Tắt máy, khởi động lại Windows hoặc chọn Exit trong menu 9Router thì phải chạy lại lệnh 9router.
  • OpenClaw và 9Router là hai tiến trình riêng. Nếu Gateway OpenClaw đang chạy trực tiếp trong một cửa sổ terminal (chưa cài dịch vụ nền), đóng cửa sổ đó sẽ dừng Gateway.

Trên npm bản mới, nếu PowerShell báo install scripts blocked, cài lại và cho phép script của gói 9router:

npm install -g --allow-scripts=9router 9router@latest

Bước 2: Tạo API key và lấy endpoint trên 9Router

Trong dashboard, chọn Endpoint & Key, tìm mục API Keys rồi nhấn Create Key.

Trang Endpoint & Key của 9Router, mũi tên chỉ nút Create Key trong mục API Keys

Đặt tên dễ nhận biết rồi nhấn Create.

Hộp thoại Create API Key trong 9Router, Key Name điền 9Router OpenClaw

Hộp thoại API Key Created chỉ hiện key một lần. Nhấn Copy và lưu key ở nơi an toàn.

Hộp thoại API Key Created của 9Router nhắc lưu key ngay

Phần API Endpoint hiển thị http://localhost:20128/v1. Sao chép địa chỉ này để nhập vào OpenClaw. Nên bật luôn công tắc Require API key ở cùng trang để 9Router từ chối yêu cầu không có key; tuỳ chọn này mặc định tắt.

Mục API Endpoint http://localhost:20128/v1 của 9Router và key 9Router OpenClaw đã tạo, hiển thị rút gọn, công tắc Require API key đang tắt

Bước 3: Thêm provider và tạo combo trên 9Router

Ví dụ dùng hai provider: OpenAI Codex (qua OAuth) và Gemini (qua API key). Cách quản lý provider, combo và hạn mức chi tiết hơn có trong bài 9Router là gì.

Vào Providers, tìm OpenAI Codex trong nhóm OAuth Providers và nhấn vào.

Trang Providers của 9Router, mũi tên chỉ OpenAI Codex trong nhóm OAuth Providers

Nhấn Add Connection, đăng nhập tài khoản OpenAI có quyền dùng Codex và cấp quyền. Trang này có cảnh báo rủi ro tài khoản của 9Router; hãy đọc trước khi tiếp tục.

Cửa sổ OpenAI chọn tài khoản để tiếp tục đến Codex (tên và email đã che), phía sau là hộp thoại Connect OpenAI Codex của 9Router

Thường 9Router tự nhận kết quả xác thực. Nếu không, sao chép Callback URL trên trình duyệt và dán vào ô trong 9Router.

Tiếp theo, quay lại Providers, kéo xuống nhóm Free Tier Providers và chọn Gemini.

Nhóm Free Tier Providers trong 9Router: OpenCode Free, Gemini CLI, Kiro AI, OpenRouter, NVIDIA NIM, Ollama Cloud, Vertex AI, Gemini, Cloudflare, Kilo Gateway…; mũi tên chỉ Gemini

Nhập tên kết nối, dán API key Gemini (tạo ở Google AI Studio) rồi nhấn Check. Khi trạng thái là Valid, giữ Priority 1, Proxy Pool để None và nhấn Save.

Hộp thoại Add Gemini API Key trong 9Router: tên Gemini, API key dạng ẩn, trạng thái Valid, Priority 1, Proxy Pool None, nút Save

Bạn có thể dùng provider khác có API key miễn phí; danh sách và giới hạn từng nơi xem ở bài LLM lấy API key miễn phí cho AI Agent. Lưu ý gói miễn phí của Gemini API có giới hạn tốc độ và theo trang giá của Google, dữ liệu gửi qua gói miễn phí có thể được dùng để cải thiện sản phẩm.

Chọn Combos ở menu trái rồi nhấn Create Combo.

Trang Combos của 9Router khi chưa có combo, nút Create Combo

Nhập tên combo. OpenClaw sẽ dùng chính tên này làm Model ID, nên ghi lại chính xác.

Hộp thoại Create Combo, Combo Name điền Test9Router, nút Add Model

Nhấn Add Model và chọn model từ Codex và Gemini.

Hộp thoại Add Model to Combo: các model GPT 5.4 đến GPT 5.6 của OpenAI Codex và Gemini 2.5 Flash, Gemini 2.5 Pro, Gemini 3 Flash Preview được khoanh đỏ

Dùng mũi tên để sắp thứ tự. Thứ tự quan trọng với chiến lược Fallback vì 9Router thử model trên cùng trước.

Danh sách model trong combo Test9Router: cx/gpt-5.5, gemini/gemini-3-flash-preview, cx/gpt-5.4, nút Create

Nhấn Create, rồi chọn chiến lược cho combo: Fallback (thử theo thứ tự), Round Robin (luân phiên để chia tải) hoặc Fusion (hỏi nhiều model rồi tổng hợp, tốn token hơn). Ví dụ chọn Round Robin; với tác vụ OpenClaw dài hoặc cần phản hồi ổn định, Fallback dễ kiểm soát hơn.

Combo Test9Router với menu chiến lược Fallback, Round Robin rotate, Fusion panel + judge

Nhấn biểu tượng Copy cạnh combo để lấy tên Test9Router.

Combo Test9Router ở chế độ Round Robin, mũi tên chỉ nút Copy tên combo

Không thoát 9Router bằng Exit: endpoint sẽ ngừng trả lời và OpenClaw không gọi được combo.

Bước 4: Khai báo 9Router là Custom Provider trong OpenClaw

Sơ đồ ba giá trị khai báo trong Custom Provider của OpenClaw: API Base URL localhost:20128/v1, API key tạo trong 9Router, Model ID là tên combo; OpenClaw ghi thành model custom-localhost-20128/Test9Router và combo 9Router chọn model thật

Mở PowerShell và chạy trình cấu hình. Theo tài liệu OpenClaw, openclaw config không kèm lệnh con mở cùng trình hỏi đáp với openclaw configure (OpenClaw CLI: config):

openclaw config

Nếu OpenClaw phát hiện cấu hình cũ, màn hình hiện workspace, model và Gateway đang dùng. Tại câu Where will the Gateway run?, chọn Local (this machine).

Trình openclaw config của OpenClaw 2026.7.1-2: Existing config detected (workspace ~/.openclaw/workspace, model google/gemini-2.5-flash, Gateway loopback :18789), câu hỏi Where will the Gateway run? chọn Local

Tại What do you want to configure?, chọn Model. Muốn vào thẳng phần này, có thể chạy openclaw config --section model.

Danh mục What do you want to configure? trong OpenClaw: Workspace, Model (Pick provider + credentials), Web tools, Gateway, Daemon, Channels, Plugins, Skills, Health check

Trong danh sách Model/auth provider, chọn More… để mở đủ danh sách nhà cung cấp.

Danh sách Model/auth provider của OpenClaw: OpenAI, Anthropic, xAI, Google, OpenRouter, Meta và mục More…

Chọn Custom Provider, mục dành cho mọi endpoint tương thích OpenAI hoặc Anthropic.

Danh sách đầy đủ Model/auth provider của OpenClaw, đang chọn Custom Provider (Any OpenAI or Anthropic compatible endpoint)

Tại API Base URL, nhập endpoint của 9Router rồi nhấn Enter:

http://localhost:20128/v1
OpenClaw hỏi API Base URL, đã nhập http://localhost:20128/v1

Chỉ dùng localhost khi OpenClaw và 9Router chạy cùng máy. Nếu ở hai máy khác nhau, dùng địa chỉ mà máy OpenClaw truy cập được qua mạng riêng như Tailscale hoặc qua đường hầm SSH.

Tại How do you want to provide this API key?, chọn Paste API key now. Lựa chọn này lưu key thẳng vào file cấu hình OpenClaw; nếu bạn đã dùng trình quản lý secret, chọn Use external secret provider.

OpenClaw hỏi How do you want to provide this API key?: Paste API key now (lưu key trong config) hoặc Use external secret provider

Dán API key đã tạo ở bước 2 rồi nhấn Enter.

Ô API Key (leave blank if not required) trong OpenClaw, key hiển thị dạng dấu chấm

Tại Endpoint compatibility, chọn OpenAI-compatible (dùng /chat/completions).

Lựa chọn Endpoint compatibility của OpenClaw: OpenAI-compatible, OpenAI Responses-compatible, Anthropic-compatible, Unknown

Tại Model ID, nhập đúng tên combo, ví dụ Test9Router.

OpenClaw hỏi Model ID, đã nhập Test9Router

OpenClaw gọi thử endpoint. Thông tin đúng thì màn hình báo Verification successful. Nếu báo fetch failed, kiểm tra:

  • 9Router có đang chạy không.
  • API Base URL có đúng cổng 20128 và có đuôi /v1 không.
  • API key còn bật trong 9Router không.
  • Tên combo có khớp hoàn toàn với Model ID không.

Endpoint ID có thể giữ giá trị OpenClaw tự tạo (ví dụ custom-localhost-20128). Model alias là tuỳ chọn, để trống rồi nhấn Enter; alias chỉ giúp gọi model bằng tên ngắn.

OpenClaw báo Verification successful và đề xuất Endpoint ID custom-localhost-20128

Tại Does this model support image input?, chọn Yes nếu combo có model nhận ảnh (ví dụ Gemini), chọn No nếu combo chỉ xử lý văn bản.

OpenClaw hỏi Does this model support image input? với lựa chọn Yes/No

Khi OpenClaw báo cấu hình thành công, chọn Done để thoát. OpenClaw tự cập nhật ~/.openclaw/openclaw.json và tạo bản sao lưu openclaw.json.bak trước khi ghi.

OpenClaw báo Configured custom provider custom-localhost-20128/Test9Router, Updated config ~/.openclaw/openclaw.json, Backup ~/.openclaw/openclaw.json.bak, chọn Done

Bước 5: Kiểm tra model mặc định trong OpenClaw

Xem model mặc định bằng:

openclaw models

Dòng Default cần hiển thị custom-localhost-20128/Test9Router.

Kết quả lệnh openclaw models trong PowerShell: Default custom-localhost-20128/Test9Router, các model đã cấu hình và tổng quan auth

Nếu combo chưa là mặc định, đặt lại rồi kiểm tra bằng openclaw models status (OpenClaw CLI: models):

openclaw models set custom-localhost-20128/Test9Router
openclaw models status

Gửi một câu hỏi trong OpenClaw hoặc kênh chat đã kết nối, rồi mở Usage trên 9Router. Khi kết nối chạy, Usage & Analytics hiển thị số yêu cầu, token vào và ra, model mà combo đã chọn và provider nhận yêu cầu.

Usage & Analytics của 9Router sau một yêu cầu từ OpenClaw: 1 request, 2.486 input tokens, 14 output tokens, model gpt-5.5 qua OpenAI Codex

Cấu hình thủ công trong openclaw.json

Không muốn dùng trình hỏi đáp, bạn có thể khai báo provider trong ~/.openclaw/openclaw.json (định dạng JSON5, cho phép chú thích). Gateway tự nạp lại khi file thay đổi. Cấu trúc theo tài liệu custom providers của OpenClaw (OpenClaw: Custom providers):

{
  agents: { defaults: { model: { primary: "nine/Test9Router" } } },
  models: {
    providers: {
      nine: {
        baseUrl: "http://127.0.0.1:20128/v1",
        apiKey: "${NINEROUTER_API_KEY}",   // đọc từ biến môi trường
        api: "openai-completions",
        models: [{ id: "Test9Router" }]
      }
    }
  }
}

Đặt key vào biến môi trường NINEROUTER_API_KEY thay vì ghi thẳng vào file giúp không lộ key khi sao lưu hoặc chia sẻ cấu hình. Sau khi sửa, chạy openclaw doctor để kiểm tra cấu hình.

Chạy 9Router và OpenClaw trên VPS an toàn

Trên VPS, 9Router và OpenClaw nên nằm cùng máy và nói chuyện qua 127.0.0.1; không mở cổng 20128 ra Internet. Tài liệu OpenClaw cũng khuyên giữ Gateway (cổng 18789) ở loopback và truy cập từ xa qua Tailscale hoặc đường hầm SSH (OpenClaw: Gateway ports and remote mode).

  • Mở dashboard 9Router từ máy tính của bạn bằng đường hầm SSH, chạy trên máy cá nhân: ssh -N -L 20128:127.0.0.1:20128 user@dia-chi-vps, rồi vào http://localhost:20128.
  • Đặt mật khẩu dashboard riêng (biến INITIAL_PASSWORD khi khởi động lần đầu) và bật Require API key.
  • Nếu OpenClaw chạy trong Docker, localhost bên trong container là chính container. Cần trỏ tới địa chỉ host mà container truy cập được, và chỉ mở 9Router cho mạng nội bộ đó, không mở công khai.
  • Dùng tường lửa chặn cổng 20128 từ bên ngoài, kể cả khi đã bật API key.

Các lớp bảo vệ khác cho VPS chạy agent xem ở bài bảo mật VPS chạy AI Agent bằng Tailscale và cách ly sandbox cho AI Agent trên VPS.

Lỗi thường gặp khi dùng 9Router cho OpenClaw

Hiện tượngNguyên nhân thường gặpCách xử lý
fetch failed khi xác minh9Router chưa chạy, sai cổng, thiếu /v1Chạy lại 9router, kiểm tra endpoint trên trang Endpoint & Key
401 hoặc từ chối yêu cầuSai API key, key đã tắtTạo key mới trong 9Router, cập nhật lại OpenClaw
Model not foundModel ID khác tên comboSao chép tên combo bằng nút Copy, khai báo lại
OpenClaw vẫn dùng model cũThêm provider không tự đổi model chínhopenclaw models set custom-localhost-20128/Test9Router
Agent đang chạy thì mất kết nối9Router bị thoát bằng Exit hoặc máy khởi động lạiChạy 9Router dạng nền (Hide to Tray, PM2 hoặc Docker trên VPS)
Trả lời chậm hoặc lỗi giới hạn liên tụcModel đầu combo hết hạn mứcĐổi thứ tự combo hoặc chuyển sang Fallback, thêm nguồn trả phí
Tổng hợp từ các bước trong bài và README 9Router, 24/10/2026

Khi nào không cần dùng 9Router cho OpenClaw?

9Router không bắt buộc. Kết nối thẳng provider với OpenClaw đơn giản và rõ điều khoản hơn khi:

  • Bạn chỉ dùng một model cố định.
  • Không cần chuyển dự phòng hay chia tải.
  • Provider đã có sẵn trong OpenClaw với đăng nhập chính thức, ví dụ OpenAI Codex qua ChatGPT OAuth hoặc Gemini qua API key.
  • Hệ thống cần ít thành phần trung gian nhất có thể.
  • Bạn muốn đổi model ngay trong OpenClaw; xem cách đổi provider, model và API key trong OpenClaw.

Tài liệu OpenClaw xếp custom provider vào nhóm dùng cho proxy, endpoint riêng hoặc gateway tương thích OpenAI; với provider đã có plugin chính thức, dùng plugin đó trước.

Kết luận

Dùng 9Router cho OpenClaw chỉ cần ba giá trị: endpoint localhost:20128/v1, API key của 9Router và tên combo làm Model ID. Sau khi kết nối, hãy kiểm tra model mặc định bằng openclaw models, theo dõi Usage trên 9Router và giữ 9Router chạy nền. Trên VPS, để cả hai cùng máy, không mở cổng 20128 và bật Require API key trước khi cho agent chạy thật.

Muốn chạy OpenClaw 24/7 mà không tự cài? VPS OpenClaw của Tino cài sẵn OpenClaw trên VPS NVMe đặt tại Việt Nam; bạn vẫn có quyền root để cấu hình. Xem cấu hình và giá trên trang sản phẩm.

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, nhưng cùng máy đơn giản và an toàn hơn vì OpenClaw gọi 9Router qua http://localhost:20128/v1. Nếu khác máy, dùng địa chỉ qua mạng riêng như Tailscale hoặc đường hầm SSH, không mở cổng 20128 ra Internet.

Có dùng model AI miễn phí trong combo 9Router cho OpenClaw được không?

Được, với các provider có tier miễn phí hoặc API key miễn phí. Tier miễn phí có hạn mức và chất lượng gọi công cụ khác nhau; với OpenClaw nên ưu tiên model gọi tool ổn định và có context đủ lớn cho tác vụ nhiều bước.

Model ID trong OpenClaw nhập tên model hay tên combo?

Nhập tên combo đã tạo trên 9Router, ví dụ Test9Router. Nếu muốn gọi một model đơn lẻ, nhập đúng định danh model mà 9Router hiển thị trong Available Models.

Dashboard 9Router hiển thị số tiền tiết kiệm vài trăm đô, có bị tính phí không?

Không. Đó là chi phí ước tính nếu gọi API trả phí trực tiếp. Chi phí thật phụ thuộc provider bạn kết nối, không phải con số trên dashboard.

Khi 9Router chuyển model giữa chừng, cuộc trò chuyện trên OpenClaw có bị mất không?

Lịch sử vẫn nằm trong phiên của OpenClaw. Model mới có thể xử lý ngữ cảnh khác đi, nên với tác vụ dài cần nhất quán hãy đặt model chính còn đủ hạn mức ở đầu combo Fallback.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan