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 长输出与续写。



