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- |
| Base URL(基礎 URL)(選填) | 請求送往的位址。使用 OpenAI 本身時請留空。 | https:// |
按 Save OpenAI settings(儲存 OpenAI 設定)。接著中繼會向端點查詢模型清單(基礎 URL 下的 /),並把找到的模型加到模型選擇器中。如果查詢失敗,設定仍會儲存,並有一則通知說明原因;先前的模型會保留。
金鑰儲存在主機上的中繼資料庫中。欄位不會再顯示它:金鑰一旦儲存,預留位置文字就會顯示 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 Open,金鑰保持不變。 |
在這裡,圖片對話也算是 OpenAI 對話。實際上,只有在所有含訊息的 OpenAI 或 OpenAI Image 對話都已刪除之後,才能移除金鑰。如果你只是想停止新的 OpenAI 對話,請改為關閉開關。其他供應商的對話不受影響。
其他端點 #
在 Base URL 中填入任何支援 OpenAI API 的端點位址,例如 https://,並在 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 codexnone、low、medium、high、xhigho1、o3、o4low、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,並在對話中顯示傳回的結果。
開始圖片對話 #
- 開啟 New Chat,把 Provider 設為 OpenAI Image (BYOK)。啟用 OpenAI 後,它會出現在 OpenAI (BYOK) 旁邊。
- 選擇 Model(模型)。清單中只會列出圖片模型:名稱以
gpt-或image- dall-開頭的模型。中繼的模型探索只保留名稱以e- gpt-、chatgpt-、o1、o3、o4-、codex-或openai/開頭的模型,所以gpt-模型可以從你的端點找到,但image- * dall-模型只有在你把它的 ID 填為 OpenAI model ID 時才會出現。如果沒有列出任何圖片模型,就沒有可選的項目。e- * - 設定 Quality(品質)和 Size(尺寸)。
- 按 Start chat(開始對話),然後描述你要的圖片。
使用非圖片模型的對話會被拒絕:Open。
| 選擇器 | 選項 | 預設 |
|---|---|---|
| Quality | auto、low、medium、high |
你上次使用的選項(它和 Reasoning effort 共用同一份記憶),否則為 auto |
Size,gpt- 和其他圖片模型 |
auto、1024x1024、1536x1024、1024x1536 |
你上次使用的尺寸,否則為 auto |
Size,dall- |
1024x1024、1792x1024、1024x1792 |
你上次使用的尺寸(若有提供),否則為 1024x1024 |
Size,dall- |
256x256、512x512、1024x1024 |
你上次使用的尺寸(若有提供),否則為 256x256 |
「上次使用」是依瀏覽器分別記住的。在開啟的對話中,輸入區會保留這兩個選擇器,讓你可以每則訊息分別調整:品質放在 reasoning effort 的位置,標題為 Quality;尺寸的標題為 Image size(圖片尺寸)。每則訊息產生一張圖片。品質和尺寸也可以在開始對話時設定。
編輯與後續訊息 #
新訊息會產生一張全新的圖片。要修改已有的圖片,請使用圖片下方的 Edit this image(編輯此圖片):
- 按圖片下方的 Edit this image。輸入區上方會出現一個小標籤,顯示 Editing(正在編輯)和圖片名稱,並附有取消按鈕,輸入框則會提示
Describe how to edit this image…。 - 輸入要修改的內容並送出。中繼會把那張圖片和你的文字送到 Images API 的編輯路由,新圖片會顯示為回覆。
- 新圖片同樣有 Edit this image,還有一個 Edited from previous image(由上一張圖片編輯而來)連結,可以跳回它的來源圖片。
因為編輯是從你按下按鈕的那張圖片開始,所以你可以分支:再次編輯較早的圖片,而不會連帶後來的圖片。訊息送出後,小標籤就會清除。
你也可以在圖片對話中,為訊息附加一張你自己的圖片。被編輯的是第一張附加的圖片,而且只會使用第一張。
關閉此功能
Edit this image 屬於 Settings → Features(設定 → 功能)中的 Generated-image continuity(生成圖片連續性)設定,預設為開啟。關閉後,這個按鈕會消失,後續訊息也不會連結到較早的圖片,但附加圖片仍會編輯該圖片。
圖片存放在哪裡 #
中繼會把每張生成的圖片以檔案形式存放在主機上的 Copilot CLI session-state 資料夾中(~/.,或 COPILOT_ 指定的資料夾),位於該對話之下。對話中的圖片就是從那裡顯示的,唯讀分享連結也會顯示它們。只要對話還在,圖片就會保留;刪除對話會一併刪除它的圖片。
圖片對話沒有的功能 #
請求只包含你的文字,編輯時再加上一張圖片。因此沒有可讀寫的工作資料夾、沒有工具、沒有 agent 的提問、無法導正執行中的回合、沒有背景任務,也沒有壓縮。模式選擇器仍會顯示,但沒有作用;見中繼模式。除了請求本身,中繼主機上不會執行任何東西。
如果請求失敗,對話會在回覆中顯示原因。端點回報為用戶端錯誤(狀態碼 400 到 499)的失敗不會重試;回合會以 Error code: relay. 失敗。網路錯誤或伺服器錯誤則會重試。如果中繼在圖片可能已經產生之後中斷,為了避免重複,請求不會再次執行。
費用 #
兩個供應商都會向你的 OpenAI 帳戶計費,或向你的端點所屬的帳戶計費。OAR 不會計量:OpenAI 回合沒有用量行,Check Usage 中也沒有對應項目,圖片請求也不會顯示費用。請在供應商的儀表板中查看你的花費。一則圖片訊息會發出一個圖片請求;一個 agent 回合則可能發出許多模型請求,因為每個工具步驟都是一次往返。
並列比較 #
| OpenAI (BYOK) | OpenAI Image (BYOK) | |
|---|---|---|
| 執行者 | Copilot runtime,使用你的金鑰 | 中繼,呼叫 Images API |
| 需要 Copilot CLI | 是 | 否 |
| 回覆 | 文字、程式碼、工具活動 | 每則訊息一張圖片 |
| 模型 | 探索到的對話模型;預設為 gpt- |
gpt- 和 dall- |
| New Chat 中的選擇器 | Reasoning effort | Quality 和 Size |
| 工具、工作資料夾、中繼模式 | 是 | 否(模式選擇器沒有作用) |
| 導正、背景任務、提問卡片 | 是(SDK 引擎) | 否 |
| 後續訊息 | 對話繼續進行 | Edit this image,或附加圖片 |
無法正常運作時 #
| 你看到的狀況 | 原因與解法 |
|---|---|
| Provider 中沒有 OpenAI (BYOK) 和 OpenAI Image (BYOK) | 尚未儲存金鑰,或啟用開關已關閉。請開啟 Settings → Providers → OpenAI。 |
開始對話時出現 Open |
尚未儲存金鑰。請重新儲存一把金鑰。 |
Save an Open |
你在沒有儲存金鑰的情況下開啟了開關。請輸入金鑰並按 Save OpenAI settings。 |
儲存後出現模型探索失敗的通知,例如 Open |
端點拒絕了金鑰,或基礎 URL 錯誤。設定已經儲存;請修正金鑰或 URL 後再儲存一次。 |
Open |
該模型不在已儲存的清單中。請檢查 OpenAI model ID 和端點的模型清單,或在 Select Models(選擇模型)中按 Refresh(重新整理)。 |
| 圖片對話沒有可選的模型 | 端點沒有列出任何 gpt- 或 dall- 模型。 |
Open 或其他狀態碼 |
端點拒絕了請求。狀態碼後面會附上端點訊息的前 240 個字元。常見原因是金鑰錯誤、沒有該模型的存取權,或尺寸或品質被拒絕。 |
Open |
中繼無法連到端點。請檢查基礎 URL 和主機的網路。 |
編輯時顯示 The parent generated image is unavailable |
圖片檔案已不在主機上。請從一張新圖片開始。 |
Cannot remove Open |
見關閉或移除金鑰。 |
| OpenAI agent 無法啟動 | 請確認主機上已安裝 Copilot CLI(見 GitHub Copilot),並確認模型與端點相符,包括上面提到的傳輸格式。 |