跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

Go 与 Zen 模型 API

选用正确的模型命名空间、协议端点和 Jev 决策接口。

OpenCode 配置里的 provider/model 与模型服务请求中的模型 ID 不同。Zen 配置前缀是 opencode/,Go 为 opencode-go/;直接 API 请求按对应模型表使用不带此前缀的 model ID。

模型列表与基础路径

服务模型列表
Zenhttps://opencode.ai/zen/v1/models
Gohttps://opencode.ai/zen/go/v1/models

列表提供可用模型与元数据。不能仅把 Go 的 URL 换为 Zen 就假设所有模型、额度和协议相同。

按模型选择协议

协议Zen 路径Go 路径官方列出的 SDK 包
Responses/zen/v1/responses/zen/go/v1/responses@ai-sdk/openai
Messages/zen/v1/messages/zen/go/v1/messages@ai-sdk/anthropic
Chat Completions/zen/v1/chat/completions/zen/go/v1/chat/completions@ai-sdk/openai-compatible
Gemini 模型端点/zen/v1/models/<model-id>Go 表未列此类@ai-sdk/google
System One/zen/v1/systemoneGo 表未列此类Zen 表未指定 AI SDK 包

这些路径的域名均为 https://opencode.ai。协议必须按模型表核对,不能按模型家族一概推断。例如核验时 MiniMax M3 在 Zen 表使用 Chat Completions,在 Go 表使用 Messages;Qwen3.8 Max 的两个服务表也列出不同协议。

Jev 结构化决策

Jev 通过 System One 对给定 state 回答类型化问题,返回数值与概率,而不是普通自由文本。Zen 页列出 noul(是/否)、choice(多选一)和 score(量表)三类。

下面演示将任务状态交给一个二元判断;Key 从环境变量读取:

curl https://opencode.ai/zen/v1/systemone \
  -H "Authorization: Bearer $OPENCODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-1.13",
    "state": "The build failed and the release is blocked.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Does this task require urgent attention?"
      }
    }
  }'

多个问题可放在同一 questions 对象,服务并行判断后按问题 ID 返回。choice 的 criteria 使用选项说明映射,score 示例使用有序描述数组。官方还列出限时免费 ID jev-1.13-free;可用性以当前服务为准。

Jev 模型服务与 OpenCode SDK 的结构化输出工具是两类接口,不应混用其请求体。