Codex CLI Composite Action

提供一個 Gitea/GitHub Actions composite action,用於安裝 Codex CLI、寫入 OAuth token、執行指定提示詞,並將 CLI 輸出寫入 action output;另提供透過 codex app-server 取得目前登入帳號 email 的工具函式。

更新時間:2026/06/29 14:18:26

專案列表

專案描述

專案名稱 專案描述
codex 提供 Codex CLI composite action(安裝 @openai/codex、寫入 OAuth token、執行提示詞並輸出文字),並提供透過 codex app-server JSON-RPC account/read 取得目前登入帳號 email 的工具函式。

參考專案

專案名稱 參考專案列表
codex

NuGet 套件

專案名稱 NuGet 套件列表
codex

功能列表

codex

功能名稱 功能描述
codex_account.read_account_email 透過 codex app-server 的 JSON-RPC account/read 取得目前登入帳號的 email,取不到或逾時回傳空字串。

使用範例

codex_account.read_account_email

透過 codex app-server 的 JSON-RPC account/read 取得目前登入帳號的 email。函式會啟動 codex app-server 子行程,依序送出 initialize / initialized / account/read 三筆 JSON-RPC 訊息,讀取回應中 result.account.email 作為回傳值;讀到 EOF、JSON 解析失敗或超過 timeout_seconds 逾時都會停止,取不到時回傳空字串 "",且不論成功或失敗都會在 finally 終止子行程。

簽名:

def read_account_email(timeout_seconds: float = 25.0) -> str

前置條件:

  • codex CLI 已安裝(例如本 action 的安裝步驟已執行)。
  • $HOME/.codex/auth.json 已寫入有效的 OAuth token。

典型呼叫方式:

from app.codex_account import read_account_email

# 取得目前登入帳號 email;可自訂等待 app-server 回應的逾時秒數
email = read_account_email(timeout_seconds=25.0)
if email:
    print(f"目前登入帳號:{email}")
else:
    print("取不到登入帳號(未登入或逾時)")

預期結果:

  • 成功時回傳登入帳號的 email 字串。
  • 未登入、回應缺漏或逾時時回傳空字串 ""

此模組亦可直接以指令執行,會將 email 印到 stdout(取不到時印空字串):

python3 app/codex_account.py
2026-06-29 10:19:04 +00:00
Languages
Python 100%