npm package: @moguw/cc-cli
Description: Claude Code配置管理CLI工具
Author: moguw
Latest version: 3.0.2

# CC CLI - Claude Code 配置管理工具

**Language**: [中文](README.md) | [English](README_EN.md)

[![NPM版本](https://img.shields.io/npm/v/@moguw/cc-cli.svg)](https://www.npmjs.com/package/@moguw/cc-cli)
[![下载量](https://img.shields.io/npm/dm/@moguw/cc-cli.svg)](https://www.npmjs.com/package/@moguw/cc-cli)
![License](https://img.shields.io/badge/license-MIT-green.svg)

一键管理 Claude Code、Codex、Gemini CLI 配置的命令行工具。支持多站点、多 Token/API Key 管理，智能配置合并，WebDAV 云端备份，无需手动修改配置文件。


## 📑 目录

- [✨ 核心功能](#-核心功能)
- [📦 安装使用](#-安装使用)
- [🚀 使用方法](#-使用方法)
- [📋 配置文件说明](#-配置文件说明)

## ✨ 核心功能

### 🎯 三端统一管理

- 📡 **Claude Code API** - 完整的 Claude Code 配置管理
  - 多站点、多 Token 切换
  - 智能配置合并
  - YOLO 模式支持
- 💻 **Codex API** - Claude Code Codex 配置管理
  - 多服务提供商支持
  - Model Providers 管理
  - 官方 OAuth 认证切换
  - YOLO 模式开关
- 🌟 **Gemini CLI** - Google Gemini 配置管理
  - 多 API Key 管理
  - 自定义 Base URL
  - Model 选择

### 🚀 强大功能

- 🔄 **一键切换** - 快速切换不同的 API 站点和 Token/API Key
- 📋 **配置管理** - 查看、添加、编辑、删除配置，完整的 CRUD 操作
- 🔗 **智能合并** - 自动与目标 CLI 配置文件深度合并，保留原有设置
- ⚙️ **完整支持** - 支持所有官方配置项，无缝集成
- 🚀 **YOLO 模式** - 最宽松配置模式（`approval_policy=never`, `sandbox_mode=danger-full-access`）
- 🔔 **智能通知** - 响应完成、工具批准等事件自动推送系统通知
- ☁️ **WebDAV 备份** - 配置文件云端备份与恢复（坚果云、标准 WebDAV 服务）
  - 📁 CC-CLI 配置：`~/.cc-cli/api_configs.json` 等
  - 📁 Claude Code 配置：`settings.json`、`CLAUDE.md`、`agents/`、`commands/`、`skills/`
  - 📁 Codex 配置：`config.toml`、`auth.json`、`AGENTS.md`
  - 📁 Gemini 配置：`.env`、`settings.json`

## 📦 安装使用

```bash
# 全局安装
npm install -g @moguw/cc-cli
```

## 🚀 使用方法

### 启动主菜单

```bash
# 启动交互式主菜单
cc-cli
```

主菜单提供以下功能模块：
- 📡 **Claude Code API** - Claude Code 配置管理
- 💻 **Codex API** - Codex 配置管理
- 🌟 **Gemini API** - Gemini CLI 配置管理
- 🔄 **Backup** - WebDAV 备份与恢复
- 📊 **Status** - 查看当前配置状态
- ❓ **Help** - 帮助文档

### Claude Code API 管理

```bash
# 通过主菜单访问（推荐）
cc-cli  # 选择 "📡 Claude Code API"

# 或使用快捷命令
cc-cli api       # Claude 配置管理
cc-cli apiuse    # 快速切换配置
```

功能包括：
- 🔄 切换配置 - 选择不同站点和 Token
- 📋 查看配置 - 列出所有配置
- ➕ 添加配置 - 添加新的 API 配置
- 📝 编辑配置 - 编辑配置文件
- 🗑️ 删除配置 - 删除站点或 Token
- 🚀 YOLO 模式 - 开启/关闭最宽松模式

### Codex API 管理

```bash
# 通过主菜单访问
cc-cli  # 选择 "💻 Codex API"
```

功能包括：
- 🔄 切换配置 - 选择 Codex 服务提供商
- 📋 查看配置 - 列出所有 Codex 配置
- ➕ 添加配置 - 添加新的 Codex 配置
- 📝 编辑配置 - 编辑 config.toml 和 auth.json
- 🗑️ 删除配置 - 删除 Codex 配置
- 🔐 官方认证 - 切换到 OAuth 认证
- 🚀 YOLO 模式 - 开启/关闭最宽松模式

### Gemini CLI 管理

```bash
# 通过主菜单访问
cc-cli  # 选择 "🌟 Gemini API"
```

功能包括：
- 🔄 切换配置 - 选择 Gemini 站点和 API Key
- 📋 查看配置 - 列出所有 Gemini 配置
- ➕ 添加配置 - 添加新的 Gemini 配置
- 📝 编辑配置 - 编辑 .env 和 settings.json
- 🗑️ 删除配置 - 删除 Gemini 配置

### 其他命令

```bash
# 查看当前配置状态
cc-cli status

# 查看帮助信息
cc-cli --help
```

## 📋 配置文件说明

### 配置文件位置

- **CC-CLI 主配置**：`~/.cc-cli/api_configs.json` 或 `~/.claude/api_configs.json`（兼容旧版）
- **Claude Code 配置**：`~/.claude/settings.json`
- **Codex 配置**：`~/.codex/config.toml` 和 `~/.codex/auth.json`
- **Gemini 配置**：`~/.gemini/.env` 和 `~/.gemini/settings.json`

### 智能配置合并机制

工具采用深度合并策略，自动将你选择的 API 配置与现有的 CLI 设置合并：

1. **保留原有配置** - 所有非 API 相关的配置项保持不变
2. **更新 API 设置** - 仅更新 API 端点、认证信息等
3. **多 Token/Key 支持** - 自动处理单个或多个 Token/API Key
4. **格式规范化** - 自动清理冗余配置，迁移老格式

### api_configs.json 配置格式

```json
{
  "sites": {
    "示例站点": {
      "url": "https://api.example.com",
      "description": "支持 Claude Code、Codex 和 Gemini",

      // Claude Code API 配置
      "claude": {
        "env": {
          "ANTHROPIC_BASE_URL": "https://api.example.com",
          "ANTHROPIC_AUTH_TOKEN": {
            "主力Token": "sk-ant-xxxxxxxxxxxxxx",
            "备用Token": "sk-ant-yyyyyyyyyyyyyy"
          }
        }
      },

      // Codex API 配置
      "codex": {
        "OPENAI_API_KEY": {
          "主要Key": "sk-xxxxxxxxxxxxxx",
          "测试Key": "sk-yyyyyyyyyyyyyy"
        },
        "model": "gpt-5",
        "model_reasoning_effort": "high",
        "model_providers": {
          "custom_provider": {
            "name": "custom_provider",
            "base_url": "https://api.example.com/v1"
          }
        }
      },

      // Gemini CLI 配置
      "gemini": {
        "GOOGLE_GEMINI_BASE_URL": "https://jp.duckcoding.com",
        "GEMINI_API_KEY": {
          "Key1": "AIzaSyxxxxxxxxxxxxxx",
          "Key2": "AIzaSyyyyyyyyyyyyyyyyy"
        },
        "GEMINI_MODEL": "gemini-2.5-pro"
      }
    }
  },

  // 当前使用的配置（自动管理，无需手动编辑）
  "currentConfig": {
    "site": "示例站点",
    "token": "sk-ant-xxxxxxxxxxxxxx",
    "tokenName": "主力Token",
    "updatedAt": "2025-01-01T00:00:00.000Z"
  },
  "currentCodexConfig": {
    "site": "示例站点",
    "key": "sk-xxxxxxxxxxxxxx",
    "keyName": "主要Key",
    "updatedAt": "2025-01-01T00:00:00.000Z"
  },
  "currentGeminiConfig": {
    "siteName": "示例站点",
    "model": "gemini-2.5-pro",
    "apiKey": "AIzaSyxxxxxxxxxxxxxx",
    "apiKeyName": "Key1",
    "baseUrl": "https://jp.duckcoding.com",
    "updatedAt": "2025-01-01T00:00:00.000Z"
  }
}
```

### Token/API Key 格式支持

所有 API 配置都支持两种 Token/Key 格式：

**对象格式（推荐，支持多个）：**
```json
"ANTHROPIC_AUTH_TOKEN": {
  "Token1": "sk-ant-xxxxxxxxxxxxxx",
  "Token2": "sk-ant-yyyyyyyyyyyyyy"
}
```

**字符串格式（单个，自动命名为"默认Token"）：**
```json
"ANTHROPIC_AUTH_TOKEN": "sk-ant-xxxxxxxxxxxxxx"
```

## ⭐ Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Mieluoxxx/cc-cli&type=Date)](https://star-history.com/#Mieluoxxx/cc-cli&Date)

---