Skip to content

Repository files navigation

Codex Desktop for Linux

一個以 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。

1. 安裝 Linux 系統相依套件

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

2. 安裝 OpenAI Codex CLI

OpenAI 官方目前建議 macOS/Linux 使用獨立安裝器:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

重新開啟終端後驗證:

codex --version

若顯示找不到指令,依安裝器提示將 Codex 的安裝目錄加入 PATH,再重新登入桌面工作階段。

官方說明:Codex CLI

3. 登入 Codex

在終端執行:

codex

第一次啟動時選擇 Sign in with ChatGPT,或選擇帳號可用的其他登入方式。依瀏覽器畫面完成授權後,退出 CLI 即可;Codex Desktop 會共用相同的登入狀態。

4. 下載本專案

git clone https://github.com/Xiang108/codex-desktop-linux.git
cd codex-desktop-linux

如果是直接下載 ZIP,解壓縮後進入該資料夾即可。

5. 安裝 Codex Desktop

chmod +x install.sh uninstall.sh codex_desktop.py
./install.sh

安裝腳本會:

  1. 檢查 Python、GTK 與 Codex CLI。
  2. 安裝程式至 ~/.local/share/codex-desktop/
  3. 建立 ~/.local/share/applications/codex-desktop.desktop
  4. 若存在 ~/Desktop,建立桌面捷徑。
  5. 嘗試將 GNOME 桌面捷徑標記為可信任。

安裝完成後,可從應用程式選單搜尋 Codex Desktop,或雙擊桌面捷徑。

如果 GNOME 第一次仍顯示安全提示,右鍵桌面圖示並選擇「允許啟動」。

Codex 設定

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。不要在不理解風險時選擇完整存取。

桌面版使用方式

開始第一個對話

  1. 啟動 Codex Desktop
  2. 點左側「工作資料夾」選擇專案。
  3. 模型欄位留空可使用 Codex CLI 的預設模型。
  4. 選擇推理強度與檔案操作權限。
  5. 在下方輸入需求。
  6. Enter 或「送出」。使用 Shift+Enter 換行。

多對話平行工作

  1. 送出第一個任務後,點「新對話」。
  2. 在新對話送出另一個任務。
  3. 兩個 Codex CLI 程序會同時在背景執行。
  4. 點左側最近對話可切換畫面,不會中止其他工作。

側欄狀態:

  • 執行中
  • 已完成
  • 失敗
  • 已停止

「停止」只會停止目前選取的對話;關閉整個應用程式會停止所有仍在執行的背景工作。

附加檔案與圖片

  • 點「選擇檔案」可選擇多個檔案。
  • 在輸入框按 Ctrl+V 可貼上剪貼簿圖片。
  • 也可按「貼上圖片」讀取剪貼簿圖片。
  • 圖片會顯示縮圖;點縮圖可查看原圖。
  • 點附件右側 × 可在送出前移除。
  • 圖片使用 Codex CLI 原生圖片輸入。
  • 200 KB 以下的文字/程式碼檔會加入訊息內容;較大或非文字檔會請 Codex依路徑讀取。

Git 變更與專案工具

  • 右側「變更」顯示目前分支、git status --shortgit diff --stat
  • Codex 完成工作後會自動刷新。
  • 右上角終端按鈕會在專案資料夾開啟 GNOME Terminal。
  • 「開啟」會用系統檔案管理員開啟專案。

從原始碼直接執行

不安裝桌面捷徑也可以執行:

python3 codex_desktop.py

更新

cd 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: command not found

重新執行官方安裝器,並確認新的終端可以執行 codex --version。如果終端可執行、桌面版卻找不到,請登出再登入 GNOME,讓桌面工作階段重新載入 PATH

桌面捷徑被文字編輯器開啟

右鍵桌面捷徑並選擇「允許啟動」,或執行:

gio set "$HOME/Desktop/Codex-Desktop.desktop" metadata::trusted true
chmod +x "$HOME/Desktop/Codex-Desktop.desktop"

找不到 GTK/No module named gi

sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0

不要優先用 pip install gi;Ubuntu/Debian 的 GTK bindings 應由系統套件管理器安裝。

非 GNOME 桌面環境

聊天功能仍可使用。若終端按鈕無效,可將 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 儲存。
  • 選擇完整存取前,請確認工作內容與資料風險。

License

MIT License

About

A native GTK desktop interface for OpenAI Codex CLI on Linux

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages