# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## 项目概述 XCodeCLI-Shells 是一个跨平台配置工具集,用于配置 **Claude Code**、**Gemini CLI** 和 **Codex** 三个 AI CLI 工具连接到 XCodeCLI API 路由器。每个工具都有 PowerShell (.ps1) 和 Bash (.sh) 两个版本。 ## 项目结构 ``` xcodecli-shells/ ├── setup.ps1 # Windows 统一启动器 (安装+配置三个工具) ├── setup.sh # Unix 统一启动器 ├── setup-claude-code.ps1/.sh # Claude Code 配置脚本 (根目录副本) ├── ClaudeCode/ │ └── setup-claude-code.ps1/.sh ├── GeminiCLI/ │ └── setup-gemini.ps1/.sh ├── codex/ │ └── setup-codex.ps1/.sh └── docs/ # VitePress 文档站点 ├── .vitepress/config.ts # VitePress 配置 (导航、侧边栏、主题) ├── index.md # 首页 (VitePress home layout, 含 Vue 交互组件) ├── cherry-studio-nanobana.md # Cherry Studio 图文配置教程 ├── assets/ # 文档图片资源 (截图) ├── guide/ │ ├── index.md # 快速开始总览页 │ ├── claude-code.md # Claude Code 单独配置指南 │ ├── gemini-cli.md # Gemini CLI 单独配置指南 │ └── codex.md # Codex 单独配置指南 └── package.json # 文档依赖 (vitepress ^1.5.0) ``` ## 三个工具的配置差异 | 工具 | 配置位置 | 配置格式 | API 认证头 | | ----------- | ------------------------------------ | ----------- | ----------------------- | | Claude Code | `~/.claude/settings.json` | JSON | `Authorization: Bearer` | | Gemini CLI | `~/.gemini/.env` | ENV 文件 | `x-goog-api-key` | | Codex | `~/.codex/config.toml` + `auth.json` | TOML + JSON | `Authorization: Bearer` | ## 工具安装方式差异 | 工具 | 安装方式 | 依赖 | | ---- | ---- | ---- | | Claude Code | 官方原生脚本 `curl -fsSL https://claude.ai/install.sh \| bash` | 无需 Node.js,自动更新 | | Gemini CLI | `npm install -g @google/gemini-cli@latest` | **需要 Node.js >= 20** | | Codex | `npm install -g @openai/codex` | **需要 Node.js >= 20** | ## 统一启动器 (setup.ps1 / setup.sh) 跨平台一站式安装配置工具: - 检测 Node.js 环境,缺失时使用 fnm 安装 (Gemini CLI / Codex 需要) - 显示三个工具的安装状态 - Claude Code 使用官方原生安装脚本 (`curl -fsSL https://claude.ai/install.sh | bash`) - Gemini CLI / Codex 使用 `npm install -g` 安装 (需要 Node.js >= 20) - 下载并执行对应工具的配置脚本 ```powershell # 使用方式 $key='YOUR_API_KEY'; iwr -useb https://gitea.sususu.cf/sususu/xcodecli-shells/raw/branch/main/setup.ps1 | iex ``` ## 通用脚本模式 所有配置脚本共享相同的设计模式: ### 参数接口 - PowerShell: `-ApiKey`, `-Test`, `-Show`, `-Help` - Bash: `--key`, `--test`, `--show`, `--help` - 支持 `$key` 变量 (PowerShell) 或 `$API_KEY` 环境变量 (Bash) ### 智能端点发现 按顺序测试端点,选择第一个可用的: 1. `https://api2.xcodecli.com` 2. `https://api.xcodecli.com` ### 核心流程 1. API 密钥格式验证 (字母数字、连字符、下划线) 2. 调用 `/v1/models` 测试连接 3. 备份现有配置 (时间戳命名) 4. 写入新配置文件 ## 常用开发命令 ```bash # 本地测试脚本 ./setup-claude-code.sh --key test-key --test ./GeminiCLI/setup-gemini.sh --key test-key --test ./codex/setup-codex.sh --key test-key --test # PowerShell 执行 (绕过执行策略) powershell -ExecutionPolicy Bypass -File setup-claude-code.ps1 -ApiKey test-key -Test ``` ## 开发注意事项 ### 脚本一致性 - PowerShell 和 Bash 版本必须功能对等 - 新增端点需同时更新所有 6 个配置脚本 - 输出格式保持一致: `[INFO]`, `[SUCCESS]`, `[WARNING]`, `[ERROR]` ### Bash 脚本依赖 - Claude Code 脚本依赖 `jq` 处理 JSON - Gemini/Codex 脚本使用 `grep` 解析响应,无需 jq ### API 响应格式差异 - Claude/Codex: 检查 `response.data` 或 `response.models` 数组 - Gemini: 检查 `response.models` 数组 (Google API 格式) ## 文档站点 (docs/) 基于 **VitePress** 的静态文档站点,语言为 `zh-CN`。 ### 开发命令 ```bash # 在 docs/ 目录下执行 bun run dev # 本地开发服务器 bun run build # 构建静态站点 bun run preview # 预览构建结果 ``` ### 站点结构 | 页面 | 文件 | 说明 | | ------------- | -------------------------------- | ----------------------------------------------------------------------------- | | 首页 | `docs/index.md` | VitePress home layout,含 Vue `