0xcaff/codex-web

a browser frontend for codex desktop, running on a machine you control.

什麼是 codex‑web

codex‑web 是一個輕量級的 Node.js 包裝器,為 Codex Desktop AI 代理平台提供瀏覽器介面,讓您從任何裝置控制代理,而後端則在您信任的機器上執行(如筆電、家庭伺服器、雲端虛擬機等)。

實際上它:

  1. 啟動一個 Node.js 伺服器,提供網頁介面。
  2. 將該介面連接到 codex CLI(Codex Desktop 代理平台的命令列客戶端)。
  3. 將重負載任務——檔案存取、憑證使用、命令執行——保留在主機上,而非在瀏覽器中執行。

結果是一個輕量級的包裝器,使原本僅限桌面的體驗可透過手機、平板或任何遠端電腦存取,而無需在這些裝置上安裝完整的桌面介面。


為什麼它存在?

原始的 Codex Desktop 在終端機視窗中執行,對於長時間運行的代理或在未安裝桌面客戶端的裝置上使用該工具來說非常不便。透過將介面透過 HTTP 暴露,您可以:

  • 關閉筆電後仍讓代理持續運行。
  • 從任何具備瀏覽器的裝置重新連接。
  • 將後端保留在可信機器上,保留對本機檔案、憑證和已登入的 OpenAI 帳戶的存取權限。

如何啟動它

  1. 先決條件 – 在主機上安裝並登入 codex CLI(使用 codex login --device-auth)。
  2. 啟動伺服器 – 可透過 npx 或 Nix 啟動:
    npx --yes github:0xcaff/codex-web   # 一行指令,無需安裝
    # 或者
    nix run github:0xcaff/codex-web
    
  3. 在瀏覽器中開啟 http://127.0.0.1:8214(或您設定的位址)。

高階:代理至外部應用伺服器

如果您希望 Codex 應用伺服器 獨立於 web 包裝器運行(這樣 codex‑web 崩潰不會導致代理程序終止),可以手動啟動應用伺服器,並使用提供的 codex_remote_proxy 腳本將 codex‑web 指向其 Unix 套接字。README 中包含確切的指令序列。


安全考量

由於 Web 介面可執行主機使用者能執行的任何命令,任何能存取伺服器的網路對等方將獲得對主機的完全控制權。建議:

  • 僅在可信網路中執行伺服器。
  • 將其置於 VPN、WireGuard、Tailscale 或 SSH 隧道之後。
  • 如需更嚴格的存取控制,可添加外部反向代理或驗證閘道。

目前功能

  • 支援 macOS、Linux 及任何可執行 codex CLI + Node 的平台。
  • 基於瀏覽器的介面(輕量包裝器,更新迅速)。
  • 支援 Codex Desktop 的功能,例如:
    • 子代理 – 可啟動其他代理的代理。
    • 內嵌影像 – 在 UI 中直接顯示視覺輸出。
    • 編輯器側邊欄 – 嵌入在網頁檢視中的程式碼編輯器。
    • 語音轉文字 – 語音到文字的整合。

開發路線圖(尚缺功能)

  • 瀏覽器面板 – 可能使用 iframe 嵌入額外的網頁內容。
  • Linux 電腦使用整合 – 使代理能控制 Linux 桌面。
  • 終端機支援 – 透過瀏覽器實現互動式 shell 存取。
  • Git 工作器整合 – 更緊密的 Git 操作支援。
  • 由社群主導的一般性改進。

適合誰?

  • 已經使用 Codex Desktop 並希望獲得可攜式、基於瀏覽器介面的開發者。
  • 需要代理在中央、始終在線的機器上執行,而使用者可從任何地方互動的團隊。
  • 能夠處理透過網路暴露強大本地代理所帶來的安全影響的人。

提及的替代方案

  • pocodex – 早期專案,缺少子代理和內嵌影像支援。
  • Codex Remote(內建功能旗標) – 透過 SSH 工作,但需要客戶端安裝桌面客戶端,因此不支援行動裝置。
  • OpenAI 即將推出的行動應用 – 尚未發布;codex‑web 目前填補了此空白。

如何貢獻或取得協助

  • 在倉儲中開啓 Issue 報告錯誤或提出功能需求。
  • 在 X(Twitter)上分享有趣的使用案例,並標記 @0xcaff
  • 對於商業或高度客製化部署,作者歡迎透過電子郵件直接聯繫。

總結

codex‑web 是一個極簡的 Node.js 伺服器,將 Codex Desktop AI 代理平台轉變為可在瀏覽器中存取的介面,同時將所有執行保留在可信主機上。它適用於遠端、行動或多裝置存取,但您必須保護伺服器,因為任何能存取它的人都能完全控制主機。

相關

  • 專案
  • 專案
  • 專案
  • 專案