OpenAI Codex CLI
命令助手
按照 Codex CLI 常用配置方式生成脚本:写入 `auth.json` 保存 `OPENAI_API_KEY`, 并更新 `config.toml` 中的 provider、model 与 `base_url`。
配置输入
填写代理地址、API Key 和默认模型,脚本会实时更新。
生成模式
按 Codex 的文件配置习惯,分为安全写入和全量覆盖两类。
当前模式:安全写入
可复制脚本
脚本会优先使用 `CODEX_HOME`,未设置时默认落到 `~/.codex`。
未填写字段:Base URL、API Key。当前预览会自动使用占位符,建议补全后再复制正式脚本。
安全写入55 Lines
set -e
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME"
chmod 700 "$CODEX_HOME" 2>/dev/null || true
umask 077
cat > "$CODEX_HOME/auth.json" <<'EOF'
{
"OPENAI_API_KEY": "sk-your-openai-api-key"
}
EOF
TMP_CONFIG="$(mktemp)"
trap 'rm -f "$TMP_CONFIG"' EXIT
cat > "$TMP_CONFIG" <<'EOF'
# >>> DEVTOOL_CODEX_PROVIDER >>>
cli_auth_credentials_store = "file"
model_provider = "devtool_custom_openai"
model = "gpt-5.4"
model_reasoning_effort = "high"
[model_providers.devtool_custom_openai]
name = "OpenAI via custom proxy"
base_url = "https://your-openai-proxy.example.com/v1"
wire_api = "responses"
requires_openai_auth = true
# <<< DEVTOOL_CODEX_PROVIDER <<<
EOF
printf '\n' >> "$TMP_CONFIG"
if [ -f "$CODEX_HOME/config.toml" ]; then
awk '
BEGIN { skip_block = 0; skip_provider = 0; before_first_table = 1 }
$0 ~ /^# >>> DEVTOOL_CODEX_PROVIDER >>>$/ { skip_block = 1; next }
$0 ~ /^# <<< DEVTOOL_CODEX_PROVIDER <<<$/ { skip_block = 0; next }
skip_block { next }
skip_provider && $0 ~ /^\[/ { skip_provider = 0 }
skip_provider { next }
$0 ~ /^\[model_providers\.devtool_custom_openai\]$/ { skip_provider = 1; next }
before_first_table && $0 ~ /^[[:space:]]*(cli_auth_credentials_store|model_provider|model|model_reasoning_effort)[[:space:]]*=/ { next }
$0 ~ /^\[/ { before_first_table = 0 }
{ print }
' "$CODEX_HOME/config.toml" >> "$TMP_CONFIG"
fi
mv "$TMP_CONFIG" "$CODEX_HOME/config.toml"
trap - EXIT
chmod 600 "$CODEX_HOME/auth.json" "$CODEX_HOME/config.toml"
if command -v codex >/dev/null 2>&1; then
codex login status
else
echo "Codex CLI 未安装,请先执行 npm install -g @openai/codex"
fiauth.json 预览
文件里只放 `OPENAI_API_KEY`。
{
"OPENAI_API_KEY": "sk-your-openai-api-key"
}config.toml 托管块预览
安全写入模式会把这段托管块插入或替换到现有 config.toml。
# >>> DEVTOOL_CODEX_PROVIDER >>>
cli_auth_credentials_store = "file"
model_provider = "devtool_custom_openai"
model = "gpt-5.4"
model_reasoning_effort = "high"
[model_providers.devtool_custom_openai]
name = "OpenAI via custom proxy"
base_url = "https://your-openai-proxy.example.com/v1"
wire_api = "responses"
requires_openai_auth = true
# <<< DEVTOOL_CODEX_PROVIDER <<<