Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 1.27 KB

File metadata and controls

56 lines (38 loc) · 1.27 KB

Z.AI API Key Rotator for OpenCode

Auto-rotates between Baseten and Fireworks providers for GLM-4.7 when rate limited (429).

Setup

1. Copy files to ~/.config/zai-rotated/

cp opencode.json ~/.config/opencode/opencode.json
cp rotator.mjs ~/.config/zai-rotated/rotator.mjs

2. Start the rotator server

node ~/.config/zai-rotated/rotator.mjs &

Or add to bashrc:

zai() {
  (lsof -ti:3141 || node ~/.config/zai-rotated/rotator.mjs &) && sleep 1 && opencode "$@"
}

3. Run OpenCode

opencode run --model "zai-rotated/glm-4.7" "your prompt"

Files

  • rotator.mjs - Local HTTP server that proxies requests and rotates between providers on 429
  • opencode.json - OpenCode config using @ai-sdk/openai-compatible provider
  • run.sh - Convenience script to start server and run opencode

Providers

  1. Baseten - https://inference.baseten.co/v1 (primary)
  2. Fireworks - https://api.fireworks.ai/inference/v1 (fallback)

Environment Variables

  • BASETEN_API_KEY - Baseten API key (default: dev key)
  • FIREWORKS_API_KEY - Fireworks API key (default: dev key)

Architecture

OpenCode -> localhost:3141 (rotator) -> Baseten/Fireworks
              |
              └── 429? -> switch provider and retry