5.1 配置文件说明

CC Switch 数据存储

存储目录

默认位置:~/.cc-switch/

可在设置中自定义位置(用于云同步)。

目录结构

~/.cc-switch/
├── cc-switch.db      # SQLite 数据库(SSOT)
├── settings.json     # 设备级设置
├── skills/           # 技能 SSOT 目录
├── skill-backups/    # 技能备份(卸载时创建)
└── backups/          # 数据库备份

数据库内容

cc-switch.db 是 SQLite 数据库,存储:

内容
providers供应商配置
provider_endpoints供应商端点候选列表
mcp_serversMCP 服务器配置
prompts提示词预设
skills技能安装状态
skill_repos技能仓库配置
proxy_config代理配置
proxy_request_logs代理请求日志
provider_health供应商健康状态
model_pricing模型定价
settings应用设置

设备设置

settings.json 存储设备级设置:

{
  "language": "zh",
  "theme": "system",
  "windowBehavior": "minimize",
  "autoStart": false,
  "claudeConfigDir": null,
  "codexConfigDir": null,
  "geminiConfigDir": null,
  "opencodeConfigDir": null,
  "openclawConfigDir": null,
  "hermesConfigDir": null
}

这些设置不会跨设备同步。

自动备份

backups/ 目录存储自动备份:

Claude Code 配置

配置目录

默认:~/.claude/

主要文件

~/.claude/
├── settings.json     # 主配置文件
├── CLAUDE.md         # 系统提示词
└── skills/           # 技能目录
    └── ...

settings.json

{
  "env": {
    "ANTHROPIC_API_KEY": "sk-xxx",
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com"
  },
  "permissions": {
    "allow_file_access": true
  }
}
字段说明
env.ANTHROPIC_API_KEYAPI 密钥
env.ANTHROPIC_BASE_URLAPI 端点(可选)
env.ANTHROPIC_AUTH_TOKEN替代认证方式

MCP 配置

MCP 服务器配置在 ~/.claude.json

{
  "mcpServers": {
    "mcp-fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

Codex 配置

配置目录

默认:~/.codex/

主要文件

~/.codex/
├── auth.json         # 认证配置
├── config.toml       # 主配置 + MCP
└── AGENTS.md         # 系统提示词

auth.json

{
  "OPENAI_API_KEY": "sk-xxx"
}

config.toml

# 基础配置
base_url = "https://api.openai.com/v1"
model = "gpt-4"

# MCP 服务器
[mcp_servers.mcp-fetch]
command = "uvx"
args = ["mcp-server-fetch"]

Gemini CLI 配置

配置目录

默认:~/.gemini/

主要文件

~/.gemini/
├── .env              # 环境变量(API Key)
├── settings.json     # 主配置 + MCP
└── GEMINI.md         # 系统提示词

.env

GEMINI_API_KEY=xxx
GOOGLE_GEMINI_BASE_URL=https://generativelanguage.googleapis.com
GEMINI_MODEL=gemini-pro

settings.json

{
  "mcpServers": {
    "mcp-fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}
字段说明
mcpServersMCP 服务器配置

OpenCode 配置

配置目录

默认:~/.config/opencode/

主要文件

~/.config/opencode/
├── opencode.json     # 主配置文件
├── AGENTS.md         # 系统提示词
└── skills/           # 技能目录
    └── ...

Hermes 配置

配置目录

默认:~/.hermes/

主要文件

~/.hermes/
├── config.yaml       # 主设置、供应商与 MCP 配置
├── .env              # API keys 与 secrets
├── SOUL.md           # Profile 身份/人格
├── memories/
│   ├── MEMORY.md     # Agent 记忆
│   └── USER.md       # 用户画像记忆
├── skills/           # 活跃技能目录
├── state.db          # SQLite 会话数据库
└── sessions/         # Gateway 转录与可选 JSON 快照

config.yaml

Hermes 使用 YAML 配置。CC Switch 将 MCP 服务器写入 mcp_servers,将可编辑的供应商条目写入 custom_providers,读取 Hermes providers 字典中的只读条目,并在切换供应商时更新 model.provider / model.default

OpenClaw 配置

配置目录

默认:~/.openclaw/

主要文件

~/.openclaw/
├── openclaw.json     # 主配置文件(JSON5 格式)
└── skills/           # 技能目录
    └── ...

openclaw.json

OpenClaw 使用 JSON5 格式配置文件,主要包含以下部分:

{
  // 模型供应商配置
  models: {
    mode: "merge",
    providers: {
      "custom-provider": {
        baseUrl: "https://api.example.com/v1",
        apiKey: "your-api-key",
        api: "openai-completions",
        models: [{ id: "model-id", name: "Model Name" }]
      }
    }
  },
  // 环境变量
  env: {
    ANTHROPIC_API_KEY: "sk-..."
  },
  // Agent 默认配置
  agents: {
    defaults: {
      model: {
        primary: "provider/model"
      },
      workspace: "~/.openclaw/workspace"
    }
  },
  // 工具配置
  tools: {}
}
字段说明
models.providers供应商配置(映射为 CC Switch 的"供应商")
env环境变量配置
agents.defaultsAgent 默认模型设置
tools工具配置
agents.defaults.workspace工作区目录路径

配置优先级

CC Switch 修改配置时的优先级:

  1. CC Switch 数据库 - 单一事实源 (SSOT)
  2. Live 配置文件 - 切换供应商时写入
  3. 回填机制 - 编辑当前供应商时从 Live 文件读取

手动编辑配置

可以手动编辑

不建议手动编辑

编辑后同步

如果手动编辑了 CLI 工具的配置:

  1. 打开 CC Switch
  2. 编辑对应的供应商
  3. 会看到手动修改的内容已回填
  4. 保存以同步到数据库

配置迁移

从旧版本迁移

CC Switch v3.7.0 从 JSON 文件迁移到 SQLite:

跨设备迁移

  1. 在源设备导出配置
  2. 在目标设备导入配置
  3. 或使用云同步功能

配置备份建议

定期备份

建议定期导出配置:

  1. 设置 → 高级 → 数据管理
  2. 点击「导出」
  3. 保存到安全位置

备份内容

导出文件包含:

不包含的内容