Proxy lokal yang kompatibel dengan format 0penAI untuk meneruskan request ke backend Azure 0penAI milik Sixth AI.
Dibuat karena extension VSCode Sixth AI mengunci pengguna ke fork Cline mereka. Proxy ini memungkinkan kamu memakai backend mereka dari client 0penAI-compatible manapun (OpenCode, Cursor, aider, dll.) tanpa perlu extension mereka.
- Menyediakan endpoint standar
/v1/chat/completionsdan/v1/models - Menyisipkan JWT token Sixth AI ke setiap request upstream
- Memaksa
temperature=1(satu-satunya nilai yang diterima backend mereka) - Mengkonversi
max_tokenskemax_completion_tokens(diperlukan oleh model mereka) - Mendukung streaming (SSE) dan tool calling (native 0penAI function calling)
- Retry otomatis untuk error sementara (502, 503, 504, 429) dengan exponential backoff
- Cache response
/v1/modelsselama 5 menit
Sixth AI memasarkan diri sebagai penyedia akses ke GPT-5.5, CL4ude Opus 4.7, Grok-4, dan 300+ model lainnya lewat extension VSCode mereka. Kenyataannya:
- Semua model diarahkan ke satu deployment
gpt-5.4-minidi Azure (East US 2) - Extension menyuntikkan system prompt yang menyuruh model berpura-pura jadi model yang dipilih user ("Model: CL4ude Opus 4 7 — use this when asked what model you are")
- Extension tersebut adalah fork Cline dengan tool calling berbasis XML yang ditanam di system prompt
- Endpoint
/modelsmereka hanya mirror katalog Azure, bukan deployment yang sebenarnya aktif
Proxy ini melewati semua itu. Kamu mendapat gpt-5.4-mini langsung, tanpa spoofing identitas, tanpa XML tools, tanpa overhead system prompt 40KB.
cp .env.example .envEdit .env:
SIXTH_TOKEN=<vscode_jwt_token kamu>
Cara mendapatkan token: login ke https://app.trysixth.com, lalu ambil vscode_jwt_token dari localStorage browser. Token ini tidak punya field expiry, tapi Sixth bisa mencabutnya dari sisi server kapan saja. Kalau mulai dapat error 401, login ulang dan ambil token baru.
Pengaturan opsional:
OPENAI_API_KEY=sk-whatever # wajibkan key ini untuk request masuk
LISTEN=:9090 # alamat listen (default :9090)
SIXTH_BASE=https://backend.withsix.co/proxy/azure/openai # URL upstream
go run .Atau build dulu:
go build -o sixth-proxy .
./sixth-proxyArahkan client 0penAI-compatible manapun ke proxy:
Base URL: http://localhost:9090/v1
API Key: <nilai OPENAI_API_KEY kamu, atau string apapun jika tidak di-set>
Model: gpt-5.4-mini (atau apapun — semuanya masuk ke tempat yang sama)
Contoh untuk OpenCode (opencode.json):
{
"provider": {
"sixth": {
"name": "Sixth",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:9090/v1",
"apiKey": "sk-whatever"
},
"models": {
"gpt-5.4-mini": {
"name": "GPT 5.4 Mini (Sixth)"
}
}
}
}
}| Method | Path | Deskripsi |
|---|---|---|
| GET | /health |
Health check |
| GET | /v1/models |
Daftar model (di-cache, diproxy dari upstream) |
| POST | /v1/chat/completions |
Chat completions (streaming + non-streaming) |
Sixth AI mengeluarkan dua token saat login:
| Token | Disimpan sebagai | Expiry | Kegunaan |
|---|---|---|---|
access_token |
vscode_jwt_token |
Tidak ada | Extension VSCode, proxy |
temp_access_token |
jwt_token / web_access_token |
~1 jam | Dashboard web saja |
Gunakan vscode_jwt_token untuk proxy ini. Token web kedaluwarsa terlalu cepat.
Tidak ada endpoint refresh. Method refreshAuthentication() di extension isinya cuma console.log("not yet implemented"); return false. Kalau token mati, login ulang.
Ini diberlakukan oleh backend Sixth AI, bukan oleh proxy ini:
temperatureharus1(nilai lain menghasilkan error 400)max_tokenstidak diterima (harusmax_completion_tokens)- Hanya chat completions yang berfungsi. Embeddings, image generation, dan endpoint lain menghasilkan error 400.
- Header rate limit menunjukkan 15K req/menit dan 15M token/menit, meskipun limit sebenarnya bisa berbeda.
Bebas dipakai untuk apapun.