#!/bin/bash
# ========================================================
# Codex 编程代理 - macOS / Linux 一键配置脚本
# 用法：
#   chmod +x install-mac.sh
#   ./install-mac.sh
# ========================================================

set -e

echo ""
echo "============================================"
echo "   Codex 编程代理 配置向导"
echo "============================================"
echo ""

read -r -p "请粘贴你的 API Key (sk-proxy-...): " API_KEY

if [[ ! "$API_KEY" =~ ^sk-proxy- ]]; then
    echo ""
    echo "[错误] API Key 看起来不对，应该以 sk-proxy- 开头。"
    exit 1
fi

CODEX_DIR="$HOME/.codex"
mkdir -p "$CODEX_DIR"

CONFIG_PATH="$CODEX_DIR/config.toml"
AUTH_PATH="$CODEX_DIR/auth.json"
TS=$(date +%Y%m%d-%H%M%S)

# 备份旧文件
if [ -f "$CONFIG_PATH" ]; then
    cp "$CONFIG_PATH" "$CONFIG_PATH.bak-$TS"
    echo "[备份] 旧 config.toml -> $CONFIG_PATH.bak-$TS"
fi
if [ -f "$AUTH_PATH" ]; then
    cp "$AUTH_PATH" "$AUTH_PATH.bak-$TS"
    echo "[备份] 旧 auth.json -> $AUTH_PATH.bak-$TS"
fi

# 写入 config.toml
cat > "$CONFIG_PATH" <<'CFG'
model_provider = "crs"
model = "gpt-5.5"
model_reasoning_effort = "medium"
disable_response_storage = true
preferred_auth_method = "apikey"

[model_providers.crs]
name = "crs"
base_url = "https://api.aicodeapi.cn"
wire_api = "responses"
requires_openai_auth = true
CFG

# 写入 auth.json
cat > "$AUTH_PATH" <<EOF
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "$API_KEY"
}
EOF

# 连通性测试
echo ""
echo "[测试] 正在连通 https://api.aicodeapi.cn ..."
if curl -fsS https://api.aicodeapi.cn/health -o /tmp/codex_health.txt; then
    echo "[OK] 服务可用：$(cat /tmp/codex_health.txt)"
else
    echo "[警告] 无法连通 https://api.aicodeapi.cn，请检查网络后重试。"
fi

echo ""
echo "============================================"
echo "   配置完成！"
echo "============================================"
echo ""
echo "配置文件位置："
echo "  $CONFIG_PATH"
echo "  $AUTH_PATH"
echo ""
echo "现在你可以打开新的终端，输入："
echo "  codex"
echo ""
