Roo Code là một agent code tự động mã nguồn mở cho VS Code — một fork trong họ Cline, nổi bật với hệ thống chế độ và định tuyến model theo từng chế độ. Nó không kèm model riêng, nên cần API key. Hướng dẫn này là thiết lập chính xác để chạy Claude trong Roo Code bằng một khóa sk-kn- với mức giá thấp hơn khoảng 30% so với giá niêm yết của Anthropic trên các model chính, cách dùng profile cấu hình để chỉ chi tiền cho model mạnh ở nơi cần thiết, chi phí của một phiên và đánh giá trung thực về sự đánh đổi so với gọi trực tiếp Anthropic.
Tại sao Roo Code cần API key
Mọi bước Roo Code thực hiện — đọc file, ghi diff, chạy lệnh, đọc kết quả — đều là một lệnh gọi model được tính phí theo token. Gói claude.ai Pro hoặc Max không bao gồm việc này: gói chat và quyền truy cập API là hai sản phẩm riêng, còn Roo Code giao tiếp với API. Vì vòng lặp agent gửi lại ngữ cảnh tác vụ ngày càng lớn ở mỗi bước, mức giá trên mỗi token là đòn bẩy lớn nhất đối với chi phí phiên — đây cũng là điểm mạnh của gateway: trả theo mức sử dụng từ khoản nạp $10, một khóa cũng truy cập được GPT và số dư không bao giờ hết hạn.
Thiết lập — ba trường
Mở Settings → Providers và đặt API provider thành OpenAI Compatible. Ba giá trị:
API Provider OpenAI Compatible
Base URL https://api.kunavo.com/v1
API Key sk-kn-... # create at kunavo.com/app/keys
Model ID claude-sonnet-5 # or claude-opus-5 / claude-haiku-4-5Tạo khóa tại bảng điều khiển sau khi đăng ký và nạp tiền — khóa chỉ hiển thị một lần, vì vậy hãy lưu ngay; tài liệu Claude API key trình bày việc xoay vòng và giới hạn chi tiêu. Nếu Roo Code yêu cầu metadata model như cửa sổ ngữ cảnh hoặc giới hạn output, lấy các giá trị từ trang model — đặt cửa sổ ngữ cảnh thấp hơn thực tế khiến nó cắt ngắn sớm hơn cần thiết.
Hãy thử bằng một tác vụ nhỏ trước khi cho phép chỉnh sửa code. Lỗi 401 ở đây gần như luôn do khóa; lỗi 404 gần như luôn do base URL hoặc slug model không tồn tại — Kunavo đối chiếu slug chính xác và không ánh xạ các tên có hậu tố ngày, vì vậy claude-sonnet-4-5-20250929 trả về 404 còn claude-sonnet-4-6 phân giải được.
Chế độ và profile cấu hình — đòn bẩy chi phí
Roo Code cung cấp một số chế độ tích hợp sẵn — Code, Architect, Ask và Debug — cùng các chế độ tùy chỉnh do bạn tự định nghĩa. Điểm quan trọng đối với chi phí là Roo Code lưu các profile cấu hình API có tên và ghi nhớ profile bạn dùng gần nhất trong từng chế độ. Vì vậy model trở thành thuộc tính của chế độ, thay vì thứ bạn phải nhớ để thay đổi:
# One API configuration profile per job, all on the same sk-kn- key.
# Roo Code remembers the profile you last used in each mode.
Profile "strong" model claude-opus-5 -> bind to Architect and Debug
Profile "code-default" model claude-sonnet-5 -> bind to Code mode
Profile "ask-cheap" model claude-haiku-4-5 -> bind to Ask modeLý do cách này hiệu quả là các chế độ có hồ sơ token rất khác nhau. Architect là một vài lượt suy luận nặng, trong đó chất lượng model quyết định hai mươi bước tiếp theo có hiệu quả hay không — chỉ chiếm phần nhỏ tổng số token, nên model mạnh có chi phí tuyệt đối thấp. Code gồm nhiều bước cơ học, mỗi bước gửi lại ngữ cảnh, và đây là nơi mức phí trên mỗi token cộng dồn. Ask thường chỉ có một lượt và hoàn toàn không cần model hàng đầu.
Các con số minh họa ở bên dưới: ba bước Architect trên Opus 5 cộng với mười bảy bước Code trên Sonnet 5 có giá khoảng $1,06 so với $0,87 cho toàn bộ lượt chạy trên Sonnet — cao hơn khoảng 23% để có kế hoạch tốt hơn rõ rệt, và rẻ hơn nhiều so với chạy mọi thứ trên Opus.
Tuyến Anthropic gốc (và lý do bạn có thể muốn dùng)
Roo Code cũng cung cấp provider Anthropic gốc với trường base URL tùy chỉnh. Trỏ nó tới https://api.kunavo.com — chỉ origin, không có /v1, vì client đó tự thêm /v1/messages — để định tuyến qua Messages API gốc. Dán dạng /v1 vào đây sẽ tạo lỗi 404 trông như model bị thiếu.
Tuyến đó mang lại bộ nhớ đệm prompt: cache_control được truyền nguyên dạng và input được lưu trong bộ nhớ đệm tính phí bằng 10% mức phí input (cách hoạt động). Trong vòng lặp gửi lại một tiền tố ổn định ở mỗi bước, đây là khoản tiết kiệm đơn lẻ lớn nhất hiện có — lớn hơn mọi việc đổi model. Cả hai tuyến đều hoạt động; OpenAI Compatible đơn giản hơn để bắt đầu, và chuyển đổi giữa chúng chỉ là thay đổi trong phần cài đặt.
Tuy vậy, bản thân việc lưu lời nhắc vào bộ nhớ đệm không cần đến tuyến Anthropic gốc. Với lời nhắc dài, Kunavo tự đặt các điểm ngắt bộ nhớ đệm trên tuyến OpenAI Compatible: trên lời nhắc hệ thống, trên các định nghĩa công cụ và trên tin nhắn cuối cùng khi cuộc trò chuyện đã có lượt trả lời của trợ lý; trong vòng lặp tác tử, điều kiện này được đáp ứng ở mọi bước sau bước đầu tiên. cache_control mà Roo Code đặt trên tuyến đó được giữ nguyên. Trên tuyến gốc, yêu cầu được chuyển tiếp đúng như Roo Code đã gửi và không có điểm ngắt nào được thêm vào, vì vậy những gì được lưu vào bộ nhớ đệm phụ thuộc vào các điểm ngắt mà Roo Code đặt.
Nên gắn model Claude nào với chế độ nào
| Chế độ | Mô hình | Đầu vào / đầu ra Kunavo (mỗi 1M) |
|---|---|---|
| Code (mặc định, khối lượng cao nhất) | claude-sonnet-5 | $1,40 / $7,00 |
| Architect và Debug — lập kế hoạch, thiết kế, lỗi khó | claude-opus-5 | $3,50 / $17,50 |
| Ask — câu hỏi một lần | claude-haiku-4-5 | $0,70 / $3,50 |
Tất cả đều dùng cùng một khóa và cùng một endpoint — chỉ slug model khác nhau, vì vậy thay đổi một profile chỉ mất một từ. Bảng giá đầy đủ theo từng model so với danh sách chính thức của Anthropic có trong bảng giá API Anthropic Claude, còn danh mục trực tiếp nằm trên trang giá.
Roo Code trên Kunavo so với gọi trực tiếp Anthropic
So sánh trung thực, bao gồm cả trường hợp gọi trực tiếp là lựa chọn tốt hơn:
| Roo Code → Kunavo | Roo Code → Anthropic trực tiếp | |
|---|---|---|
| Sonnet 5 trên mỗi 1M (input / output) | $1,40 / $7,00 | $2,00 / $10,00 |
| Bắt đầu | Đăng ký, nạp $10, tạo khóa | Tài khoản Anthropic Console đã cấu hình thanh toán |
| Các model trên một khóa | Claude và GPT, cùng hình ảnh, video và âm thanh | Chỉ Claude |
| Định tuyến model theo từng chế độ | Có — profile là tính năng của Roo Code, không bị ảnh hưởng bởi nhà cung cấp | Có |
| bộ nhớ đệm prompt | Có, thông qua tuyến nhà cung cấp Anthropic gốc (cache_control được chuyển tiếp) | Có, hỗ trợ sẵn |
| Các yêu cầu thất bại | Không tính phí | Không tính phí |
| Năng lực và SLA | Năng lực upstream dùng chung, không có SLA theo hợp đồng hoặc hạn ngạch đảm bảo | Bậc giới hạn tốc độ của tổ chức bạn và điều khoản hỗ trợ của Anthropic |
| Truy cập trong cùng ngày vào các model hoàn toàn mới | Khi kênh upstream cung cấp chúng | Khi phát hành |
Hàng năng lực đó là đánh đổi thực sự, được nêu rõ. Nếu bạn cần hạn ngạch đảm bảo, SLA theo hợp đồng hoặc quan hệ mua sắm với nhà cung cấp model, hãy dùng trực tiếp — đó là giá trị bạn mua bằng phần chênh lệch giá. Với một nhà phát triển cá nhân hoặc nhóm nhỏ chạy Roo Code, cán cân thường nghiêng theo hướng ngược lại.
Một phiên Roo Code thực sự tốn bao nhiêu
Các công cụ agent vốn tiêu thụ nhiều token: mỗi bước gửi lại system prompt, lịch sử tác vụ và ngữ cảnh tệp mới. Các con số thực tế theo giá Kunavo:
| Đơn vị | Token (đầu vào / đầu ra) | claude-sonnet-5 | Theo giá niêm yết của Anthropic |
|---|---|---|---|
| Một bước ở chế độ Code | 25.000 / 1.200 | $0,043 | $0,062 |
| Một tác vụ 20 bước | ~500k / ~24k | ~$0,87 | ~$1,24 |
| Cùng tác vụ, Architect trên Opus 5 | ~500k / ~24k | ~$1,06 | ~$1,52 |
| Một ngày nặng (5 tác vụ như vậy) | — | ~$4,34 | ~$6,20 |
Phép tính có thể chạy được:
# Kunavo Claude rates (USD per 1M tokens): (input, output)
RATES = {
"claude-haiku-4-5": (0.70, 3.50),
"claude-sonnet-5": (1.40, 7.00),
"claude-opus-5": (3.50, 17.50),
}
def step_cost(model, in_tokens, out_tokens):
i, o = RATES[model]
return in_tokens / 1_000_000 * i + out_tokens / 1_000_000 * o
# One Code-mode step: Roo resends the task context plus the files it read.
print(step_cost("claude-sonnet-5", 25_000, 1_200)) # -> $0.0434
# A realistic 20-step task on the Code-mode default:
print(20 * step_cost("claude-sonnet-5", 25_000, 1_200)) # -> ~$0.87
# Architect mode on Opus 5 for 3 steps, Code mode on Sonnet 5 for 17:
print(3 * step_cost("claude-opus-5", 25_000, 1_200)
+ 17 * step_cost("claude-sonnet-5", 25_000, 1_200)) # -> ~$1.06Giảm hóa đơn
- Hãy bắt đầu tác vụ mới thay vì kéo dài một tác vụ mãi mãi. Roo Code gửi lại toàn bộ cuộc trò chuyện ở mỗi bước, nên một tác vụ chạy dài tăng chi phí theo cấp số bậc hai. Tác vụ mới có ngữ cảnh mới, nhỏ gọn — đây là thói quen tạo đòn bẩy lớn nhất.
- Gắn một profile cho từng chế độ. Như đã đề cập ở trên: việc này biến định tuyến model thành cấu hình thay vì điều bạn phải nhớ giữa tác vụ.
- Dùng tuyến Anthropic gốc để bật bộ nhớ đệm. Input được lưu trong bộ nhớ đệm ở mức 10% giá input là khoản tiết kiệm mang tính cấu trúc lớn nhất trên vòng lặp gửi lại một tiền tố ổn định.
- Cấp cho trình soạn thảo một khóa có giới hạn chi tiêu riêng. Tạo một khóa riêng trong bảng điều khiển và kiểm tra mức sử dụng sau một tuần thực tế — đó là ước tính trung thực duy nhất về chi phí của bạn.
Câu hỏi thường gặp
Tôi dùng base URL nào cho Roo Code với Claude API?
Trong Roo Code, vào Settings → Providers, đặt API Provider thành 'OpenAI Compatible', Base URL thành https://api.kunavo.com/v1, dán khóa Kunavo (sk-kn-...) và đặt ID model thành một slug Claude như claude-sonnet-5. Nếu dùng provider 'Anthropic' gốc của Roo Code, chỉ đặt base URL thành origin — https://api.kunavo.com — vì client đó tự thêm /v1/messages. Thêm /v1 tại đây là nguyên nhân phổ biến nhất gây 404 trong thiết lập này. Với tác vụ khó nhất, đặt ID model thành claude-opus-5.
Tôi có thể dùng gói Claude Pro hoặc Max với Roo Code không?
Không. Tính đến tháng 9 năm 2026, tài liệu về nhà cung cấp của Roo Code không liệt kê tùy chọn đăng ký Claude — nhà cung cấp Anthropic của Roo Code nhận khóa API từ Anthropic Console — và gói đăng ký trò chuyện claude.ai không bao gồm quyền truy cập API. Roo Code gọi API trực tiếp, vì vậy mọi lần đọc tệp, so sánh thay đổi và thực thi lệnh đều là một lần gọi mô hình bị tính phí, và bạn cần khóa API trả theo mức sử dụng. Trên Kunavo, điều đó có nghĩa là khoản nạp tối thiểu $10 và số dư không bao giờ hết hạn. Ngoài ra, hầu hết các mô hình Claude có giá thấp hơn 30% so với giá niêm yết của Anthropic.
Roo Code có thể dùng model Claude khác nhau theo từng chế độ không?
Có, và đây là đòn bẩy chi phí chính trên công cụ này. Roo Code lưu các profile cấu hình API có tên và ghi nhớ profile bạn dùng gần nhất trong từng chế độ, vì vậy bạn có thể gắn model mạnh cho Architect và Debug, còn model rẻ hơn cho Code và Ask. Một phân chia thực tế: claude-opus-5 ($3,50/$17,50 trên mỗi 1M) cho Architect và Debug, claude-sonnet-5 ($1,40/$7,00) cho Code — mới hơn claude-sonnet-4-6 ($2,10/$10,50) và rẻ hơn trên mỗi token tại Kunavo — và claude-haiku-4-5 ($0,70/$3,50) cho Ask. Cả ba profile dùng cùng một khóa — chỉ slug model thay đổi.
Chạy Claude trong Roo Code tốn bao nhiêu?
Roo Code gửi lại ngữ cảnh tác vụ ở mỗi bước, vì vậy chi phí phụ thuộc vào số bước thay vì thời gian đã dùng. Một bước điển hình có khoảng 25.000 token input và 1.200 token output — khoảng $0,043 trên claude-sonnet-5 theo mức giá Kunavo, vì vậy tác vụ 20 bước vào khoảng $0,87 so với khoảng $1,24 theo giá niêm yết của Anthropic. Yêu cầu thất bại không bao giờ bị tính phí. Bộ nhớ đệm prompt, khả dụng trên tuyến Anthropic gốc, tính phí input được lưu trong bộ nhớ đệm bằng 10% mức phí input và là khoản tiết kiệm mang tính cấu trúc lớn nhất.
Thiết lập tương tự có hoạt động với Cline và Kilo Code không?
Có — cả ba dùng cùng một provider model, vì Roo Code và Kilo Code là các fork trong họ Cline. Chi tiết theo công cụ khác nhau: Cline với Claude API trình bày cách phân chia Plan/Act, còn Kilo Code với Claude API trình bày thiết lập riêng. Với agent terminal thay vì extension trình soạn thảo, hướng dẫn thiết lập Claude Code có hợp đồng biến môi trường, còn giá Claude Code giải thích điểm hòa vốn giữa thuê bao và API.