Skip to content

BYOK — แพลตฟอร์ม Gommo (preview) ​

Coming to Gommo platform

ฟีเจอร์นี้ ยังไม่อยู่บน Gommo public API เอกสารและ portal บนไซต์นี้เป็น preview ผ่าน dev proxy เมื่อ Gommo ship อย่างเป็นทางการ endpoint และ SDK จะอยู่บน Gommo — ไม่ใช่ dependency self-host

→ Roadmap แพลตฟอร์ม Gommo

Beta

BYOK ยังไม่พร้อม production เต็มรูปแบบ ใช้สำหรับ dev, staging หรือ self-hosted gateway ที่ยอมรับข้อจำกัดด้านล่าง Billing, fallback และพฤติกรรม provider อาจเปลี่ยนโดยไม่ bump major version

Deploy production: ทำตาม BYOK production checklist (encryption key, persistent volumes, smoke test)

BYOK (Bring Your Own Key) บน gateway นี้เป็น hybrid — ต่างจาก BYOK chat-only แบบ OpenRouter:

งานAuth / billingการตั้งค่าของคุณ
Chat (POST /gateway/chat, POST /v1/chat/completions)OpenAI / Anthropic key ของคุณเมื่อโมเดลอยู่ใน gateway mapเพิ่ม provider key ใน BYOK
Media jobs, upload, audioGommo credits บนบัญชี primary ที่เชื่อมเชื่อมบัญชี Gommo ใน BYOK
Platform fee (optional)Accrued ledger + pre-check กับ session Gommo creditsตั้ง BYOK_PLATFORM_FEE_PERCENT บน gateway host

Chat ไม่ bill provider ผ่าน Gommo Media ไม่ใช้ OpenAI/Anthropic key ของคุณโดยตรง

เริ่มต้นเร็ว ​

  1. เพิ่ม provider key — BYOK → Providers → OpenAI หรือ Anthropic → Save key → Test
  2. เชื่อมบัญชี Gommo — BYOK → Gommo accounts → domain (โดเมนลงทะเบียน — อย่าคัดลอกจาก docs) → Link current session → ตั้ง primary สำหรับ media
  3. เรียก chat ด้วย mapped model — ใช้ model id จาก Supported chat models ด้านล่าง (หรือจาก GET /gateway/byok/status → supportedChatModels)

ถ้า chat คืน model error โมเดล gateway น่าจะ ไม่ อยู่ใน config/byok-model-map.json — ขอ operator เพิ่ม entry

สิ่งที่ใช้ได้วันนี้ ​

พื้นที่สถานะหมายเหตุ
OpenAI chat BYOKBeta/gateway/chat, /th/v1/chat/completions
Anthropic chat BYOKBetaroute เดียวกันเมื่อ map ใช้ anthropic
Gommo account linkBetaPrimary สำหรับ media/upload/audio
Shared fallback to GommoBetaToggle ต่อ key; default จาก BYOK_DEFAULT_SHARED_FALLBACK
Platform fee ledgerBetaTracking + pre-check; ไม่เทียบ billing OpenRouter
Usage tabBeta7 วันล่าสุด BYOK vs platform requests

ยังไม่ครอบคลุม:

  • BYOK สำหรับ media/image/video/TTS (ใช้ Gommo เสมอ)
  • Model map อัตโนมัติจาก catalog (operator แก้ JSON file)
  • Multi-instance credential sync (file store บน gateway host)
  • Provider billing reconciliation กับ invoice OpenAI/Anthropic

Supported chat models ​

Operator gateway ดูแล config/byok-model-map.json (override ด้วย BYOK_MODEL_MAP_FILE) แต่ละ entry แมป gateway model id ไป provider + upstream model

Default map (อาจต่างบน host ของคุณ):

Gateway modelProviderUpstream modelGommo server
gpt-4oopenaigpt-4ocheap
gpt-4o-miniopenaigpt-4o-minicheap
gpt-5.5openaigpt-4ocheap
claude-3-5-sonnetanthropicclaude-3-5-sonnet-20241022cheap
claude-3-5-haikuanthropicclaude-3-5-haiku-20241022cheap

รายการสดสำหรับ session ของคุณ:

bash
curl.exe "http://localhost:3001/gateway/byok/status" ^
  -H "Authorization: Bearer USER_TOKEN"

ฟิลด์ response: data.supportedChatModels[] พร้อม gatewayModelId, byokProvider, upstreamModel, optional gommoServer

ฟิลด์ model อาจมี suffix server: gpt-4o::cheap — ดู Chat

Fallback behavior ​

แต่ละ provider key มี Fallback (UI) = sharedFallback:

การตั้งค่าเมื่อ BYOK provider call ล้มเหลว
Fallback onGateway retry request เดียวกันด้วย Gommo session credits (platform path)
Fallback offRequest ล้มเหลวด้วย provider error — ไม่ charge Gommo สำหรับ chat นั้น

Default key ใหม่: BYOK_DEFAULT_SHARED_FALLBACK (default true)

Platform fee (beta) ​

เมื่อตั้ง BYOK_PLATFORM_FEE_PERCENT และ/หรือ BYOK_PLATFORM_FEE_PER_REQUEST บน gateway:

  • BYOK chat สำเร็จ accrue fee credits ใน data/byok-fee-ledger.json
  • ก่อน BYOK gateway ตรวจ accrued fees ค้าง + fee ประมาณ กับ session Gommo credits บน request domain
  • ไม่พอ → 402 INSUFFICIENT_CREDITS — เติมที่ Credits (เหมือน credit check gateway อื่น)

หน้า BYOK แสดง Platform fee %, Accrued fees และ Platform credits (session balance) Accrued fees เป็น ledger tracking บน gateway host จนกว่าจะขยาย settlement logic

Credential storage ​

  • Provider secrets และ linked Gommo tokens encrypt at rest บน gateway (BYOK_ENCRYPTION_KEY จำเป็นใน production)
  • Store file: BYOK_STORE_FILE (default data/byok-store.json)
  • API คืน hints เท่านั้น (เช่น sk-…ab12) — ไม่คืน secret ดิบ

Management API ​

Route ทั้งหมดต้อง Authorization: Bearer (token ผู้ใช้เดียวกับ /gateway/*)

MethodPathBody / หมายเหตุ
GET/gateway/byok/statusEnabled, beta, fees, providers, supportedChatModels, primary Gommo
GET/gateway/byok/credentials?kind=provider|gommoรายการ credentials
POST/gateway/byok/credentials{ "providerSlug", "secret", "label?", "sharedFallback?" }
PATCH/gateway/byok/credentials/{id}{ "label?", "sharedFallback?", "disabled?" }
DELETE/gateway/byok/credentials/{id}—
POST/gateway/byok/credentials/{id}/testValidate key หรือ Gommo link
POST/gateway/byok/gommo-accounts{ "domain", "label?", "setPrimary?" } — ใช้ session token ยกเว้นส่ง access_token
PATCH/gateway/byok/gommo-accounts/{id}/primaryตั้ง primary สำหรับ media
GET/gateway/byok/usage?days=7&limit=20สรุป BYOK vs platform + events

TypeScript SDK: client.byok.status(), createCredential(), linkGommoAccount(), usage() — ดู TypeScript SDK

ตัวอย่างเชื่อม Gommo account ​

bash
curl.exe -X POST "http://localhost:3001/gateway/byok/gommo-accounts" ^
  -H "Authorization: Bearer USER_TOKEN" ^
  -H "Content-Type: application/json" ^
  -d "{\"domain\":\"YOUR_REGISTRATION_DOMAIN\",\"label\":\"my-site\",\"setPrimary\":true}"

ใช้ session token ปัจจุบัน สำหรับ domain นั้น ยกเว้นส่ง access_token ใน body (server-side integrations เท่านั้น)

Environment ​

VariableDefaultวัตถุประสงค์
BYOK_ENABLEDtrueMaster switch
BYOK_BETAtruePortal/API beta labels
BYOK_ENCRYPTION_KEY—จำเป็นสำหรับ encryption production
BYOK_STORE_FILEdata/byok-store.jsonCredential store
BYOK_MODEL_MAP_FILEconfig/byok-model-map.jsonChat model routing
BYOK_DEFAULT_SHARED_FALLBACKtrueDefault fallback key ใหม่
BYOK_PLATFORM_FEE_PERCENT0Fee % ตาม token
BYOK_PLATFORM_FEE_PER_REQUEST0Fee credits ขั้นต่ำต่อ request
BYOK_PLATFORM_FEE_MIN_CREDITS0Floor ต่อการคำนวณ fee
BYOK_FEE_LEDGER_FILEdata/byok-fee-ledger.jsonFee accrual ledger
BYOK_PROVIDERSopenai,anthropicProvider slugs ที่เปิด

UI ​

จัดการ keys และ accounts ที่ BYOK (sidebar Developer → BYOK, badge beta) callout และ quick-start ในหน้าสะท้อนเอกสารนี้

Smoke test checklist ​

Manual (login แล้ว, npm run docs:stack):

  • [ ] Providers → save key → ข้อความสำเร็จสีเขียว
  • [ ] Test บน key → สำเร็จหรือ error แดง (ไม่เงียบ)
  • [ ] Delete → confirm dialog → credential ถูกลบ
  • [ ] Gommo → link session → primary badge
  • [ ] Usage tab → แถว event แสดง badge OK/Error; ลิงก์ Activity ทำงาน
  • [ ] Footer quick links: Chat, Chat API, Access token, Activity

ดู Chat, Media & jobs และ Authentication