Khám Phá Claude Code Không Cần Đăng Ký Trả Phí
Đa số người dùng đều tin rằng Claude Code yêu cầu đăng ký trả phí của Anthropic. Tuy nhiên, thực tế lại hoàn toàn khác biệt.
Trong quá trình tìm hiểu để xác nhận tính hợp lý của gói 20 USD/tháng, tôi đã phát hiện ra cách thiết lập Claude Code hoàn toàn miễn phí chỉ sau 10 phút nghiên cứu tài liệu Panaversity AI Agent Factory.
Bí mật mà không ai tiết lộ: Claude Code không quan tâm mô hình nào thực sự đứng sau API. Nó chỉ giao tiếp với bất kỳ URL nào bạn chỉ tới. Vì vậy, nếu bạn trỏ nó đến một mô hình miễn phí - như Gemini, DeepSeek hoặc bất kỳ trong số hơn 30 mô hình trên OpenRouter - nó sẽ hoạt động chính xác như nhau. Cùng kỹ năng, cùng MCP server, cùng sub-agent, mọi thứ đều giống hệt.
Hãy cùng khám phá các phương pháp cụ thể.
1. Lựa Chọn Công Cụ Phù Hợp
Bạn có 3 lựa chọn. Mỗi lựa chọn có ưu điểm riêng. Hãy hiểu rõ trước khi quyết định:
| OpenRouter | Gemini | DeepSeek | |
|---|---|---|---|
| Chi phí | Miễn phí (hạn chế mỗi ngày) | Miễn phí (hạn chế mỗi ngày) | Khoảng $0.028/M tokens |
| Mô hình | 30+ (Qwen, Llama, Gemini) | Gemini 2.5 Flash | DeepSeek Chat + Reasoner |
| Phù hợp nhất | Linh hoạt, thử nghiệm | Cài đặt đơn giản nhất | Chất lượng đồng nhất |
| Lưu ý | Mô hình luân phiên, chất lượng khác nhau | Hạn chế giảm 50-80% vào 12/2025 | Không hoàn toàn miễn phí |
Thông tin ít người biết: Google đã cắt giảm lớp miễn phí của Gemini vào tháng 12/2025 - giới hạn yêu cầu hàng ngày của hầu hết các mô hình giảm 50-80%. Nó vẫn hoạt động, nhưng nếu bạn lập trình nhiều, bạn sẽ gặp hạn chế. OpenRouter cho bạn không gian linh hoạt hơn vì khi một mô hình hết hạn, bạn có thể chuyển sang mô hình khác.
Tôi sẽ hướng dẫn chi tiết với OpenRouter - lựa chọn linh hoạt nhất và là tùy chọn tôi sử dụng hàng ngày. Cài đặt cho Gemini và DeepSeek theo cùng một mẫu, chỉ khác về cấu hình.
2. Kiến Trúc Hệ Thống
Trước khi tiếp cận terminal, hãy hiểu rõ kiến trúc. Điều này sẽ giúp bạn tránh bối rối sau này:
Bạn → ccr code → Claude Code Router (local) → OpenRouter API → Mô hình miễn phí
Claude Code giao tiếp với bộ định tuyến local chạy trên cổng 3456. Bộ định tuyến chuyển đổi yêu cầu của Claude thành định dạng mà mô hình backend mong đợi. Đơn giản vậy thôi. Không có thủ thuật, không có bypass - đây chính là cài đặt được ghi lại trong hệ sinh thái của Anthropic.
Công cụ được gọi là claude-code-router (ccr). Nó là mã nguồn mở.
3. Thiết Lập: OpenRouter + Claude Code
3.1 Lấy khóa API miễn phí của OpenRouter
- Truy cập openrouter.ai/keys
- Click "Create Key" - đặt tên tùy ý - sao chép khóa (bắt đầu bằng
sk-or-v1-...)
Tài khoản miễn phí cho phép bạn truy cập hơn 30 mô hình với hạn chế hàng ngày. Không cần thẻ tín dụng.
3.2 Cài đặt hai công cụ
npm install -g @anthropic-ai/claude-code @musistudio/claude-code-router
Đã xảy ra gì: Bạn vừa cài đặt Claude Code (agent) và bộ định tuyến (router). Cả hai đều cần thiết. Không có bộ định tuyến, Claude Code sẽ cố gắng truy cập trực tiếp API trả phí của Anthropic.
Kiểm tra cả hai đã cài đặt thành công:
claude --version # Claude Code v2.x.x ccr version # Hiển thị phiên bản
3.3 Tạo tệp cấu hình
Mac/Linux - dán toàn bộ khối:
mkdir -p ~/.claude-code-router ~/.claude
cat > ~/.claude-code-router/config.json << 'EOF'
{
"LOG": true,
"LOG_LEVEL": "info",
"HOST": "127.0.0.1",
"PORT": 3456,
"API_TIMEOUT_MS": 600000,
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1",
"api_key": "$OPENROUTER_API_KEY",
"models": [
"qwen/qwen-coder-32b-vision",
"google/gemini-2.0-flash-exp:free",
"meta-llama/llama-3.3-70b-instruct:free",
"qwen/qwen3-14b:free"
],
"transformer": {
"use": ["openrouter"]
}
}
],
"Router": {
"default": "openrouter,qwen/qwen-coder-32b-vision",
"background": "openrouter,qwen/qwen-coder-32b-vision",
"think": "openrouter,meta-llama/llama-3.3-70b-instruct:free",
"longContext": "openrouter,qwen/qwen-coder-32b-vision",
"longContextThreshold": 60000
}
}
EOF
Windows - mở Notepad và lưu cùng JSON vào: %USERPROFILE%\.claude-code-router\config.json
Đừng thay thế $OPENROUTER_API_KEY trong tệp cấu hình. Giữ nguyên $OPENROUTER_API_KEY. Bộ định tuyến đọc nó từ biến môi trường (bước tiếp theo). Nếu bạn dán trực tiếp khóa vào tệp, nó sẽ không hoạt động và bạn sẽ bối rối 30 phút.
3.4 Thiết lập khóa API vĩnh viễn
Mac (zsh):
echo 'export OPENROUTER_API_KEY="YOUR_KEY_HERE"' >> ~/.zshrc source ~/.zshrc
Mac (bash):
echo 'export OPENROUTER_API_KEY="YOUR_KEY_HERE"' >> ~/.bashrc source ~/.bashrc
Windows (PowerShell - chạy với quyền quản trị viên):
[System.Environment]::SetEnvironmentVariable('OPENROUTER_API_KEY', 'YOUR_KEY_HERE', 'User')
Đóng tất cả các cửa sổ PowerShell và mở cửa sổ mới.
Kiểm tra nó có hoạt động:
echo $OPENROUTER_API_KEY # Nên hiển thị khóa của bạn
3.5 Quy trình làm việc hàng ngày (hai terminal)
Đây là phần khiến nhiều người bối rối. Bạn cần hai terminal.
Terminal 1 - khởi động bộ định tuyến:
ccr start
Chờ cho đến khi bạn thấy Service started successfully. Giữ cửa sổ này mở.
Terminal 2 - bắt đầu lập trình:
cd your-project-folder ccr code
Tại sao cần hai terminal? Bộ định tuyến là một local server phải luôn chạy. ccr code là Claude Code trỏ tới server đó. Nếu bạn đóng terminal 1, phiên lập trình của bạn sẽ kết thúc. Hãy xem terminal 1 như động cơ, terminal 2 như ghế lái.
Khởi động lần đầu mất 10-20 giây. Nếu ccr code có vẻ bị treo đừng hoảng loạn. Bộ định tuyến đang khởi tạo. Chỉ cần chờ đợi.
4. Xác minh hoạt động
Sau khi vào Claude Code, gõ:
xin chào
Nó phản hồi thì bạn đã kết nối thành công. Để kiểm tra sâu hơn:
Giải thích các tệp có trong thư mục này và dự án này làm gì
Claude nên đọc các tệp thực tế của bạn và phản hồi. Nếu nó làm vậy - bạn đã có một môi trường lập trình dựa trên agent với mô hình miễn phí hoạt động hoàn toàn.
5. Muốn sử dụng Gemini hoặc DeepSeek thì sao?
Hoàn toàn các bước giống nhau. Chỉ cần thay đổi nội dung tệp cấu hình.
Đối với Gemini, lấy khóa từ aistudio.google.com/api-keys và sử dụng:
"Providers": [{
"name": "gemini",
"api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
"api_key": "$GOOGLE_API_KEY",
"models": ["gemini-2.5-flash-lite", "gemini-2.0-flash"],
"transformer": { "use": ["gemini"] }
}]
Biến môi trường: GOOGLE_API_KEY
Đối với DeepSeek, lấy khóa từ platform.deepseek.com và sử dụng:
"Providers": [{
"name": "deepseek",
"api_base_url": "https://api.deepseek.com/v1",
"api_key": "$DEEPSEEK_API_KEY",
"models": ["deepseek-chat", "deepseek-reasoner"],
"transformer": { "use": ["openai"] }
}]
Biến môi trường: DEEPSEEK_API_KEY
6. Xử lý sự cố
command not found: ccr- Thư mục npm global bin không nằm trong PATH của bạn. Chạy:npm config get prefix # Thêm output + /bin vào PATH trong ~/.zshrc hoặc ~/.bashrc- Bộ định tuyến khởi động nhưng Claude bị treo - Bạn chạy
ccr codetrước khiccr starthoàn tất. Kết thúc cả hai, khởi động lại terminal 1 trước, chờ tin nhắn thành công, sau đó khởi động terminal 2. API key not found- Bạn đã đặt biến trong một phiên terminal, nhưng nó không được lưu vĩnh viễn. Như bước 4, hãy thêm export vào~/.zshrchoặc~/.bashrcvà source nó.- Đạt giới hạn tốc độ giữa phiên - Trong cấu hình, chuyển đổi mô hình mặc định sang mô hình miễn phí khác trên OpenRouter. Bạn có hơn 30 lựa chọn - luân chuyển giữa chúng.
7. Nhìn Thực Tế
Miễn phí có nghĩa là chất lượng giống Claude Sonnet hay Opus không? Không. Đối với lý phức tạp đa bước, các mô hình trả phí của Claude tốt hơn.
Nhưng đây là trải nghiệm của tôi: Đối với hầu hết công việc lập trình thực tế, đọc codebase, tạo mẫu, giải thích lỗi, viết test, các mô hình miễn phí trên OpenRouter thực sự đủ tốt. Qwen-Coder-32B đặc biệt mạnh trong các tác vụ lập trình.
Những người trả 20 USD/tháng cho Claude Pro để sử dụng Claude Code chủ yếu vì sự tiện lợi và hiệu năng đỉnh cao. Nếu bạn đang học, thử nghiệm hoặc xây dựng dự án phụ - miễn phí giúp bạn đạt được 90% mục tiêu.
Bắt đầu từ miễn phí. Khi thực sự đạt giới hạn thì hãy nâng cấp.