SeanPedersen/pi-opencode-bridge

★ 1Forks 0TypeScriptGitHub ↗Compare

README

pi-opencode-bridge

OpenCode provider for Pi Agent. Auto-discovers models from OpenCode registry and uses Pi's native OpenAI-compatible handler.

Install

pi install /path/to/pi-opencode-bridge

Then restart Pi.

Authentication

Quick setup (recommended)

/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

Manual setup

Keys are saved to two locations:

  • ~/.local/share/opencode/auth.json — shared with OpenCode CLI
  • ~/.pi/agent/auth.json — Pi's AuthStorage format

Available Models

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-pro
  • oc-sdk-go/deepseek-v4-flash
  • oc-sdk-go/kimi-k2.6
  • oc-sdk-go/mimo-v2.5-pro
  • oc-sdk-go/glm-5.1

Go plan — Anthropic format (oc-sdk-go-anthropic/):

  • oc-sdk-go-anthropic/qwen3.7-max
  • oc-sdk-go-anthropic/qwen3.7-plus
  • oc-sdk-go-anthropic/qwen3.6-plus
  • oc-sdk-go-anthropic/qwen3.5-plus
  • oc-sdk-go-anthropic/minimax-m3
  • oc-sdk-go-anthropic/minimax-m2.7
  • oc-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)

How It Works

  1. At startup, reads ~/.cache/opencode/models.json (OpenCode's model registry)
  2. Models registered in Pi with context windows, costs, and capabilities
  3. Pi's native openai-completions handler bridges requests to OpenCode's API
  4. Message conversion, tool calls, thinking/reasoning, and SSE streaming handled by Pi

Architecture

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)

Commands

Command Description
/opencode-go-key [key] Set OpenCode Go API key (direct or interactive)
/opencode-status Check auth status for Go and Zen plans

Upcoming (v0.3.0)

  • /opencode-connect — CLI-based login via opencode auth login
  • /opencode-zen-key — Set Zen plan API key directly

Contributors

SeanPedersen

Issues