所有页面
本页内容

OpenAI 与 OpenAI Image

OAR 提供两个运行在你自己 OpenAI API 密钥上的提供商,你只需为两者保存一次密钥。

  • OpenAI (BYOK) 是一个编程智能体。它就是 GitHub Copilot 运行时,用你的密钥指向 OpenAI API(或兼容的端点),而不是使用 Copilot 套餐的模型。它像 Copilot 对话一样读取文件、运行命令和编辑代码。
  • OpenAI Image (BYOK) 不是智能体。它是一种对话,其中每条消息都会变成一次对 OpenAI Images API 的请求,每条回复都是一张或多张图片。

两者都向你的 OpenAI 账户计费。OpenAI 智能体需要中继主机上有 GitHub Copilot CLI,因为它由 Copilot 运行时运行;见 GitHub Copilot。图像提供商不使用 Copilot CLI。

设置 #

打开 Settings → Providers → OpenAI(设置 → 提供商 → OpenAI)。

字段 说明 默认值
OpenAI API key(OpenAI API 密钥) 你的密钥。在保存密钥之前,占位符显示 OpenAI 密钥的开头部分;保存之后显示为 Saved API key (enter to replace)。 无
Enable OpenAI API key for New Chat model selection(在新建对话的模型选择中启用 OpenAI API 密钥) 在 New Chat(新建对话)中提供 OpenAI (BYOK) 和 OpenAI Image (BYOK)。一旦你保存了密钥它就会开启,在密钥存在之前不可用。 首次保存后开启
OpenAI model ID(OpenAI 模型 ID) OpenAI 智能体默认使用的模型。 gpt-4o
Base URL(基础 URL)(可选) 请求发往的地址。使用 OpenAI 本身时留空。 https://api.openai.com/v1

按 Save OpenAI settings(保存 OpenAI 设置)。中继随后会向该端点请求它的模型列表(基础 URL 下的 /models),并把找到的模型添加到各模型选择器中。如果请求失败,设置仍会保存,并有一条提示说明原因;之前的模型会保留。

密钥存储在主机上中继的数据库中。该字段不会再次显示它:密钥保存后,占位符显示为 Saved API key (enter to replace)。留空即可保留已保存的密钥,或输入新密钥来替换它。

字段下方的状态行会说明当前所处的状态:

OpenAI API is enabled. Select OpenAI in New Chat to use model gpt-4o.
API key saved but currently disabled. Enable it to allow OpenAI selection in New Chat.
Not configured. New conversations use GitHub Copilot.

关闭或删除密钥 #

你的操作 结果
关闭启用开关 New Chat 不再提供这两个提供商。密钥和模型列表仍然保存着。尚未发送消息的对话保持原样。
按 Remove saved key(删除已保存的密钥) 确认后,密钥和模型列表会被删除,OpenAI 会被关闭。尚未发送消息且没有排队内容的对话会移到 Copilot。一条提示会说明新对话使用 GitHub Copilot。
在某个 OpenAI 对话有消息或排队项时按 Remove saved key 被拒绝。会弹出提示 Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist. Disable OpenAI for new conversations instead.,密钥保留。

图像对话在这里也算作 OpenAI 对话。实际上,只有在每个含有消息的 OpenAI 或 OpenAI Image 对话都被删除之后,才能删除密钥。如果你只是想停止新的 OpenAI 对话,请改为关闭开关。其他提供商的对话不受影响。

其他端点 #

在 Base URL 中填入任何支持 OpenAI API 的端点地址,例如 https://llm.example.com/v1,并在 OpenAI API key 中填入该端点所需的密钥。智能体与它通信来进行对话,中继与它通信来进行模型发现和生成图片。再次保存默认地址会清除已存储的值。

智能体需要一个支持工具调用和流式传输的模型,上下文窗口至少为 128k token 才能获得最佳效果。这是 Copilot CLI 对任何自带密钥模型的要求;OAR 不会检查。图像对话需要一个具有图像生成路由的端点(如需编辑,还要有图像编辑路由),并且该端点要列出一个图像模型。

OpenAI 智能体 #

在 New Chat 中选择 OpenAI (BYOK) 作为 Provider(提供商)。模型列表是为你的密钥保存的那份。之后该对话的行为与 Copilot 对话一样:相同的模式选择器、队列、引导、提问卡片和文件工具。对话框见开始对话,各模式见中继模式。

运行在 Copilot 运行时上带来的结果:

  • Copilot 引擎决定功能。 它是 Settings → Providers → Copilot → Copilot engine(设置 → 提供商 → Copilot → Copilot 引擎)下的中继范围选择,在对话的 worker 启动时读取。引导、后台任务面板和提问卡片都取决于它;见 GitHub Copilot。

  • 模型是固定的。 发送第一条消息后,输入区会锁定为对话开始时所用的模型,输入框上方的提示会写出它的名称。

  • 推理强度取决于模型。 Reasoning effort(推理强度)的选项随模型名称而定。默认预选第一个选项,除非你上次用的是另一个。

    模型名称开头 选项
    gpt-5、codex none、low、medium、high、xhigh
    o1、o3、o4 low、medium、high
    其他任何名称 none
  • 传输格式。 gpt-5、codex-、o1、o1-、o3、o3- 和 o4- 模型使用 Responses API;其他模型使用 Chat Completions。如果你的端点只支持两者之一,这一点就很重要。

  • 没有套餐用量。 OpenAI 的轮次在回复下方没有用量行,在 Check Usage(查看用量)中也没有条目;它们只用于 Copilot。压缩、重启和恢复与 Copilot 相同:见压缩和重启与恢复。

OpenAI Image 图像对话 #

图像对话用于根据描述生成和修改图片。这里没有智能体:中继把你的消息发送给 Images API,并在对话中显示返回的结果。

开始一个图像对话 #

  1. 打开 New Chat,把 Provider 设为 OpenAI Image (BYOK)。OpenAI 启用后,它会出现在 OpenAI (BYOK) 旁边。
  2. 选择一个 Model(模型)。只列出图像模型:名称以 gpt-image- 或 dall-e- 开头的模型。中继的模型发现只保留以 gpt-、chatgpt-、o1、o3、o4-、codex- 或 openai/ 开头的名称,因此 gpt-image-* 模型可以从你的端点发现,而 dall-e-* 模型只有在你把它的 ID 填为 OpenAI model ID 时才会出现。如果没有列出任何图像模型,就没有可选的模型。
  3. 设置 Quality(质量)和 Size(尺寸)。
  4. 按 Start chat(开始对话),然后描述图片。

使用非图像模型的对话会被拒绝:OpenAI image provider requires an image model (received "model-name")。

选择器 选项 默认值
Quality auto、low、medium、high 你上次用的选项(它与 Reasoning effort 共用记忆),否则为 auto
Size,gpt-image-* 及其他图像模型 auto、1024x1024、1536x1024、1024x1536 你上次用的尺寸,否则为 auto
Size,dall-e-3 1024x1024、1792x1024、1024x1792 如果提供,则为你上次用的尺寸,否则为 1024x1024
Size,dall-e-2 256x256、512x512、1024x1024 如果提供,则为你上次用的尺寸,否则为 256x256

“上次用的”按浏览器记忆。在打开的对话中,输入区会把这两项保留为选择器:质量位于推理强度的位置,标题为 Quality;尺寸的标题为 Image size(图片尺寸)。因此你可以在每条消息之间更改它们。每条消息生成一张图片。质量和尺寸也可以在开始对话时设置。

编辑与后续消息 #

新消息会生成一张全新的图片。要修改已有的图片,请使用它下方的 Edit this image(编辑此图片):

  1. 按图片下方的 Edit this image。输入区上方会出现一个小标签,显示 Editing(正在编辑)和图片的名称,并带有一个取消按钮,输入框会提示 Describe how to edit this image…。
  2. 输入要更改的内容并发送。中继会把这张图片和你的文字发送到 Images API 的编辑路由,新图片会作为回复出现。
  3. 新图片同样有 Edit this image,还有一个 Edited from previous image(由上一张图片编辑而来)链接,可以跳回它所来自的那张图片。

由于编辑从你按下按钮的那张图片开始,你可以分支:再次编辑较早的图片,而不会把后面的图片带进来。消息发送后,小标签会清除。

你也可以在图像对话中给消息附加一张图片。附加的第一张图片就是被编辑的图片。只使用第一张。

关闭此功能

Edit this image 属于 Settings → Features(设置 → 功能)中的 Generated-image continuity(生成图片连续性)设置,默认开启。关闭后,该按钮会消失,后续消息与之前的图片之间也没有链接,但附加图片仍会编辑它。

图片存放在哪里 #

中继把每张生成的图片作为文件保存在主机上,位于 Copilot CLI 的会话状态文件夹(~/.copilot/session-state,或 COPILOT_SESSION_STATE_DIR 指定的文件夹)中对应对话的下面。它从那里在对话中显示这些图片,只读分享链接也会显示它们。只要对话还在,它们就会保留;删除对话会删除它的图片。

图像对话没有什么 #

请求只包含你的文字,编辑时再加一张图片。因此没有可读写的工作目录、没有工具、没有来自智能体的提问、不能引导正在运行的一轮、没有后台任务,也没有压缩。模式选择器仍会显示,但没有效果;见中继模式。除了请求本身,中继主机上不会运行任何东西。

如果请求失败,对话会在回复中显示原因。端点报告为客户端错误(状态码 400 到 499)的失败不会重试;该轮会以 Error code: relay.image-provider-rejected. 失败。网络错误或服务器错误会重试。如果中继在图片可能已经生成之后被中断,它不会再次运行,以避免重复。

费用 #

两个提供商都向你的 OpenAI 账户计费,或者向你的端点所属的账户计费。OAR 不计量这些费用:OpenAI 的轮次没有用量行,在 Check Usage 中也没有条目,图像请求不显示费用。请在你的提供商控制台中关注你的花费。一条图像消息产生一次图像请求;智能体的一轮可能产生许多次模型请求,因为每个工具步骤都是另一次往返。

对比 #

OpenAI (BYOK) OpenAI Image (BYOK)
运行的是什么 Copilot 运行时,使用你的密钥 中继,调用 Images API
需要 Copilot CLI 是 否
回复 文字、代码、工具活动 每条消息一张图片
模型 已发现的对话模型;默认 gpt-4o gpt-image-* 和 dall-e-*
New Chat 中的选择器 Reasoning effort Quality 和 Size
工具、工作目录、中继模式 是 否(模式选择器没有效果)
引导、后台任务、提问卡片 是(SDK 引擎) 否
后续消息 对话继续 Edit this image,或附加的图片

无法正常工作时 #

你看到的 原因与解决方法
Provider 中没有 OpenAI (BYOK) 和 OpenAI Image (BYOK) 没有保存密钥,或启用开关已关闭。打开 Settings → Providers → OpenAI。
开始对话时出现 OpenAI API key is not configured 没有保存密钥。重新保存一个。
Save an OpenAI API key before enabling OpenAI. 你在没有保存密钥的情况下打开了开关。输入密钥并按 Save OpenAI settings。
保存后出现模型发现失败的提示,例如 OpenAI model discovery failed (401) 端点拒绝了密钥,或基础 URL 有误。设置已保存;修正密钥或 URL 后再次保存。
OpenAI model "name" is not available 该模型不在已保存的列表中。检查 OpenAI model ID 和端点的模型列表,或在 Select Models(选择模型)中按 Refresh(刷新)。
图像对话没有可选的模型 端点没有列出任何 gpt-image-* 或 dall-e-* 模型。
OpenAI image API failed (401) 或其他状态码 端点拒绝了请求。状态码后面跟着它消息的前 240 个字符。常见原因是密钥错误、无权访问该模型,或尺寸或质量被拒绝。
OpenAI image API request failed 中继无法连接到端点。检查基础 URL 和主机的网络。
编辑时提示 The parent generated image is unavailable 图片的文件已从主机上消失。从一张新图片开始。
Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist… 见关闭或删除密钥。
OpenAI 智能体无法启动 检查主机上是否安装了 Copilot CLI(见 GitHub Copilot),以及模型是否适合该端点,包括上面提到的传输格式。