Mengubah model AI gratis Freebuff menjadi format API OpenAI Chat Completions standar
Fitur Utama β’ Mulai Cepat β’ Cara Deploy β’ Dokumentasi API β’ Panel Admin β’ Daftar Model β’ FAQ
| Fitur | Keterangan |
|---|---|
| π Kompatibel OpenAI | Sepenuhnya kompatibel dengan endpoint /v1/chat/completions, bisa langsung menggantikan OpenAI API |
| π€ Kompatibel Anthropic | Mendukung endpoint /v1/messages, kompatibel dengan client seperti Claude Code |
| π Gratis Total | Berbasis model gratis Freebuff, tanpa biaya |
| π― Dukungan Banyak Model | DeepSeek V4 Flash/Pro, Kimi K2.6, MiniMax M2.7/M3, Mimo V2.5/V2.5 Pro, Gemini |
| π Banyak API Key | Mendukung pembuatan banyak API Key, setiap Key bisa dikonfigurasi whitelist model independen |
| π Panel Admin | Backend admin React modern, mendukung log real-time, manajemen Token, deteksi jaringan, dll. |
| π Output Streaming | Dukungan penuh respons streaming SSE |
| π Deploy Sekali Klik | Mendukung Vercel Serverless serta deploy lokal/server |
| π Autentikasi Aman | Session Cookie bertanda HMAC, rate-limit login, proteksi CSRF |
| π± Desain Responsif | Panel admin adaptif untuk desktop dan mobile |
Masalah: Pemanggilan langsung API Freebuff mengembalikan 403 free_mode_cli_required ("Free mode is only available through the freebuff CLI"), sehingga semua model tidak dapat digunakan.
Akar Masalah: Server upstream memvalidasi apakah system prompt dalam body chat/completions merupakan prompt Buffy asli dari CLI ("You are Buffy, the strategic coding assistant...Freebuff..."). Versi lama menggunakan prefix palsu "You are Buffy. [System Override...]", yang dikenali server sebagai permintaan non-CLI lalu ditolak.
Perbaikan:
- Tambah
freebuff2api/buffy_prompt.py: template system prompt Buffy asli yang diekstrak dari binary freebuff CLI (v0.0.135), tanggal dibuat dinamis openai_compat.py:normalize_chat_messagesselalu menyuntikkan prompt Buffy asli ke pesan system pertama (konten system kustom pengguna ditambahkan setelahnya, tidak lagi ditimpa)codebuff.py: versi User-Agent chat requestai-sdk/provider-utils/3.0.20β3.0.25(sesuai CLI)
Verifikasi: Uji end-to-end session β agent-runs β chat/completions mengembalikan 200 + respons streaming SSE, test suite tanpa regresi.
- Python 3.11+οΌdisarankan 3.12οΌ
- Node.js 18+οΌhanya untuk membangun frontendοΌ
git clone https://github.com/t479842598/freebuff2apiNew.git
cd freebuff2apiNew# Buat virtual environment (disarankan)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Instal dependensi Python
pip install -r requirements.txtSalin template variabel lingkungan lalu edit:
cp .env.example .envEdit file .env, minimal isi variabel berikut:
# π Freebuff TokenοΌwajibοΌ
# Dapatkan dari https://www.codebuff.com
FREEBUFF_TOKEN=your_token_here
# π API KeyοΌwajibοΌ
# Kunci akses untuk memanggil endpoint /v1/*
FREEBUFF_API_KEY=sk-your-key-here
# π‘οΈ Kunci AdminοΌwajibοΌ
# Untuk login ke panel admin
FREEBUFF_ADMIN_KEY=sk-adminpython main.py
# atau
uvicorn freebuff2api.app:app --host 0.0.0.0 --port 8000# Health check
curl http://localhost:8000/healthz
# Dapatkan daftar model
curl http://localhost:8000/v1/models \
-H "Authorization: Bearer ***"
# Tes percakapan
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "deepseek/deepseek-v4-flash",
"messages": [{"role": "user", "content": "Halo!"}]
}'Fork repositori ini ke akun GitHub Anda.
- Login ke Vercel
- Klik "New Project"
- Pilih repositori yang sudah di-fork
- Preset framework pilih "Other"
- Klik "Deploy"
Tambahkan variabel lingkungan di pengaturan proyek Vercel:
FREEBUFF_TOKEN- Token Freebuff AndaFREEBUFF_API_KEY- Kunci akses APIFREEBUFF_ADMIN_KEY- Kunci panel admin
Tambahkan domain Anda di pengaturan proyek Vercel β Domains.
# Gunakan daemon systemd (Linux)
sudo tee /etc/systemd/system/freebuff2api.service <<EOF
[Unit]
Description=Freebuff2API Service
After=network.target
[Service]
User=www-data
WorkingDirectory=/path/to/freebuff2api
ExecStart=/path/to/.venv/bin/uvicorn freebuff2api.app:app --host 0.0.0.0 --port 8000
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable freebuff2api
sudo systemctl start freebuff2apidocker build -t freebuff2api .
docker run -d \
-p 8000:8000 \
-e FREEBUFF_TOKEN=your_token \
-e FREEBUFF_API_KEY=sk-your-key \
-e FREEBUFF_ADMIN_KEY=sk-admin \
--name freebuff2api \
freebuff2apiGET /v1/models
Authorization: Bearer ***POST /v1/chat/completions
Authorization: Bearer ***
Content-Type: application/json
{
"model": "deepseek/deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Halo!"}
],
"stream": true,
"temperature": 0.7
}POST /v1/messages
Authorization: Bearer ***
Content-Type: application/json
{
"model": "deepseek/deepseek-v4-flash",
"messages": [
{"role": "user", "content": "Halo!"}
],
"stream": true,
"max_tokens": 4096
}| Parameter | Dukungan | Keterangan |
|---|---|---|
model |
β | ID modelοΌlihat daftar model di bawahοΌ |
messages |
β | Array pesan |
stream |
β | Output streaming |
temperature |
β | Parameter temperatur |
max_tokens |
β | Jumlah token output maksimum |
top_p |
β | Sampling Top-p |
stop |
β | Kata penghenti |
tools |
β | Pemanggilan fungsi (Function Calling) |
Akses http://localhost:8000/admin untuk masuk ke panel admin.
| Modul | Keterangan |
|---|---|
| π Ringkasan | Status layanan, jumlah Token, jumlah model, lingkungan deploy |
| π Manajemen Token | Tambah/edit/hapus Token Freebuff, dukung verifikasi validitas |
| ποΈ API Key | Buat banyak API Key, konfigurasi whitelist model |
| π Log Operasional | Lihat log layanan secara real-time, filter berdasarkan level |
| π Riwayat Permintaan | Lihat riwayat panggilan API, filter berdasarkan model/status |
| βοΈ Lihat Env | Lihat isi file konfigurasi lingkungan |
| π Deteksi Jaringan | Deteksi IP publik, lokasi geografis, konektivitas layanan upstream |
| π§ͺ Tes Model | Tes hasil pemanggilan model secara online |
| π‘οΈ Pengaturan | Ubah kunci admin |
- Frontend: React 19 + TypeScript + Tailwind CSS v4 + komponen bergaya shadcn/ui
- Build: Vite 8, output ke
freebuff2api/admin_static/ - Backend: FastAPI melayani hasil build langsung, fallback rute SPA
| ID Model | Penyedia | Keterangan |
|---|---|---|
deepseek/deepseek-v4-flash |
DeepSeek | π Respons cepat, cocok untuk percakapan sehari-hari |
deepseek/deepseek-v4-pro |
DeepSeek | πͺ Performa tinggi, cocok untuk tugas kompleks |
moonshotai/kimi-k2.6 |
Moonshot | π Optimasi bahasa Mandarin, kemampuan teks panjang kuat |
minimax/minimax-m2.7 |
MiniMax | π― Multimodal, value for money |
minimax/minimax-m3 |
MiniMax | π Versi terbaru, performa meningkat |
mimo/mimo-v2.5 |
Mimo | π¬ Kemampuan kode kuat |
mimo/mimo-v2.5-pro |
Mimo | πͺ Versi Pro, kemampuan kode lebih kuat |
| ID Model | Keterangan |
|---|---|
google/gemini-2.5-flash-lite |
β‘ Ringan dan cepat |
google/gemini-3.1-flash-lite-preview |
π¬ Versi pratinjau terbaru |
google/gemini-3.1-pro-preview |
πͺ Versi Pro |
| Nama Variabel | Wajib | Default | Keterangan |
|---|---|---|---|
FREEBUFF_TOKEN |
β | - | Token FreebuffοΌbanyak dipisah komaοΌ |
FREEBUFF_API_KEY |
β | - | Kunci akses API |
FREEBUFF_ADMIN_KEY |
β | sk-admin |
Kunci panel adminοΌ |
FREEBUFF_API_BASE_URL |
β | https://www.codebuff.com |
Alamat API upstream |
FREEBUFF_TIMEOUT |
β | 60 |
Timeout permintaanοΌdetikοΌ |
FREEBUFF_PROXY_ENABLED |
β | false |
Aktifkan proxy atau tidak |
FREEBUFF_PROXY_URL |
β | - | Alamat proxyοΌmendukung socks5οΌ |
FREEBUFF_DEBUG |
β | false |
Mode debug |
FREEBUFF_LOG_LEVEL |
β | INFO |
Level log |
FREEBUFF_HOST |
β | 0.0.0.0 |
Alamat listen |
FREEBUFF_PORT |
β | 8000 |
Port listen |
- Ubah kunci default: Wajib ubah
FREEBUFF_ADMIN_KEYdanFREEBUFF_API_KEYsebelum deploy - Gunakan HTTPS: Disarankan konfigurasi SSL/TLS di lingkungan produksi
- Batasi akses: Batasi sumber akses melalui firewall atau API Key
- Rotasi berkala: Ganti Token dan API Key secara berkala
cd web
# Instal dependensi
npm install
# Jalankan server pengembangan (hot reload)
npm run dev
# Build versi produksi
npm run buildFrontend menggunakan:
- React 19 + TypeScript
- Tailwind CSS v4
- Build Vite 8
- Proxy ke backend
localhost:8000
freebuff2apiNew/
βββ freebuff2api/ # π Inti backend Python
β βββ app.py # Aplikasi utama FastAPI
β βββ admin.py # API panel admin
β βββ codebuff.py # Client upstream Freebuff
β βββ config.py # Pemuatan konfigurasi
β βββ models.py # Definisi model
β βββ buffy_prompt.py # π System prompt Buffy asliοΌwajib untuk validasi upstreamοΌ
β βββ openai_compat.py # Lapisan kompatibilitas format OpenAI
β βββ anthropic_compat.py # Lapisan kompatibilitas format Anthropic
β βββ usage.py # Model data
β βββ usage_store.py # Lapisan penyimpanan
β βββ logging_config.py # Konfigurasi log
β βββ admin_static/ # π¨ Hasil build frontend
βββ web/ # π¨ Kode sumber frontend React
β βββ src/pages/ # 10 komponen halaman
β βββ src/components/ # Pustaka komponen UI
β βββ src/hooks/ # React Hooks
β βββ src/lib/ # Fungsi utilitas
βββ main.py # π Entry point eksekusi lokal
βββ requirements.txt # π¦ Dependensi Python
βββ vercel.json # βοΈ Konfigurasi Vercel
βββ .env.example # π Template variabel lingkungan
A: Ada dua cara:
- Panel Admin: Akses
/adminβ Manajemen Token β Tambah - Variabel Lingkungan: Set
FREEBUFF_TOKENdi file.env
A: Kunjungi https://www.codebuff.com, daftar akun lalu dapatkan API Token di halaman pengaturan.
A: Semua client yang mendukung OpenAI API bisa digunakan, termasuk:
- ChatGPT Next Web
- LobeChat
- ChatBox
- Cursor
- VS Code + Continue
- Claude CodeοΌmenggunakan endpoint
/v1/messagesοΌ
A: Versi gratis Vercel memiliki batasan berikut:
- Bandwidth 100GB per bulan
- 1 eksekusi fungsi per detik
- Waktu eksekusi fungsi β€ 10 detik
Disarankan pengguna dengan trafik besar menggunakan deploy lokal/server.
Selamat datang untuk mengirim Issue dan Pull Request!
- Fork repositori ini
- Buat branch fitur:
git checkout -b feature/amazing-feature - Commit perubahan:
git commit -m 'Add amazing feature' - Push branch:
git push origin feature/amazing-feature - Kirim Pull Request
Proyek ini menggunakan lisensi MIT - lihat file LICENSE
- Freebuff - Penyedia model AI gratis
- FastAPI - Framework web Python berperforma tinggi
- React - Pustaka UI frontend
- Tailwind CSS - Framework CSS utility-first
- Vercel - Platform deploy Serverless
β Jika bermanfaat, berikan Star sebagai dukungan!