OpenCode provider for Pi Agent. Auto-discovers models from OpenCode registry and uses Pi's native OpenAI-compatible handler.
pi install /path/to/pi-opencode-bridgeThen restart Pi.
/opencode-go-key <your-api-key> # Set OpenCode Go API key directly
/opencode-go-key # Interactive prompt if no key provided
/opencode-status # Check authentication status
Keys are saved to two locations:
~/.local/share/opencode/auth.json— shared with OpenCode CLI~/.pi/agent/auth.json— Pi's AuthStorage format
After setup, select a model via /model. Models are split into two providers:
Go plan — OpenAI-compatible (oc-sdk-go/):
oc-sdk-go/deepseek-v4-prooc-sdk-go/deepseek-v4-flashoc-sdk-go/kimi-k2.6oc-sdk-go/mimo-v2.5-prooc-sdk-go/glm-5.1
Go plan — Anthropic format (oc-sdk-go-anthropic/):
oc-sdk-go-anthropic/qwen3.7-maxoc-sdk-go-anthropic/qwen3.7-plusoc-sdk-go-anthropic/qwen3.6-plusoc-sdk-go-anthropic/qwen3.5-plusoc-sdk-go-anthropic/minimax-m3oc-sdk-go-anthropic/minimax-m2.7oc-sdk-go-anthropic/minimax-m2.5
Zen plan (oc-sdk-zen/ and oc-sdk-zen-anthropic/):
- Models auto-split by API format (OpenAI-compatible vs Anthropic)
- At startup, reads
~/.cache/opencode/models.json(OpenCode's model registry) - Models registered in Pi with context windows, costs, and capabilities
- Pi's native
openai-completionshandler bridges requests to OpenCode's API - Message conversion, tool calls, thinking/reasoning, and SSE streaming handled by Pi
Pi Agent
├─ oc-sdk-go → https://opencode.ai/zen/go/v1 (OpenAI-compatible)
├─ oc-sdk-go-anthropic → https://opencode.ai/zen/go (Anthropic messages)
├─ oc-sdk-zen → https://opencode.ai/zen/v1 (OpenAI-compatible)
└─ oc-sdk-zen-anthropic → https://opencode.ai/zen (Anthropic messages)
| Command | Description |
|---|---|
/opencode-go-key [key] |
Set OpenCode Go API key (direct or interactive) |
/opencode-status |
Check auth status for Go and Zen plans |
/opencode-connect— CLI-based login viaopencode auth login/opencode-zen-key— Set Zen plan API key directly