所有頁面
本頁內容

OpenAI 與 OpenAI Image

OAR 提供兩個使用你自己 OpenAI API 金鑰的供應商,金鑰只要儲存一次,兩者都能使用。

  • OpenAI (BYOK) 是 coding agent。它就是 GitHub Copilot 的 runtime,只是改為用你的金鑰連到 OpenAI API(或相容的端點),而不是使用 Copilot 方案的模型。它會讀取檔案、執行指令和編輯程式碼,和 Copilot 對話一樣。
  • OpenAI Image (BYOK) 不是 agent。它是一種對話,你的每則訊息都會變成一個送往 OpenAI Images API 的請求,每則回覆都是一張或多張圖片。

兩者都會向你的 OpenAI 帳戶計費。OpenAI agent 需要中繼主機上有 GitHub Copilot CLI,因為它是由 Copilot runtime 執行的;見 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 key) 在 New Chat(新對話)中提供 OpenAI (BYOK) 和 OpenAI Image (BYOK)。儲存金鑰後會立即開啟,在有金鑰之前無法使用。 第一次儲存後開啟
OpenAI model ID(OpenAI 模型 ID) OpenAI agent 預設使用的模型。 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 中填入該端點要求的金鑰。agent 會與它進行對話,中繼則用它做模型探索和產生圖片。再次儲存預設位址會清除已儲存的值。

agent 需要支援工具呼叫和串流的模型,而且上下文視窗至少要有 128k token,效果才會最好。這是 Copilot CLI 對任何自備金鑰(bring-your-own-key)模型的要求;OAR 不會檢查。圖片對話需要一個具有圖片生成路由的端點,如果要編輯圖片,還需要圖片編輯路由,而且端點必須列出圖片模型。

OpenAI agent #

在 New Chat 中,把 Provider(供應商)選為 OpenAI (BYOK)。模型清單就是為你的金鑰儲存的那一份。之後的對話行為和 Copilot 對話相同:相同的模式選擇器、佇列、導正、提問卡片和檔案工具。對話框的說明請見開始對話,模式的說明請見中繼模式。

在 Copilot runtime 上執行帶來以下結果:

  • 由 Copilot 引擎決定功能。 這是整個中繼的設定,位於 Settings → Providers → Copilot → Copilot engine(設定 → 供應商 → Copilot → Copilot 引擎),在對話的 worker 啟動時讀取。導正、背景任務面板和提問卡片都取決於它;見 GitHub Copilot。

  • 模型會被鎖定。 送出第一則訊息後,輸入區會鎖定在對話開始時使用的模型,輸入框上方的註記會顯示模型名稱。

  • Reasoning effort 取決於模型。 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 圖片對話 #

圖片對話用來依描述產生和修改圖片。這裡沒有 agent:中繼會把你的訊息送到 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

「上次使用」是依瀏覽器分別記住的。在開啟的對話中,輸入區會保留這兩個選擇器,讓你可以每則訊息分別調整:品質放在 reasoning effort 的位置,標題為 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 session-state 資料夾中(~/.copilot/session-state,或 COPILOT_SESSION_STATE_DIR 指定的資料夾),位於該對話之下。對話中的圖片就是從那裡顯示的,唯讀分享連結也會顯示它們。只要對話還在,圖片就會保留;刪除對話會一併刪除它的圖片。

圖片對話沒有的功能 #

請求只包含你的文字,編輯時再加上一張圖片。因此沒有可讀寫的工作資料夾、沒有工具、沒有 agent 的提問、無法導正執行中的回合、沒有背景任務,也沒有壓縮。模式選擇器仍會顯示,但沒有作用;見中繼模式。除了請求本身,中繼主機上不會執行任何東西。

如果請求失敗,對話會在回覆中顯示原因。端點回報為用戶端錯誤(狀態碼 400 到 499)的失敗不會重試;回合會以 Error code: relay.image-provider-rejected. 失敗。網路錯誤或伺服器錯誤則會重試。如果中繼在圖片可能已經產生之後中斷,為了避免重複,請求不會再次執行。

費用 #

兩個供應商都會向你的 OpenAI 帳戶計費,或向你的端點所屬的帳戶計費。OAR 不會計量:OpenAI 回合沒有用量行,Check Usage 中也沒有對應項目,圖片請求也不會顯示費用。請在供應商的儀表板中查看你的花費。一則圖片訊息會發出一個圖片請求;一個 agent 回合則可能發出許多模型請求,因為每個工具步驟都是一次往返。

並列比較 #

OpenAI (BYOK) OpenAI Image (BYOK)
執行者 Copilot runtime,使用你的金鑰 中繼,呼叫 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 agent 無法啟動 請確認主機上已安裝 Copilot CLI(見 GitHub Copilot),並確認模型與端點相符,包括上面提到的傳輸格式。