Jeffery 7ee6921c63
CI / Release Tag Version (pull_request) Successful in 3s
CI / Codex (pull_request) Successful in 20s
fix(codex): 改以 codex exec 真實往返驗證登入,移除直接解析 OAuth token
不再解析 auth.json 的 id_token 來取得 email(只證明 secret 解得開、
無法確保工具真的登入成功)。改為透過 codex exec 實際呼叫模型:登入無效
或 token 過期時 codex exec 會直接失敗,CI 再以 steps.codex.outputs.text
是否為空做最終把關。action 移除 email output,保留 -s danger-full-access
以避免 runner 容器內 bubblewrap 沙箱失敗。
2026-06-29 12:35:35 +08:00

Codex CLI Composite Action

此 repository 提供一個 Gitea/GitHub Actions composite action,用於安裝 Codex CLI、寫入 OAuth token、執行指定提示詞,並將 CLI 輸出寫入 action output。

專案列表

專案描述

專案名稱 專案描述
codex 提供 Codex CLI composite action,讓 workflow 可透過 oauthprompt 輸入執行 CLI,並從 repository variable 讀取模型名稱後取得文字輸出。

參考專案

專案名稱 參考專案列表
codex

NuGet 套件

專案名稱 NuGet 套件列表
codex

功能列表

此 repository 未包含可列入 README 的 public method、public constructor、public extension method 或 public operator。

使用範例

在 workflow 中呼叫 Codex CLI

以下範例示範在 workflow step 中呼叫此 composite action,傳入 OAuth token 與提示詞,並在後續步驟讀取 text output。模型名稱由 action 直接讀取 vars.CODEX_MODEL

- name: 執行 Codex CLI
  id: codex
  uses: https://gitea.jsc.idv.tw/composite-actions/codex@v1
  with:
    oauth: ${{ secrets.CODEX_OAUTH }}
    prompt: "請自我介紹"

- name: 使用輸出文字
  run: printf '%s\n' '${{ steps.codex.outputs.text }}'

前置條件:

  • secrets.CODEX_OAUTH 必須是 Codex OAuth token 檔案內容的 base64 字串。
  • vars.CODEX_MODEL 必須是 Codex CLI 可用的模型名稱。
  • runner 必須可透過 npm 安裝 @openai/codex

預期結果:

  • action 會安裝 codex CLI。
  • action 會將 OAuth token 寫入 $HOME/.codex/auth.json 並設定檔案權限為 600
  • action 會執行 codex exec --model "$MODEL" "$PROMPT",並把 stdout 寫入 steps.codex.outputs.text
2026-06-29 10:19:04 +00:00
Languages
Python 100%