claude-code-router: cách dùng Claude Code với DeepSeek, model khác

claude-code-router là gì: công cụ mã nguồn mở chuyển yêu cầu của Claude Code sang DeepSeek hay model có API chuẩn OpenAI, cài bằng npm, chạy lệnh ccr code.

AI lập trình7 phút đọc
Minh họa một nút giao thông phát sáng chia một luồng dữ liệu thành nhiều nhánh dẫn tới các khối model khác nhau

Thử hình dung cuối tháng, anh trưởng nhóm lập trình mở hóa đơn API ra xem và thở dài. Cả nhóm mê Claude Code, ai cũng dùng cả ngày. Nhưng nhân con số đô la với tỷ giá rồi nhân tiếp cho năm người, sếp bắt đầu hỏi "có cách nào rẻ hơn không?".

claude-code-router là một câu trả lời từ cộng đồng: giữ nguyên Claude Code, đổi model phía sau.

claude-code-router là công cụ mã nguồn mở của tác giả musistudio, dùng để chuyển các yêu cầu Claude Code gửi đi sang model khác như DeepSeek, thay vì gửi tới Claude. Gói npm @musistudio/claude-code-router phát hành bản 1.0.0 ngày 10/06/2025, giấy phép MIT.

Đọc nhanh trong 30 giây

  • claude-code-router là công cụ mã nguồn mở (MIT) của musistudio, bản 1.0.0 ngày 10/06/2025.
  • Nó đứng giữa Claude Code và model, đổi định dạng yêu cầu để dùng DeepSeek hay model có API chuẩn OpenAI.
  • Cài bằng npm install -g @musistudio/claude-code-router, chạy ccr code.
  • Hợp với người muốn thử Claude Code với chi phí thấp hơn, chưa hợp với dự án cần kết quả ổn định.

claude-code-router là gì, dùng vào việc gì?

claude-code-router là một trạm trung chuyển chạy trên máy anh chị: Claude Code tưởng mình đang nói chuyện với máy chủ Anthropic, nhưng thực ra đang nói chuyện với router, và router chuyển tiếp yêu cầu tới model khác. README mô tả ngắn gọn: công cụ định tuyến yêu cầu của Claude Code sang model khác, và cho phép tùy biến bất kỳ yêu cầu nào.

Hình dung Claude Code là một tài xế giỏi, còn model là động cơ. Bình thường tài xế này chỉ lái xe có động cơ Claude. claude-code-router là bộ chuyển đổi cho phép cùng tài xế đó lái xe có động cơ DeepSeek.

Kiến trúc claude-code-router: Claude Code gửi yêu cầu tới router tại 127.0.0.1:3456, router đổi định dạng rồi gửi tới model khác

Router chạy hoàn toàn trên máy anh chị, đứng giữa Claude Code và model thay thế.

Mã nguồn bản đầu cho thấy router làm bốn việc:

  • Chạy một dịch vụ nền tại địa chỉ 127.0.0.1:3456 trên máy.
  • Khi anh chị gõ ccr code, mở Claude Code với biến ANTHROPIC_BASE_URL trỏ về router.
  • Đổi yêu cầu từ định dạng của Anthropic sang định dạng chuẩn OpenAI.
  • Gửi tới model khai báo trong cấu hình, rồi trả kết quả về cho Claude Code.

Bước đổi định dạng giống cục chuyển ổ cắm khi đi du lịch: phích cắm của Claude Code vẫn nguyên, chỉ cần một miếng ở giữa để cắm vừa ổ điện của nhà cung cấp khác.

Nếu anh chị chưa quen Claude Code, xem bài Claude Code chính thức ra mắt trước.

Cài claude-code-router trong 4 bước

Các bước cài claude-code-router: cài Claude Code, cài router, chạy ccr code, nhập khóa và model

Hai gói npm, một lệnh chạy, ba câu hỏi lần đầu.

  1. Cài Claude Code:
npm install -g @anthropic-ai/claude-code
  1. Cài claude-code-router:
npm install -g @musistudio/claude-code-router
  1. Khởi động Claude Code qua router:
ccr code
  1. Lần đầu chạy, router hỏi ba thông tin: OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL. Đây là khóa, địa chỉ API và tên model của nhà cung cấp anh chị chọn, miễn là có API chuẩn OpenAI. Câu trả lời được lưu vào ~/.claude-code-router/config.json.

Ngoài ccr code, lệnh ccr còn có start, stop, status để bật, tắt và xem trạng thái dịch vụ nền.

Mẹo

Claude Code không kết nối được thì gõ ccr status trước, xem dịch vụ nền có đang chạy không. Chưa chạy thì ccr start, rồi hẵng nghĩ tới chuyện cài lại.

Thử ngay với hai việc thật

Việc 1: dùng Claude Code với DeepSeek. Anh chị có khóa API DeepSeek, nhập địa chỉ API và tên model DeepSeek ở bước 4, rồi làm việc trong Claude Code như bình thường. Tác giả kể trong README rằng sau ba bốn lượt trao đổi, Claude Code chạy với DeepSeek đã xử lý xong một lỗi Flutter với chi phí dưới 1 nhân dân tệ. Đây là trải nghiệm cá nhân của tác giả, không phải phép đo chuẩn.

Muốn hiểu thêm về DeepSeek, anh chị có thể đọc bài DeepSeek-R1 là gì.

Việc 2: chỉnh prompt cho hợp model. Tính năng plugin, đang ở bản beta, cho phép viết lại prompt của Claude Code và tự viết luật định tuyến. Đặt file plugin vào $HOME/.claude-code-router/plugins, rồi khai báo trong config.json:

{
    "usePlugin": "gemini",
    "LOG": true,
    "OPENAI_API_KEY": "",
    "OPENAI_BASE_URL": "",
    "OPENAI_MODEL": ""
}

Repo có hai plugin mẫu: một cho định tuyến tùy chỉnh với DeepSeek, một để viết lại prompt cho Gemini.

Claude Code qua router khác gì Claude Code gốc?

Claude Code qua router giữ nguyên giao diện và cách làm việc, chỉ thay model và nơi nhận dữ liệu. Phần khác biệt nằm ở chất lượng, giới hạn ngữ cảnh và điều khoản dữ liệu.

So sánh Claude Code gốc và Claude Code chạy qua claude-code-router theo nơi nhận yêu cầu, model, khóa cần có và rủi ro

Cùng một tài xế, hai động cơ khác nhau.

Claude Code gốc Qua claude-code-router
Yêu cầu gửi tới Máy chủ Anthropic Router trên máy, rồi tới nhà cung cấp đã khai báo
Model Claude Model trong config.json, ví dụ DeepSeek
Khóa cần có Tài khoản Anthropic Khóa nhà cung cấp có API chuẩn OpenAI
Gọi công cụ Prompt thiết kế cho Claude Model khác có thể gọi sai công cụ

Lưu ý

  • Giới hạn ngữ cảnh: README cảnh báo API DeepSeek chính hãng chỉ hỗ trợ 64K ngữ cảnh, nên sau vài lượt có thể báo lỗi vượt ngữ cảnh. Khi đó phải xóa ngữ cảnh làm lại, hoặc dùng API DeepSeek của ByteDance với 128K ngữ cảnh theo gợi ý của tác giả.
  • Chưa đổi model trong phiên: danh sách tính năng ghi việc đổi model và tác vụ hẹn giờ là chưa làm xong.
  • Claude Code tốn nhiều token: README nói thẳng điều này. Router giúp giảm đơn giá, không giảm số token.
  • Điều khoản sử dụng: đây là cách dùng do cộng đồng tự làm. Nên đọc điều khoản của Anthropic và của nhà cung cấp model trước khi dùng cho việc công ty.
  • Dự án cá nhân, mới phát hành: bản 1.0.0 vừa ra, chưa có cam kết hỗ trợ.

Nhận xét của chuyên gia

claude-code-router chạm đúng nỗi đau của nhiều đội nhỏ ở Việt Nam: thích Claude Code nhưng chi phí theo đô la khó duy trì cho cả nhóm. Công cụ này cho thấy giá trị của Claude Code nằm nhiều ở phần "tài xế", tức cách nó lên kế hoạch, đọc file, gọi công cụ, chứ không nằm hết ở model.

Hợp với ai: lập trình viên cá nhân, nhóm thử nghiệm, người muốn so sánh nhiều model trên cùng một quy trình.

Chưa hợp với ai: dự án quan trọng cần kết quả ổn định; doanh nghiệp cần hợp đồng hỗ trợ; đội chưa có thói quen dùng Git để hoàn tác khi agent sửa sai. Thêm một rủi ro tôi luôn nhấn mạnh: khi đổi model, code của anh chị đi tới một nhà cung cấp khác với điều khoản dữ liệu khác. Hãy kiểm tra nhà cung cấp đó lưu dữ liệu ở đâu, có dùng để huấn luyện không.

Cách bắt đầu của tôi: cài trên máy cá nhân, giao cho Claude Code chạy qua router những việc nhỏ như viết test, giải thích code, rồi so với Claude gốc trên cùng việc. Thấy chênh lệch chất lượng chấp nhận được thì mới mở rộng.

Một câu để nhớ: đổi động cơ thì xe chạy rẻ hơn, nhưng phải chạy thử trên đường vắng trước khi chở hàng.

Câu hỏi thường gặp

claude-code-router có miễn phí không?

Có. Công cụ là mã nguồn mở giấy phép MIT. Anh chị chỉ trả tiền API cho nhà cung cấp model đã khai báo, ví dụ DeepSeek.

Dùng claude-code-router có cần tài khoản Claude không?

Không cần khóa Anthropic. Khi chạy ccr code, router tự đặt biến xác thực giả và chuyển mọi yêu cầu tới model trong file cấu hình, nhưng máy vẫn phải cài Claude Code.

claude-code-router chạy được với model nào?

Bản đầu gọi model qua API chuẩn OpenAI, nên dùng được với nhà cung cấp nào có API kiểu này. README lấy DeepSeek làm ví dụ chính.

Các mốc khác nằm trong chuỗi dòng thời gian AI.

Nguồn: musistudio/claude-code-router trên GitHub, 10/06/2025.

Nguồn tham khảo: https://github.com/musistudio/claude-code-router

Zalo

TA-Assistant

System Online
Xin chào! Tôi là trợ lý AI của Tuấn Anh. Tôi có thể giúp gì cho bạn hôm nay?