一個以 Python、GTK 3 製作的 OpenAI Codex CLI 圖形桌面介面。它共用 Codex CLI 的登入、設定與 session 紀錄,提供類似桌面工作區的專案選擇、聊天、附件、Git 變更檢視,以及多對話平行執行。
這是社群製作的非官方介面,不是 OpenAI 官方 ChatGPT/Codex 桌面應用程式。使用前仍須安裝 OpenAI Codex CLI。
- 選擇本機專案或工作資料夾
- 圖形化聊天介面,不需輸入 CLI 指令
- 多個對話同時在背景執行
- 最近對話、歷史訊息與執行狀態
- 模型、推理強度與檔案權限設定
- 選擇多個附件
Ctrl+V貼上圖片、縮圖預覽及附件移除- Git 分支、未提交檔案與變更統計
- 從目前專案開啟檔案管理員或 GNOME Terminal
- 桌面捷徑與應用程式選單整合
本專案是 Linux 原生 GTK 應用程式,不使用 Electron,也不需要額外的 Python pip 套件。
| 元件 | 需求 | 開發/測試環境 |
|---|---|---|
| 作業系統 | Linux,建議 Ubuntu/Debian GNOME | Ubuntu 20.04 |
| Python | 3.8 以上 | Python 3.8.10 |
| GUI | GTK 3、PyGObject、GdkPixbuf | GTK 3.24.20、GdkPixbuf 2.40.0 |
| Codex | codex 指令可從 PATH 執行 |
codex-cli 0.146.1 |
| Git | 選用;用於右側變更檢視 | Git 2.25.1 |
| 桌面工具 | xdg-open;GNOME Terminal 為選用 |
Ubuntu GNOME |
目前主要針對 Ubuntu/Debian GNOME 測試。其他 GTK 桌面環境通常可以啟動,但整合終端預設使用 gnome-terminal。
以下步驟假設電腦尚未安裝 Codex CLI。
Ubuntu/Debian:
sudo apt update
sudo apt install -y \
python3 \
python3-gi \
gir1.2-gtk-3.0 \
gir1.2-gdkpixbuf-2.0 \
git \
curl \
xdg-utils \
gnome-terminal \
desktop-file-utils驗證 GTK Python bindings:
python3 -c 'import gi; gi.require_version("Gtk", "3.0"); from gi.repository import Gtk; print(Gtk.get_major_version())'應輸出 3。
OpenAI 官方目前建議 macOS/Linux 使用獨立安裝器:
curl -fsSL https://chatgpt.com/codex/install.sh | sh重新開啟終端後驗證:
codex --version若顯示找不到指令,依安裝器提示將 Codex 的安裝目錄加入 PATH,再重新登入桌面工作階段。
官方說明:Codex CLI
在終端執行:
codex第一次啟動時選擇 Sign in with ChatGPT,或選擇帳號可用的其他登入方式。依瀏覽器畫面完成授權後,退出 CLI 即可;Codex Desktop 會共用相同的登入狀態。
git clone https://github.com/Xiang108/codex-desktop-linux.git
cd codex-desktop-linux如果是直接下載 ZIP,解壓縮後進入該資料夾即可。
chmod +x install.sh uninstall.sh codex_desktop.py
./install.sh安裝腳本會:
- 檢查 Python、GTK 與 Codex CLI。
- 安裝程式至
~/.local/share/codex-desktop/。 - 建立
~/.local/share/applications/codex-desktop.desktop。 - 若存在
~/Desktop,建立桌面捷徑。 - 嘗試將 GNOME 桌面捷徑標記為可信任。
安裝完成後,可從應用程式選單搜尋 Codex Desktop,或雙擊桌面捷徑。
如果 GNOME 第一次仍顯示安全提示,右鍵桌面圖示並選擇「允許啟動」。
Codex 的個人設定檔位於:
~/.codex/config.toml
專案也可以使用:
專案根目錄/.codex/config.toml
官方文件指出,CLI 參數優先於專案與個人設定。Codex Desktop 的模型、推理強度與權限選單會在每次送出時以 CLI 參數套用,因此會覆蓋對應的 config.toml 預設值。
基本範例:
# 留給 Codex 自動選擇模型時,可以省略 model。
# model = "gpt-5.6"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"設定說明:Codex Config basics
桌面介面提供三種檔案權限:
- 唯讀:Codex 可以檢查內容,但不能修改工作資料夾。
- 可修改工作資料夾:建議預設值;允許修改目前專案。
- 完整存取:可存取工作資料夾外的檔案,風險最高。
在重要專案使用 Codex 前,建議先提交 Git checkpoint。不要在不理解風險時選擇完整存取。
- 啟動 Codex Desktop。
- 點左側「工作資料夾」選擇專案。
- 模型欄位留空可使用 Codex CLI 的預設模型。
- 選擇推理強度與檔案操作權限。
- 在下方輸入需求。
- 按
Enter或「送出」。使用Shift+Enter換行。
- 送出第一個任務後,點「新對話」。
- 在新對話送出另一個任務。
- 兩個 Codex CLI 程序會同時在背景執行。
- 點左側最近對話可切換畫面,不會中止其他工作。
側欄狀態:
●執行中✓已完成⚠失敗■已停止
「停止」只會停止目前選取的對話;關閉整個應用程式會停止所有仍在執行的背景工作。
- 點「選擇檔案」可選擇多個檔案。
- 在輸入框按
Ctrl+V可貼上剪貼簿圖片。 - 也可按「貼上圖片」讀取剪貼簿圖片。
- 圖片會顯示縮圖;點縮圖可查看原圖。
- 點附件右側
×可在送出前移除。 - 圖片使用 Codex CLI 原生圖片輸入。
- 200 KB 以下的文字/程式碼檔會加入訊息內容;較大或非文字檔會請 Codex依路徑讀取。
- 右側「變更」顯示目前分支、
git status --short與git diff --stat。 - Codex 完成工作後會自動刷新。
- 右上角終端按鈕會在專案資料夾開啟 GNOME Terminal。
- 「開啟」會用系統檔案管理員開啟專案。
不安裝桌面捷徑也可以執行:
python3 codex_desktop.pycd codex-desktop-linux
git pull
./install.sh更新 Codex CLI:
curl -fsSL https://chatgpt.com/codex/install.sh | sh./uninstall.sh移除腳本不會刪除 Codex CLI、~/.codex/config.toml、登入資訊或歷史 session。
重新執行官方安裝器,並確認新的終端可以執行 codex --version。如果終端可執行、桌面版卻找不到,請登出再登入 GNOME,讓桌面工作階段重新載入 PATH。
右鍵桌面捷徑並選擇「允許啟動」,或執行:
gio set "$HOME/Desktop/Codex-Desktop.desktop" metadata::trusted true
chmod +x "$HOME/Desktop/Codex-Desktop.desktop"sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0不要優先用 pip install gi;Ubuntu/Debian 的 GTK bindings 應由系統套件管理器安裝。
聊天功能仍可使用。若終端按鈕無效,可將 codex_desktop.py 中的 gnome-terminal 改成桌面環境使用的終端程式。
codex-desktop-linux/
├── codex_desktop.py # GTK 桌面應用程式
├── codex-desktop.desktop.in # Linux desktop entry 範本
├── install.sh # 使用者層級安裝腳本
├── uninstall.sh # 移除腳本
├── .gitignore
├── LICENSE
└── README.md
- 對話與登入資訊由 Codex CLI 儲存在使用者的
~/.codex/。 - 貼上的圖片暫存在
~/.cache/codex-desktop/pasted-images/。 - 本介面不會建立另一份 OpenAI API key 儲存。
- 選擇完整存取前,請確認工作內容與資料風險。