模型与推理
有两个选择决定一轮的花费和质量:模型,以及它推理多少。这两项你都可以在 New chat(新建对话)对话框中设置,并在每条消息发出前在输入区中再次设置。本页介绍各个选择器、每个提供商的模型列表从哪里来,以及各强度值的含义。提供商的设置见各提供商页面,对话框的逐字段说明见开始对话。
在哪里选择 #
| 位置 | 你设置什么 |
|---|---|
| New chat 对话框 | 为尚不存在的对话设置模型和 Reasoning effort(推理强度)。 |
| 输入区的模型选择器 | 下一条消息的模型。其提示文字为 Model(模型)。 |
| 输入区的强度选择器 | 下一条消息的推理强度。其提示文字为 Reasoning effort;图片模型则为 Quality(质量)。 |
| 输入区的 Context window(上下文窗口)选择器 | 模型的上下文大小,适用于有多个可选大小的模型。图片模型则为图片尺寸。 |
对话 ⋯ 菜单中的 🤗 Select Models(选择模型) |
哪些模型会出现在上述所有列表中。 |
一个对话只使用一个提供商,因此输入区只列出该提供商提供的模型。模型和强度按消息生效:你在按下发送之前所做的选择,就是这条消息发出时使用的选择。对话会记住它最后使用的模型和强度,浏览器也会记住你在任何地方最后选择的模型和强度。新对话从浏览器记住的值开始。如果你换到的模型不提供记住的强度,就改用该模型提供的最接近的强度;Ultracode 永远不会以这种方式被选中。
在还没有消息的对话中,如果提供商支持,选择器还会提供 Auto(自动)。第一条消息发出后,Auto 会被禁用,提示文字为“Auto is available only for a new conversation”。
对话中途能更换模型吗? #
这取决于提供商。模型被锁定时,选择器会把模型显示为锁定条目(🔒),无法更改。
| 提供商 | 在消息之间更换模型 |
|---|---|
| GitHub Copilot | 可以,两种引擎都可以。 |
| OpenAI | 第一条消息之前可以。之后模型被锁定。 |
| Claude | 可以。 |
| Claude API 0.9.18 新增 | 可以。切换计费方式会保留模型;如果另一方没有列出该模型,切换会被拒绝。 |
| Claude Cloud | 可以。沙箱会在下一条消息之前切换。 |
| Cursor | 可以。 |
| Grok | 不可以。模型在创建对话时就已固定。 |
| DeepSeek | 可以。对话的 Claude Code 会在下一条消息之前以新模型重启。对话中一旦有图片,不支持图片输入的模型就会被拒绝。 |
OpenAI 和 Grok 从第一条消息起锁定选择器。中继会以“Grok model switching requires creating a new Grok conversation”拒绝换成其他 Grok 模型。要在锁定模型的提供商上使用其他模型,请开始一个新对话。输入区上方的提示会写明锁定的模型;见一个对话一个提供商。
Select Models #
🤗 Select Models(副标题:“Choose model variants shown in the composer selector”)决定已发现的模型中哪些出现在选择器中。这一选择对整个中继保存,而不是按浏览器或按对话保存。对话框还会显示各列表上次刷新的时间。
对话框为每个运行时设一个标签页:Copilot、OpenAI、Claude SDK、0.9.18 新增 Claude API、Cursor SDK、Grok 和 0.9.17 新增 DeepSeek。没有可显示模型的标签页会被禁用,例如其提供商关闭时。Claude Cloud 没有标签页:它的列表跟随 Claude 提供商的列表(见下文)。每个模型都有一个标题栏,显示其名称、上下文窗口,以及一行 Reasoning(推理)小标签,它提供的每种强度对应一个。标题栏下方是该模型的各行,每行带一个复选框。
- 💾 Save enabled models(保存已启用的模型)保存当前标签页中的勾选。其他标签页保持原样。随后出现提示“Saved model selection.”。
- 在有 Copilot 模型的标签页上,至少要保留一个勾选:“Select at least one model variant.”
- 标记为 default model(默认模型)的 Claude、Claude API、Cursor、Grok 或 DeepSeek 模型是固定的,无法取消勾选。OpenAI 模型标记为 managed in settings(在设置中管理):决定它们的是 OpenAI 模型 ID 和已保存的列表,而不是复选框。标记为 unavailable(不可用)的模型是之前勾选过、现在不再上报的模型;它会被保留,这样更新不会重置你的选择。
- Refresh(刷新)会重新读取模型列表,而不仅是当前标签页的:包括 Copilot CLI 的列表,以及其他所有已启用提供商的列表。OpenAI、Claude、Claude API、Cursor、Grok 或 DeepSeek 读取失败时,会显示类似“Claude model discovery failed. Cached Claude models were kept: …”的提示。
如果模型数据完全无法加载,输入区会显示“Model metadata is unavailable. Refresh to choose a model and reasoning effort.”,并附带一个 Refresh models(刷新模型)按钮,在加载成功之前,各选择器保持禁用。
每个模型列表的来源 #
中继读取每个提供商的列表,Select Models 再对其加以筛选。提供商的 model ID(模型 ID)设置就是它的默认模型,即你没有另选时对话开始所用的模型。
| 提供商 | 列表来源 | 何时读取 |
|---|---|---|
| GitHub Copilot | 已安装的 Copilot CLI | 中继启动几秒后、运行中的会话读取时,以及按 Refresh 时。 |
| OpenAI | 端点的 / 列表 |
你保存密钥或重新启用 OpenAI 时,以及按 Refresh 时。读取失败时保留原列表。开始对话时使用已保存的列表。 |
| Claude | Claude Agent SDK | 你启用 Claude 时、登录后,以及按 Refresh 时。 |
| Claude API 0.9.18 新增 | 用已保存的密钥调用 Anthropic 的 GET / |
你保存密钥或重新启用 Claude API 时,以及按 Refresh 或该选项卡的 Refresh models 时。首次读取之前:使用 Claude 提供商的列表。 |
| Claude Cloud | Claude 提供商的模型,加上该选项卡的 Default model(默认模型) | 自身不读取。 |
| Cursor | Cursor Agent SDK | 你保存 API 密钥或重新启用 Cursor 时,以及按 Refresh 时。 |
| Grok | Grok CLI | 你启用 Grok 时、登录后、从面板安装 CLI 后,以及按 Refresh 时。 |
| DeepSeek | DeepSeek 的 / 列表中的 deepseek- ID |
你保存密钥、重新启用 DeepSeek 或更改其基础 URL 时,以及按 Refresh 时。首次读取之前:deepseek- 和 deepseek-。 |
读取失败时,中继保留它已有的最后一份列表。如果过时的是 Copilot 列表,输入区会显示横幅“Model list is cached from CLI; selection may be stale.”。列表看起来过时时,请按 Refresh。
Copilot 的列表以 auto 开头,然后按厂商对模型分组,新版本在前。首次读取之前,新中继提供一份简短的内置列表;见 GitHub Copilot。其他提供商的默认模型,以及缺少某个模型时怎么办,见各自的页面:OpenAI、Claude、Claude API、Claude Cloud、DeepSeek。
上下文大小 #
Context window 选择器显示模型提供的各个窗口,例如 400 和 1。大多数模型只有一个条目,这时小标签只是显示该窗口。
对 Claude 来说,claude- 这类长上下文模型不会作为第二个模型列出。在选择器中选择 1,就会以长上下文变体运行基础模型。Claude 的模型目录中没有默认窗口的数值,因此该条目显示为 —。只以 [1m] 变体存在的模型只提供 1。对话会记住你选择的窗口。详见 Claude。
0.9.18 新增 如果 Anthropic 报告某个模型的窗口为 1M token 或以上,或者 Claude 提供商列出了它的 1M 变体,Claude API 对话就会为该模型提供 1;见 Claude API。
对于有长上下文窗口的 Copilot 模型,选择器会把长窗口作为第二个条目提供,选择器下方的价格详情随你选择的条目变化。这一选择随消息一起保存。New chat 对话框以只读方式显示窗口。Claude Cloud 对话没有可选的大小;选择器被隐藏。
DeepSeek 对话只有一个窗口,即 1,048,576 token,选择器将其显示为 1.,没有可选项。除非设置了自动压缩窗口,否则它在 400K 时压缩;见 DeepSeek。
推理强度 #
强度选择器决定模型在回答之前可以思考多少。值越高,回答前的思考越多。它的选项是所选模型支持的选项,因此会随模型的更换而变化。下表列出全部可能的值;每个模型提供其中一部分:
| 值 | 含义 |
|---|---|
none |
不请求强度。如果模型列出了 none,就照此发送;否则模型以其自身默认值运行。 |
minimal |
模型提供的最低一档,低于 low。 |
low、medium、high |
强度递增。 |
xhigh、max |
最高的几档。 |
| Ultracode | 仅限 Claude。见下文。 |
DeepSeek 的级别是 low、high(默认)和 max,所有模型都一样;见下文。
default(默认)。无法关闭推理的模型会把 none 显示为 default。选择它会发送 none,模型以其自身的默认推理运行。Cursor 模型就是这样。
每条消息都会带上一个强度。选择器只提供模型接受的值。如果一条消息指定了模型不接受的强度(智能体可能这样做),Claude、Cursor、Grok 和 Claude Cloud 会使用 none。GitHub Copilot 和 OpenAI 会以错误拒绝该消息。DeepSeek 会将其映射到自己的级别。未指定强度的消息得到 none;如果模型没有 none,则得到列表中的第一个值;在 DeepSeek 上则沿用对话的强度,或使用 high。
Claude #
Claude 的选择器提供 none 以及模型报告的级别(low、medium、high、xhigh、max)。none 不请求任何强度级别。支持 xhigh 的模型上还会加上 Ultracode。它的提示文字为“xhigh effort plus multi-agent workflow orchestration — expect much higher token use”。它不是一个级别,而是一种模式:中继请求 xhigh 强度并开启会话的工作流编排,离开该模式则关闭编排。
思考另有两个开关,按对话设置,位于 🧠 上下文面板中:Thinking(思考),可开可关,默认开启;以及 Thinking text(思考文本),可选 Summarized(摘要)或 Hidden(隐藏),默认为摘要。Hidden 只是隐藏文本。真正节省 token 的是关闭思考,它作用于下一个 CLI 会话,而不是在会话中途生效。见 Claude。
0.9.18 新增 Claude API 对话有同样的选择器和控制项。它的级别来自该密钥对应的 Anthropic 模型列表:none 以及模型报告的级别,xhigh 模型上再加 Ultracode;对于报告不支持强度的模型,则只有 none。见 Claude API。
DeepSeek 0.9.17 新增 #
DeepSeek 的模型总是会思考,因此没有 none。选择器提供 low、high 和 max;默认是 high。换一个强度会在两轮之间重启对话的 Claude Code。来自其他地方的强度(例如 medium)会映射到这三个值之一。没有 Thinking 控制项。映射方式及其他内容见 DeepSeek。
智能体启动会话时 #
用 create_ 在中继上启动会话的智能体可以传入 model 和 effort。如果都不传,新会话会沿用该智能体所在会话的设置,前提是目标中继提供它([1m] Claude 模型与其基础模型视为匹配),否则使用目标中继的默认模型。不带 model 的 Claude Cloud 会话会使用 Claude Cloud 选项卡的 Default model,且不使用强度。如果目标中继不为该模型提供调用方的强度,会话就使用目标中继的默认强度。send 接受同样的两个参数;不传时,会话保留自己的模型和强度。
0.9.13 新增 目标中继没有为该提供商列出的模型,会在创建或发送任何内容之前被拒绝,并附上相近的匹配项;Claude 还接受 opus、sonnet 和 haiku,带强度的 Copilot ID(例如 gpt-)会以该模型和该强度运行。见接受哪些模型。
0.9.13 新增 任何不带模型、由智能体或脚本(而不是输入区)发到对话的消息,都会以对话的模型、强度和模式运行,并且不会改变其中任何一项。以前,Copilot 对话会为这类消息取目录中的第一个模型并保留下来。如果 Copilot 对话的模型已不在目录中,这类消息会被拒绝,并显示 This conversation's model "…" is no longer available. Choose a model and send again.(此对话的模型“…”已不可用。请选择模型后重新发送。),而不是换用另一个模型。
按提供商 #
| 提供商 | 模型列表 | 对话中途更换 | 推理值 | 额外控制项 |
|---|---|---|---|---|
| GitHub Copilot,SDK 引擎 | Copilot CLI 运行时 | 可以 | 运行时为该模型报告的值:none 以及 minimal 到 xhigh,视模型而定 |
Context window,适用于有长窗口的模型 |
| GitHub Copilot,扩展引擎 | Copilot CLI 运行时 | 可以 | 同一列表 | 同上 |
| OpenAI | 端点的 / |
第一条消息之前 | 按模型名称:gpt-、codex*:none、low、medium、high、xhigh;o1*、o3*、o4*:low、medium、high;其他:none |
无 |
| OpenAI Image | 端点的图片模型 | 第一条消息之前 | Quality:auto、low、medium、high |
Size(尺寸),代替上下文窗口 |
| Claude | Claude Agent SDK | 可以 | none 以及模型报告的值,xhigh 模型上再加 Ultracode |
1 上下文、Thinking、Thinking text |
| Claude API 0.9.18 新增 | 该密钥对应的 Anthropic / |
可以 | 同 Claude,来自 Anthropic 的列表 | 同 Claude |
| Claude Cloud | Claude 的列表加上 Default model | 可以 | 无可选项 | 无 |
| Cursor | Cursor Agent SDK | 可以 | 每个模型报告的值;有些把 none 显示为 default |
无 |
| Grok | Grok CLI | 不可以 | 模型报告的值,否则为 none、low、medium、high。除 none 外的值都会作为提示传给 Grok CLI,它可能会忽略 |
无 |
| DeepSeek | DeepSeek 的 / |
可以,在两轮之间 | 所有模型都是 low、high(默认)、max |
无;只有一个窗口,显示为 1. |