OpenCode Zen
透過 Mastra 的模型路由器存取 87 個 OpenCode Zen 模型。系統會自動使用 OPENCODE_API_KEY 環境變數進行驗證。
詳情請參閱OpenCode Zen 文件。
.env
OPENCODE_API_KEY=your-api-key
src/mastra/agents/my-agent.ts
import { Agent } from '@mastra/core/agent'
const agent = new Agent({
id: 'my-agent',
name: 'My Agent',
instructions: 'You are a helpful assistant',
model: 'opencode/big-pickle',
})
// Generate a response
const response = await agent.generate('Hello!')
// Stream a response
const stream = await agent.stream('Tell me a story')
for await (const chunk of stream) {
console.log(chunk)
}
資訊
Mastra 使用與 OpenAI 相容的 /chat/completions 端點。部分 Provider 專屬功能可能無法使用,詳情請參閱OpenCode Zen 文件。
模型模型 的直接連結
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|---|---|---|---|---|---|---|---|---|
opencode/big-pickle | 200K | — | — | |||||
opencode/claude-fable-5 | 1.0M | $10 | $50 | |||||
opencode/claude-haiku-4-5 | 200K | $1 | $5 | |||||
opencode/claude-opus-4-5 | 200K | $5 | $25 | |||||
opencode/claude-opus-4-6 | 1.0M | $5 | $25 | |||||
opencode/claude-opus-4-7 | 1.0M | $5 | $25 | |||||
opencode/claude-opus-4-8 | 1.0M | $5 | $25 | |||||
opencode/claude-opus-5 | 1.0M | $5 | $25 | |||||
opencode/claude-sonnet-4 | 1.0M | $3 | $15 | |||||
opencode/claude-sonnet-4-5 | 1.0M | $3 | $15 | |||||
opencode/claude-sonnet-4-6 | 1.0M | $3 | $15 | |||||
opencode/claude-sonnet-5 | 1.0M | $2 | $10 | |||||
opencode/deepseek-v4-flash | 1.0M | $0.14 | $0.28 | |||||
opencode/deepseek-v4-flash-free | 200K | — | — | |||||
opencode/deepseek-v4-pro | 1.0M | $2 | $4 | |||||
opencode/gemini-3-flash | 1.0M | $0.50 | $3 | |||||
opencode/gemini-3.1-pro | 1.0M | $2 | $12 | |||||
opencode/gemini-3.5-flash | 1.0M | $2 | $9 | |||||
opencode/gemini-3.5-flash-lite | 1.0M | $0.30 | $3 | |||||
opencode/gemini-3.6-flash | 1.0M | $2 | $8 | |||||
opencode/glm-5 | 205K | $1 | $3 | |||||
opencode/glm-5.1 | 205K | $1 | $4 | |||||
opencode/glm-5.2 | 1.0M | $1 | $4 | |||||
opencode/gpt-5 | 400K | $1 | $9 | |||||
opencode/gpt-5-codex | 400K | $1 | $9 | |||||
opencode/gpt-5-nano | 400K | $0.05 | $0.40 | |||||
opencode/gpt-5.1 | 400K | $1 | $9 | |||||
opencode/gpt-5.1-codex | 400K | $1 | $9 | |||||
opencode/gpt-5.1-codex-max | 400K | $1 | $10 | |||||
opencode/gpt-5.1-codex-mini | 400K | $0.25 | $2 | |||||
opencode/gpt-5.2 | 400K | $2 | $14 | |||||
opencode/gpt-5.2-codex | 400K | $2 | $14 | |||||
opencode/gpt-5.3-codex | 400K | $2 | $14 | |||||
opencode/gpt-5.3-codex-spark | 128K | $2 | $14 | |||||
opencode/gpt-5.4 | 1.1M | $3 | $15 | |||||
opencode/gpt-5.4-mini | 400K | $0.75 | $5 | |||||
opencode/gpt-5.4-nano | 400K | $0.20 | $1 | |||||
opencode/gpt-5.4-pro | 1.1M | $30 | $180 | |||||
opencode/gpt-5.5 | 1.1M | $5 | $30 | |||||
opencode/gpt-5.5-pro | 1.1M | $30 | $180 | |||||
opencode/gpt-5.6-luna | 1.1M | $0.20 | $1 | |||||
opencode/gpt-5.6-sol | 1.1M | $5 | $30 | |||||
opencode/gpt-5.6-terra | 1.1M | $3 | $15 | |||||
opencode/grok-4.5 | 500K | $2 | $6 | |||||
opencode/grok-build-0.1 | 256K | $1 | $2 | |||||
opencode/kimi-k2.5 | 262K | $0.60 | $3 | |||||
opencode/kimi-k2.6 | 262K | $0.95 | $4 | |||||
opencode/kimi-k2.7-code | 262K | $0.95 | $4 | |||||
opencode/kimi-k3 | 1.0M | $3 | $15 | |||||
opencode/laguna-s-2.1-free | 256K | — | — | |||||
opencode/ling-3.0-tiny-free | 262K | — | — | |||||
opencode/longcat-2.0-free | 1.0M | — | — | |||||
opencode/mimo-v2.5-free | 200K | — | — | |||||
opencode/minimax-m2.5 | 205K | $0.30 | $1 | |||||
opencode/minimax-m2.7 | 205K | $0.30 | $1 | |||||
opencode/minimax-m3 | 512K | $0.30 | $1 | |||||
opencode/nemotron-3-ultra-free | 1.0M | — | — | |||||
opencode/north-mini-code-free | 256K | — | — | |||||
opencode/qwen3.5-plus | 262K | $0.20 | $1 | |||||
opencode/qwen3.6-plus | 262K | $0.50 | $3 |
進階設定進階設定 的直接連結
自訂標頭自訂標頭 的直接連結
src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'custom-agent',
name: 'custom-agent',
model: {
url: 'https://opencode.ai/zen/v1',
id: 'opencode/big-pickle',
apiKey: process.env.OPENCODE_API_KEY,
headers: {
'X-Custom-Header': 'value',
},
},
})
動態選擇模型動態選擇模型 的直接連結
src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'dynamic-agent',
name: 'Dynamic Agent',
model: ({ requestContext }) => {
const useAdvanced = requestContext.task === 'complex'
return useAdvanced ? 'opencode/trinity-large-preview-free' : 'opencode/big-pickle'
},
})