跳转到正文
Onevium文档
本页内容

让 OpenAI、Gemini 等非 Claude 模型用上 1M 上下文

Claude Code 只按模型名判断上下文窗口。了解 Onevium 各连接类型如何处理 1M 上下文,以及如何为 OpenAI Responses、Chat Completions 和 Gemini 服务商添加带 [1m] 的模型条目。

为什么 1M 模型仍在 200K 附近压缩#

Onevium 的每个会话都运行在 Claude Code 里,包括使用 OpenAI、Grok 或 Gemini 连接的会话。对这些连接,Onevium 会启动一个本地桥接,把 Claude Code 的请求翻译成服务商自己的接口。

Claude Code 不会向服务商查询模型的上下文窗口,而是读取模型名

  • 名字里包含 [1m],按 1M token 窗口处理。
  • 名字以 claude- 开头,走 Claude Code 的内置表。
  • 其余名字视为未知模型,按 200K 处理,会话接近该上限时自动压缩。

所以即使 GPT-6 Astra 本身支持 1M 以上,会话里执行 /context 仍显示约 200k管理模型 里的 contextWindow 只驱动 Onevium 自己的用量条,Claude Code 不读取它。

Claude Code 在请求离开本机前会去掉 [1m] 后缀,上游服务收到的仍是干净的模型 ID。输入框下方的模型标签和 /context 会显示带后缀的名字,这是预期行为。

开始之前#

  • 先向服务商确认模型的真实窗口。只给文档标明窗口不少于 1M token 的模型加 [1m]:Claude Code 会按 1M 发送提示,窗口更小的模型会直接报错,而不是压缩。
  • 先让该连接用一条短消息正常工作。参见服务商与模型自定义服务商
  • 弄清条目使用的连接类型。设置 → 服务商 的每条记录都会显示;预设会替你选好。

各连接类型分别需要什么#

连接类型例子1M 窗口来自哪里你要做的
Anthropic(官方)Anthropic 预设、Claude Code 登录Fable 5.1、Opus 5、Sonnet 5 原生 1M。Opus 4.8 或 Sonnet 4.6 需要 设置 → Claude CLI → 1M 上下文窗口,它会为 Claude 模型追加 [1m]通常不用操作;旧版 Claude 模型打开全局开关
Anthropic 兼容预设DeepSeek、GLM (CN) / z.ai、Moonshot、MiniMax预设的 (1M) 条目已映射到带后缀的上游 ID,例如 deepseek-flash[1m]glm-5.3[1m]kimi-k3[1m]MiniMax-M3[1m]选择显示名以 (1M) 结尾的条目
Kimi Coding Plank3-256kkimi-for-coding预设声明 256K 窗口(CLAUDE_CODE_MAX_CONTEXT_TOKENS)。K3 的 1M 是套餐权益,不是默认值套餐不含 1M 就保持 256K;含 1M 时按下面的手动步骤为 k3 添加条目
自定义 Anthropic Messages 网关Anthropic API 的中转高级选项 → 接口支持 1M 上下文 加全局开关,为 Claude 模型追加 [1m]打开两个开关。非 Claude 的 ID 按下面的方法添加 [1m] 条目
OpenAI Responses、OpenAI Chat Completions、Google GeminiOpenAI、Grok、Google Gemini 预设,以及这些类型的自定义网关没有自动处理。桥接原样转发 Claude Code 看到的模型 ID添加一条模型 ID 以 [1m] 结尾、上游模型标识为干净名字的条目

最后一行就是本文要解决的情况。Onevium 目前不会替这些连接类型自动加后缀,下面的步骤是受支持的配置方式。

为 OpenAI、Grok 或 Gemini 连接添加 [1m] 模型条目#

  1. 打开 设置 → 服务商,找到该连接,点击 管理模型
  2. 点击 添加自定义模型,展开新行的 高级 字段。
  3. 填写三个字段。请用你自己的模型 ID,表中以 OpenAI 预设为例。
字段原因
模型 IDgpt-6-astra[1m]这是 Claude Code 看到的名字,必须带后缀
上游模型标识gpt-6-astra这是桥接发给服务商的名字,保持干净
显示名GPT-6 Astra (1M)任何能在模型菜单里区分两个条目的标签
  1. 勾选新条目,让它出现在模型菜单。原条目可以保留,也可以取消勾选,避免误选 200K 版本。
  2. 点击 保存。从这个对话框保存后,Onevium 会刷新模型菜单。

需要 1M 的每个模型都重复一次,例如 gpt-5.6-sol[1m]gpt-5.6-solgpt-5.6-luna[1m]gpt-5.6-luna。OpenAI 的 GPT-6 与 GPT-5.6 系列文档标明 1.05M 窗口;Grok 4.7 文档标明 500K,不适用;Gemini 请查对应模型页面。

不要把 [1m] 写进 上游模型标识。个别网关碰巧接受它,但 OpenAI 和 Gemini 官方接口不接受,而桥接总是原样转发上游字段。

角色映射、子任务与子会话#

你添加的条目覆盖主会话。另有两处会自行选择模型:

  • 角色与子任务。 Claude Code 从连接的角色映射解析 Opus、Sonnet、Haiku 和子任务角色。Anthropic 兼容连接可以在 高级选项 → 模型路由 里编辑映射并追加 [1m],字段提示已经这样建议。OpenAI Responses、Chat Completions 和 Gemini 预设的映射来自预设,1.2.1 中不可编辑,所以派生的子任务仍使用预设的默认窗口。后续版本会为这些连接类型开放该映射。
  • AI 创建的子会话。 create_session 工具会按同一个模型菜单解析 model 参数。Onevium 1.2.1 拒绝含方括号的 ID,gpt-6-astra[1m] 传不进去;1.2.2 起接受该后缀。升级前让子会话继承父会话的模型,不要显式传入。

确认窗口#

  1. 新建一个会话。已有会话保持开始时的模型。
  2. 选择名字以 (1M) 结尾的条目。
  3. 发送 /context,总量应显示 1m 而不是 200k
  4. 发一句短消息,例如“只回复:已收到”,确认桥接仍能用干净的上游 ID 正常回复。

如果总量仍是 200k,说明会话还在旧条目上,或者模型 ID 保存时漏了后缀。打开 管理模型 检查该行。

排障#

现象检查什么
模型菜单里没有新条目确认已勾选并保存。若是通过本地 API 而不是这个对话框改的模型,打开服务商条目点一次 更新,或重启 Onevium
服务商返回未知模型错误后缀写进了 上游模型标识。只保留在 模型 ID
把连接类型改成 Anthropic Messages 也没用Claude Code 看到的仍是干净名字,窗口还是 200K;网关也可能拒绝用 OpenAI 密钥访问 /v1/messages。保持与接口一致的连接类型,改为添加条目
~/.claude/settings.json 里设 CLAUDE_CODE_AUTO_COMPACT_WINDOW 没效果Claude Code 会把该值限制在模型的假定窗口内,未知名字仍是 200K。开关是后缀,不是这个变量
模型标签显示 gpt-6-astra[1m]预期行为。Claude Code 发请求前会去掉后缀

下一步#

回看完整的服务商列表,或用自定义连接接入团队网关。想了解会话用了多少窗口,阅读会话数据