Thay đổi từ Anthropic
Mới đây Anthropic triển khai thay đổi cho claude-code-action trên GitHub Actions. Trước đây, mỗi lần action chạy sẽ trừ vào usage quota — cái mà developer có API key đều được cấp. Nhưng giờ đây, nó trừ vào credit — cái mà bạn phải bỏ tiền thật ra mua.
Điều này khiến vibe coding qua GitHub Issue / PR trở nên… đắt đỏ. Trước mỗi lần @claude implement this là miễn phí (trừ quota), giờ mỗi lần gọi là mất credit. Có người trên X cũng than phiền về chuyện này:
Giải pháp? Dùng 3rd party LLM có API Anthropic compatible. Vẫn claude-code-action, vẫn vibe coding, nhưng backend là MiniMax, Z.ai, hay Ollama cloud.
Cách nó hoạt động
claude-code-action dùng claude-agent-sdk và claude-code cli bên dưới. SDK này hỗ trợ override baseURL qua biến môi trường ANTHROPIC_BASE_URL.
Khi bạn set ANTHROPIC_BASE_URL trỏ đến endpoint Anthropic-compatible của 3rd party (thay vì https://api.anthropic.com), action sẽ gọi provider đó. Các provider cần hỗ trợ Anthropic-compatible API.
Note
Nếu provider chỉ hỗ trợ OpenAI-compatible API mà không có Anthropic-compatible, bạn cần dùng adapter hoặc chuyển sang provider khác.
Các provider hỗ trợ (ví dụ)
Một số provider có API Anthropic-compatible mà bạn có thể thử:
- MiniMax —
minimax.chat - Z.ai — (Zhipu AI), models GLM series
- Ollama Cloud — chạy model local/cloud qua Ollama
- OpenRouter — aggregate nhiều model
Không phân tích sâu từng provider, bạn cứ thử xem cái nào hợp.
Setup
1. Tạo GitHub Secrets
Vào Settings > Secrets and variables > Actions, thêm 3 secrets/variables:
| Secret/Variable | Giá trị |
|---|---|
ANTHROPIC_API_KEY | API key của 3rd party provider |
ANTHROPIC_BASE_URL | Base URL Anthropic-compatible của provider |
CLAUDE_MODEL | Model name của provider |
Note
ANTHROPIC_API_KEY ở đây thực ra là API key của 3rd party, không phải key Anthropic. Cái tên này do action đặt, mình chỉ “gài” giá trị khác vào thôi.
2. Workflow YAML
Dùng mẫu workflow của Anthropic, chỉ cần thêm ANTHROPIC_BASE_URL và CLAUDE_MODEL vào phần settings.env:
name: Claude Code
on: issue_comment: types: [created] pull_request_review_comment: types: [created] issues: types: [opened, assigned] pull_request_review: types: [submitted]
jobs: claude: if: | (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) runs-on: ubuntu-latest permissions: contents: write pull-requests: write issues: write id-token: write actions: read steps: - name: Checkout repository uses: actions/checkout@v6 with: fetch-depth: 1
- name: Run Claude Code id: claude uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
settings: | { "model": "${{ vars.CLAUDE_MODEL }}", "env": { "ANTHROPIC_BASE_URL": "${{ secrets.ANTHROPIC_BASE_URL }}" } }Chỉ có 2 dòng quan trọng: CLAUDE_MODEL và ANTHROPIC_BASE_URL. Còn lại giống hệt mẫu của Anthropic.
Vibe coding workflow
Với setup trên, workflow của bạn sẽ như sau:
- Tạo GitHub Issue: “Thêm chức năng login bằng OAuth @claude”
- Action trigger, gọi 3rd party LLM thay vì Anthropic
- Claude Code tạo PR implement feature
- Review PR: “@claude fix the tests lại đi”
- Action chạy lại, sửa code
Không cần mở Terminal. Không tốn Anthropic credit.
Lưu ý
Note
Không phải model nào cũng tốt bằng các model của Claude cho coding. Bạn nên test trước trên repo nhỏ.
- Rate limit và context window khác nhau giữa các provider
- Anthropic có thể thay đổi behavior của action trong tương lai
- Nên backup workflow gốc để rollback nếu cần
Kết luận
Thay đổi billing của Anthropic khiến vibe coding trên GitHub đắt đỏ hơn. Nhưng với ANTHROPIC_BASE_URL, bạn có thể “lách” sang 3rd party LLM có chi phí thoải mái hơn mà vẫn giữ nguyên workflow quen thuộc.
Chúc anh em vibe coding vui vẻ và… ví dày! 🚀