跳至主要內容

Graph Copilot

Graph Copilot 是編輯器的代理工作台(agent workbench)外掛。它以對話建立與編輯圖:用自然語言描述需求,AI 就會新增節點、連接連接埠並設定參數,每一批操作都是一個復原步驟。它也能在你同意後執行目前的圖、在圖的記憶體複本上執行有範圍限制的實驗研究,並保留可瀏覽的對話記錄。

:::note 可用性 Graph Copilot 建構於兩項 CodefyUI 功能之上:外掛前端擴充 API 與統一的 LLM 代理端點(/api/llm/chat)。兩者皆自 CodefyUI 1.3.0 起內建。若 cdui --version 顯示更舊的版本,請先執行 cdui update 再安裝。 :::

安裝​

cdui plugin install graph-copilot

你也可以在編輯器中開啟外掛中心,從目錄安裝 graph-copilot。透過外掛中心安裝後,面板會立即載入。從終端機安裝後,請按 F5 重新載入編輯器。Graph Copilot 面板會以浮動小工具的形式出現在編輯器中。

外掛原始碼與問題回報:github.com/CodefyUI/CodefyUI-Plugin-Graph-Copilot

快速上手​

  1. 依上述步驟安裝外掛。
  2. 點擊編輯器右下角的 Graph Copilot 按鈕(對話泡泡圖示),開啟面板。
  3. 點擊 Settings(齒輪圖示),選擇提供者並貼上你的 API 金鑰。若要使用 OpenAI Codex (ChatGPT),請點擊 Sign in,並在開啟的分頁中授權。接著選擇模型;使用 Refresh 可取得提供者的模型清單。
  4. 在輸入框輸入需求,例如 建立一個小型 MLP 分類器,按 Enter。
  5. AI 串流輸出計畫時,會在畫布上新增並連接節點。按 Ctrl+Z 可復原它最後一批操作,或再送出訊息來調整結果。

瀏覽器會儲存提供者與金鑰,所以只需設定一次。以下章節說明各項功能。

面板檢視​

面板有四個檢視,可用面板上方的按鈕切換:

  • Chat:與代理的對話。
  • Lab:從 Chat 執行的實驗研究,以及從檔案匯入的研究(Import portable study)。研究會在目前圖的記憶體複本上執行每個變體,並將結果排名。只有在你要求代理套用勝出的變體,而且它只改參數時,畫布才會改變:此時會以一個復原步驟套用;研究執行期間圖若有變動,就不會套用。
  • History:先前的對話。點擊其中一筆即可接續,或用 + New chat 開始新對話。
  • Settings:提供者、模型與推理強度、API 金鑰或登入,以及執行完成通知。

選擇 LLM 提供者​

點擊 Graph Copilot 面板中的 Settings(齒輪)圖示,以設定提供者與金鑰。

提供者說明
OpenAI API使用標準 https://api.openai.com/v1 端點,需要 OpenAI API 金鑰,按 token 計費。
OpenAI Codex (ChatGPT)透過 Codex CLI 的 PKCE flow 與 client ID,使用 ChatGPT 帳號進行 OAuth 登入。它會使用 ChatGPT 訂閱配額而非 API credit,並受 ChatGPT 使用上限與 OpenAI 條款約束。token 儲存在伺服器上,位於 user-data 目錄下的 llm/codex_auth.json。所有使用該伺服器的人共用一個登入帳號,而 Sign out 會清除所有人的 token。OAuth callback 會在伺服器行程中監聽 localhost:1455(或 1457)。請在 5 分鐘內,使用執行伺服器那台機器上的瀏覽器完成登入。
OpenRouter在單一金鑰下彙整多個提供者。代理會將請求送到 https://openrouter.ai/api/v1;請選擇你偏好的模型。
Claude API透過 CodefyUI 代理存取 Anthropic API。代理會轉換 OpenAI 相容格式的 request。需要 Anthropic API 金鑰。
Custom (OpenAI-compatible)任何實作 OpenAI /chat/completions endpoint 的伺服器。例如,你可以使用位於 http://localhost:11434/v1 的本機 Ollama instance。請設定 base URL,並在需要時填入金鑰。

代理也提供 POST /api/llm/models,供 Refresh 列出提供者的模型。POST /api/llm/codex/login、GET /api/llm/codex/status 與 POST /api/llm/codex/logout 用於 ChatGPT 登入。相同控制項也位於 設定 → LLM 提供者。只有 OpenAI API 與 OpenAI Codex (ChatGPT) 會使用 reasoning_effort。這個值必須是 1–64 個字元,只能包含小寫字母、數字、_ 或 -,並以字母開頭;其他值對每個提供者都會回傳 422。代理會對 OpenAI Codex (ChatGPT) 拒絕 ultra(400),其他值則原樣轉送。編輯器會提供這些 POST routes 所需的 session token。

金鑰處理​

API 金鑰會以 Graph Copilot 專用的 namespace 儲存在 localStorage。每次 request 都會將選擇的金鑰送到本機 CodefyUI 後端。/api/llm/chat 會把金鑰與訊息轉送給設定的提供者,再將 response 串流回來。它不會記錄或持久化金鑰與訊息。每個提供者都有固定的上游主機;只有 Custom 會使用你提供的 base URL。這些金鑰與環境變數 CODEFYUI_OPENAI_API_KEY / OPENAI_API_KEY 和 CODEFYUI_ANTHROPIC_API_KEY / ANTHROPIC_API_KEY 分開;只有 LLMChat 節點會讀取這些環境變數,代理一個也不會讀取。

使用方式​

發送請求​

在聊天輸入框中輸入需求,按 Enter(或點擊 Send)。範例:

  • "新增一個含 ReLU 活化函數的兩層 MLP"
  • "將 CrossEntropy 節點連接到最後一個 Linear 的輸出"
  • "將 Linear-1 的 hidden size 設為 512"

AI 會先回傳計畫,再套用操作。每次工具呼叫會在回覆下方顯示為一個步驟,例如 Edit graph 搭配 add_node ×2, connect ×1,並顯示是否成功。

對話記錄​

對話儲存在瀏覽器中(Graph Copilot 專用 namespace 的 localStorage),最新的在前,最多 50 筆;超過時會刪除最舊的一筆。對話不與特定圖綁定。開啟編輯器時會開始新對話;要接續先前的對話,請開啟 History。

中止與重試​

在串流過程中點擊 Stop 可取消進行中的請求;已經串流出來的文字會留在對話中。請求失敗時,面板會顯示 Request failed 與 Retry 按鈕,點擊後會重新送出你的上一則訊息及其附件。

復原 AI 編輯​

AI 每套用一批操作就是一個復原快照。按一次 Ctrl+Z(macOS 上為 Cmd+Z)即可復原最後一批。AI 在同一則回覆中自我修正時會套用不只一批操作,每一批都需要各按一次 Ctrl+Z。

伺服器端的研究​

Lab 在啟動研究的頁面中執行研究,因此關閉該分頁會停止研究。CodefyUI 另外提供伺服器端的 study:分頁關閉後仍會繼續執行、伺服器重新啟動後依然存在、會強制執行預算,並列在 Studies 面板中。外掛透過外掛 job route(以 kind: "study" 呼叫 POST /api/plugins/graph-copilot/jobs,列在 API 參考)把研究交給伺服器。外掛的對話仍負責規劃實驗並請你核准;伺服器負責執行核准的計畫。讓 Lab 改用這些 route 是外掛自己儲存庫中的變更,在外掛發佈這項變更之前,Lab 仍如上所述在頁面中執行。

使用技巧​

  • 提供你正在建構的內容背景:「我正在建構一個採用 ResNet 骨幹網路的視覺分類器」有助於 AI 做出更好的選擇。
  • 若 AI 新增了不在你節點面板中的節點類型,該操作會被跳過並回報——請先使用 cdui plugin install 安裝所需的外掛包。
  • Graph Copilot 在每次請求前會讀取目前的圖表狀態與完整節點面板,因此它知道有哪些類型可用,以及畫布上已有什麼。

另請參閱​