Claude Opus 5.5 已在 SeedRouter 上线

Gemini 4 Argon 接入 OpenCode:原生配置方法与当前限制

通过 OpenCode 的原生 Google 提供商配置 Gemini 4 Argon,了解实测版本、带签名历史记录的处理方式,以及尚未解决的长输出续写与流中断限制。

以 Markdown 阅读

Gemini 4 Argon 可以通过 OpenCode 的原生 Google 提供商进行配置。值得关注的是首个答案之后的行为:客户端能否保留带签名的内容部分、正确回传工具结果,并识别续写响应?我们对 OpenCode v1.19.0 的离线检查显示,文本和工具消息处理能够正常工作,但长输出续写与流中断处理仍存在缺口。

本文提供一份入门配置,并明确说明这些证据的适用边界。这些结果并不能证明一套完整的 SeedRouter 编程智能体集成已通过真实调用验证。如果需要更精简、每轮由你主动发起一次请求的客户端,请使用 Python 对话教程。

在 OpenCode 中配置 Gemini 4 Argon

用 opencode --version 检查已安装的版本。下述结果适用于 2026 年 10 月 14 日测试的已发布版本 v1.19.0。更新的版本需要单独验证;开发分支中存在某项功能,不能证明已安装的正式版本也支持它。[1]

首次检查时,先创建一个空项目目录,将 OpenCode 配置文件下载到该目录。连接部分如下:

{
  "provider": {
    "google": {
      "npm": "@ai-sdk/google",
      "options": {
        "apiKey": "{env:SEEDROUTER_API_KEY}",
        "baseURL": "https://api.seedrouter.ai/v1beta"
      },
      "models": {
        "gemini-4-argon": {
          "name": "Gemini 4 Argon",
          "reasoning": true,
          "tool_call": true,
          "limit": { "context": 1048576, "output": 4096 },
          "options": {
            "thinkingConfig": { "thinkingLevel": "low", "includeThoughts": true }
          }
        }
      }
    }
  }
}

OpenCode 配置文件支持引用环境变量。[2] 在 shell 中设置 SEEDROUTER_API_KEY,不要将它提交到项目仓库。下载的配置文件还会选择 google/gemini-4-argon,关闭分享与自动更新,并且只允许使用 read 工具。在现有代码仓库中使用前,请先审查这些权限。reasoning 和 tool_call 标志描述的是客户端行为,并不能证明某个账户或服务支持全部操作。

输出值 4096 是这份配置有意设置的起始预算,并非 Argon 的官方上限。思考也会消耗该预算。上下文、输出与续写规则见 API 参考。

先发送一条简短请求

检查配置与当前费率后,运行:

OPENCODE_CONFIG="$PWD/gemini-4-argon-opencode.json" \
OPENCODE_DISABLE_MODELS_FETCH=1 \
OPENCODE_DISABLE_AUTOCOMPACT=1 \
opencode run --model google/gemini-4-argon \
  "Explain a mutex in one sentence. Do not use tools."

使用自己的 key 运行时,这会发起真实的模型请求。OpenCode 可能在失败时重试,也可能在智能体运行过程中继续发起请求,因此不能把这条命令视为将费用控制在单次调用内的保证。如果答案不完整或请求反复出现,请停止进程。若需要严格的手动控制,请改用 Python 示例。

原生请求路径应以 gemini-4-argon:streamGenerateContent?alt=sse 结尾。在被测版本中,Google 提供商通过 x-goog-api-key 发送凭证。这与通用 API 教程中使用 Bearer 请求头的 cURL 示例不同;选择通用 OpenAI 提供商,不会产生相同的原生请求。

离线检查确认了什么

测试使用已发布的 CLI、本地模拟 API 和虚拟凭证,向本机回环地址发出了 17 次请求,覆盖 8 个场景。回复并非由模型生成,报告的 token 数值也是人为设定的。这些观察反映的是客户端行为,不是模型质量或真实计费。

场景v1.19.0 中观察到的行为
原生文本流将分开发送的文本事件合并为预期答案
第二轮对话保留了测试中模型内容部分携带的思考签名和文本签名
读取工具调用及结果回传读取临时测试文件,并在 functionResponse 中返回其内容
MAX_TOKENS在该测试场景中报告因长度限制停止,未再发送请求
HTTP 400在该测试场景中报错退出,未重试
HTTP 429在下一条模拟响应成功的场景中,重试了 1 次

测试确认发送了 thinkingConfig,但不能证明真实服务实际采用了它。同样,在历史记录中传递合成签名,也不能证明真实签名会被后续请求接受。

为什么长输出需要额外检查

Argon 的 CONTINUATION 响应要求保留原始请求,并附上最新的顶层 continuationToken。恢复同一次生成时,不应把部分输出追加到普通对话历史中。[3]

在我们的模拟测试中,OpenCode v1.19.0 将 CONTINUATION 识别为未知类型。它的下一次请求没有携带 token,却把部分答案追加到了历史记录。流在输出部分内容后结束且没有终止事件时,客户端也会继续发起普通请求。模拟服务在 6 次调用后终止了该场景;6 次并不是已确认的客户端重试上限。

因此,这份配置还不能作为已验证的 Argon 长输出续写方案。成功获得简短答案,并不能解决这些问题。在依赖它进行长时间编程会话前,请使用计划采用的具体客户端版本,重新执行相关检查。

OpenCode 配置常见问题

这些检查包含真实工具调用与计费验证吗?

不包含。SeedRouter 基础文本流式生成已另外取得本地端到端验收结果,但这次 OpenCode 检查采用的是模拟响应。真实的工具选择、签名、媒体、账户权限和计费仍需分别验证。

可以改用兼容 OpenAI 的配置吗?

这是另一种协议,兼容范围也不同。本文检查的是 Gemini 原生内容与签名。Google 的长输出文档明确说明,这项能力不适用于其兼容 OpenAI 的端点。[3]

关闭上下文自动压缩会一并关闭重试吗?

不会。上下文压缩和请求重试是两个独立行为。示例中的环境变量不能对请求次数或费用设置硬性上限。

决定下一步验证什么

在 OpenCode 中使用 Gemini 4 Argon 时,先完成简短文本对话,再验证工作需要的具体工具与历史记录行为。将续写和流中断分别作为独立的验收场景。配置客户端时,随时参考模型页和原生 API 参考,以便核对协议细节与当前价格。

来源

[1] OpenCode v1.19.0 发布版本及其提供商实现。

[2] OpenCode 配置:环境变量。

[3] Google Gemini 长输出与续写。

相关指南