Wei-Shaw/sub2api
Sub2API là dịch vụ trung chuyển (relay) mã nguồn mở viết bằng Go, biến các subscription (Claude, OpenAI, Gemini, Grok, Codex) thành endpoint API dùng chung, hỗ trợ "đi ké" (carpool) để chia sẻ chi phí…
Kết luận: partial · Công nghệ: go · claude-code · openai-api · api-gateway · gemini
Sub2API là dịch vụ trung chuyển (relay) mã nguồn mở viết bằng Go, biến các subscription (Claude, OpenAI, Gemini, Grok, Codex) thành endpoint API dùng chung, hỗ trợ "đi ké" (carpool) để chia sẻ chi phí giữa nhiều người/tool. 38k+ sao cho thấy độ phổ biến cao trong cộng đồng dùng lại subscription AI thay vì trả theo API, nhưng mô hình này có rủi ro vi phạm ToS của nhà cung cấp.
📖 Giới thiệu chi tiết
🧩 Nó là gì?
sub2api là một dự án mã nguồn mở (viết bằng Go) giúp bạn biến các gói thuê bao AI mà bạn đang trả tiền hàng tháng — như Claude, OpenAI (Codex), Gemini, Grok — thành một địa chỉ API dùng chung, để các công cụ lập trình (như Claude Code) gọi vào như gọi API bình thường.
🎯 Giải quyết vấn đề gì? Dành cho ai?
Nhiều người dùng các gói subscription (gói thuê bao trả hàng tháng, ví dụ Claude Pro, ChatGPT Plus) vì rẻ hơn nhiều so với trả tiền theo API (trả theo số lượng token dùng). Nhưng vấn đề là: các gói subscription này thường chỉ dùng được qua ứng dụng/web chính chủ, không xuất ra API để cắm vào công cụ lập trình khác.
sub2api đứng ở giữa, đóng vai trò "trung chuyển" (relay — tức là chuyển tiếp request qua lại): nó nhận request kiểu API từ công cụ của bạn, rồi âm thầm "giả lập" như bạn đang dùng subscription đó qua giao diện gốc, sau đó trả kết quả về theo đúng format API chuẩn.
Ngoài ra dự án còn hỗ trợ tính năng "đi ké" (carpool — nhiều người dùng chung một địa chỉ trung chuyển) để nhóm bạn/đồng nghiệp chia nhau chi phí subscription, thay vì mỗi người phải tự mua một gói riêng.
Dành cho ai: những người/nhóm nhỏ muốn dùng Claude Code, Codex, Gemini CLI... với chi phí thấp hơn giá API chính hãng, và sẵn sàng tự vận hành hạ tầng (server, database) để làm việc này.
⚙️ Hoạt động ra sao?
- Bạn cấu hình các tài khoản subscription (Claude, OpenAI, Gemini, Grok...) vào
sub2api. sub2apiđóng vai trò gateway (cổng trung gian): nhận request theo chuẩn API từ công cụ của bạn (ví dụ Claude Code), sau đó "dịch" và chuyển tiếp request đó tới đúng dịch vụ subscription tương ứng.- Có cơ chế phân phối/chia sẻ quota (hạn mức sử dụng) giữa nhiều người dùng cùng một tài khoản subscription — đây chính là ý tưởng "đi ké" chia chi phí.
- Toàn bộ hệ thống chạy trên nền tảng Go (backend), Vue 3 (giao diện quản trị), lưu dữ liệu bằng PostgreSQL, dùng Redis để xử lý các tác vụ cần tốc độ nhanh (như cache, hàng đợi).
- Có thể triển khai dễ dàng bằng Docker.
- Các công cụ lập trình gốc (native tools) như Claude Code, Codex... vẫn dùng được bình thường vì
sub2apitrả về đúng format API mà chúng mong đợi — không cần chỉnh sửa gì thêm ở phía công cụ.
🆚 Khi nào nên dùng / không nên
Nên cân nhắc dùng khi:
- Bạn hoặc nhóm nhỏ đã có sẵn subscription (Claude Pro, ChatGPT Plus...) và muốn tận dụng nó qua API để cắm vào công cụ lập trình, thay vì trả thêm tiền theo API riêng.
- Bạn thoải mái tự host, tự bảo trì server, và chấp nhận rủi ro pháp lý/kỹ thuật đi kèm.
- So với việc mua API key chính hãng theo token, cách này rẻ hơn nhiều — nhưng đổi lại kém "chính danh" hơn.
Không nên dùng khi:
- Bạn làm dự án thương mại, cần độ ổn định và an toàn pháp lý cao — vì việc này có nguy cơ vi phạm điều khoản dịch vụ (Terms of Service) của Anthropic, OpenAI... và tài khoản của bạn có thể bị khóa bất cứ lúc nào.
- Bạn không muốn tự vận hành hạ tầng (so với việc mua thẳng API key chính hãng, vốn chỉ cần cắm và chạy ngay, không cần server riêng).
- Dự án nêu rõ: đây chỉ phục vụ mục đích học tập/nghiên cứu kỹ thuật, không có sự cho phép nào để kinh doanh dựa trên nó.
🚀 Bắt đầu nhanh
Yêu cầu hạ tầng tối thiểu: Go 1.26.5+, PostgreSQL 15+, Redis 7+, và nên có Docker để triển khai cho nhanh.
Các bước tổng quát (theo README):
- Clone dự án về máy:
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api
- Chạy bằng Docker (cách khuyến nghị vì gọn nhất, tự dựng PostgreSQL + Redis kèm theo):
docker compose up -d
Sau khi container chạy xong, mở giao diện quản trị (web admin dựng bằng Vue) để cấu hình các subscription (Claude, OpenAI, Gemini, Grok...) và tạo API key nội bộ cho
sub2api.Trỏ công cụ của bạn (ví dụ Claude Code) vào địa chỉ API do
sub2apicung cấp, dùng API key vừa tạo — từ đó công cụ sẽ gọi quasub2apithay vì gọi thẳng nhà cung cấp.
(Lưu ý: đây là quy trình tổng quát rút ra từ mô tả dự án; các câu lệnh, biến môi trường chi tiết và tuỳ chọn cấu hình cụ thể nên tham khảo thêm file docker-compose.yml và tài liệu cấu hình trong repo khi triển khai thật.)
✅ Điểm mạnh & ⚠️ Hạn chế
✅ Điểm mạnh:
- Tiết kiệm chi phí đáng kể so với trả theo API chính hãng.
- Hỗ trợ nhiều nhà cung cấp AI lớn cùng lúc (Claude, OpenAI, Gemini, Grok) trong một hệ thống duy nhất.
- Tính năng "đi ké" giúp nhóm nhỏ chia sẻ chi phí hợp lý.
- Tương thích ngược với các công cụ lập trình gốc, không cần sửa đổi phía client.
- Cộng đồng dùng đông (38k+ sao trên GitHub), cho thấy độ tin cậy và hỗ trợ cộng đồng khá tốt.
⚠️ Hạn chế:
- Rủi ro pháp lý/hợp đồng: có thể vi phạm điều khoản dịch vụ của nhà cung cấp AI, dẫn đến khóa tài khoản bất ngờ.
- Cần tự vận hành hạ tầng (server, database, bảo trì) — không "cắm là chạy" như mua API key chính hãng.
- Dự án không chịu trách nhiệm và không cho phép hoạt động thương mại dựa trên nó — dùng cho mục đích cá nhân/học tập là chính.
- Độ ổn định phụ thuộc vào cơ chế "giả lập" tài khoản subscription, có thể bị ảnh hưởng khi nhà cung cấp thay đổi chính sách hoặc kỹ thuật phía họ.