# 5.1 設定ファイルの説明 ## CC Switch のデータストレージ ### ストレージディレクトリ デフォルトの場所:`~/.cc-switch/` 設定で場所をカスタマイズ可能です(クラウド同期用)。 ### ディレクトリ構造 ``` ~/.cc-switch/ ├── cc-switch.db # SQLite データベース ├── settings.json # デバイスレベルの設定 └── backups/ # 自動バックアップ ├── backup-20251230-120000.json ├── backup-20251229-180000.json └── ... ``` ### データベースの内容 `cc-switch.db` は SQLite データベースで、以下を保存しています: | テーブル | 内容 | |-----|------| | providers | プロバイダー設定 | | provider_endpoints | プロバイダーエンドポイント候補リスト | | mcp_servers | MCP サーバー設定 | | prompts | プロンプトプリセット | | skills | スキルのインストール状態 | | skill_repos | スキルリポジトリ設定 | | proxy_config | プロキシ設定 | | proxy_request_logs | プロキシリクエストログ | | provider_health | プロバイダーヘルスステータス | | model_pricing | モデル料金 | | settings | アプリ設定 | ### デバイス設定 `settings.json` はデバイスレベルの設定を保存します: ```json { "language": "zh", "theme": "system", "windowBehavior": "minimize", "autoStart": false, "claudeConfigDir": null, "codexConfigDir": null, "geminiConfigDir": null, "opencodeConfigDir": null, "openclawConfigDir": null } ``` これらの設定はデバイス間で同期されません。 ### 自動バックアップ `backups/` ディレクトリに自動バックアップが保存されます: - 設定インポートのたびに自動作成 - 最新の 10 件のバックアップを保持 - ファイル名にタイムスタンプを含む ## Claude Code の設定 ### 設定ディレクトリ デフォルト:`~/.claude/` ### 主要ファイル ``` ~/.claude/ ├── settings.json # メイン設定ファイル ├── CLAUDE.md # システムプロンプト └── skills/ # スキルディレクトリ └── ... ``` ### settings.json ```json { "env": { "ANTHROPIC_API_KEY": "sk-xxx", "ANTHROPIC_BASE_URL": "https://api.anthropic.com" }, "permissions": { "allow_file_access": true } } ``` | フィールド | 説明 | |------|------| | `env.ANTHROPIC_API_KEY` | API キー | | `env.ANTHROPIC_BASE_URL` | API エンドポイント(任意) | | `env.ANTHROPIC_AUTH_TOKEN` | 代替認証方式 | ### MCP 設定 MCP サーバーの設定は `~/.claude.json` にあります: ```json { "mcpServers": { "mcp-fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` ## Codex の設定 ### 設定ディレクトリ デフォルト:`~/.codex/` ### 主要ファイル ``` ~/.codex/ ├── auth.json # 認証設定 ├── config.toml # メイン設定 + MCP └── AGENTS.md # システムプロンプト ``` ### auth.json ```json { "OPENAI_API_KEY": "sk-xxx" } ``` ### config.toml ```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 ```bash GEMINI_API_KEY=xxx GOOGLE_GEMINI_BASE_URL=https://generativelanguage.googleapis.com GEMINI_MODEL=gemini-pro ``` ### settings.json ```json { "mcpServers": { "mcp-fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` | フィールド | 説明 | |------|------| | `mcpServers` | MCP サーバー設定 | ## OpenCode の設定 ### 設定ディレクトリ デフォルト:`~/.opencode/` ### 主要ファイル ``` ~/.opencode/ ├── config.json # メイン設定ファイル ├── AGENTS.md # システムプロンプト └── skills/ # スキルディレクトリ └── ... ``` ## OpenClaw の設定 ### 設定ディレクトリ デフォルト:`~/.openclaw/` ### 主要ファイル ``` ~/.openclaw/ ├── openclaw.json # メイン設定ファイル(JSON5 形式) ├── AGENTS.md # システムプロンプト └── skills/ # スキルディレクトリ └── ... ``` ### openclaw.json OpenClaw は JSON5 形式の設定ファイルを使用し、主に以下のセクションを含みます: ```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" } } }, // ツール設定 tools: {}, // ワークスペースファイル設定 workspace: {} } ``` | フィールド | 説明 | |------|------| | `models.providers` | プロバイダー設定(CC Switch の「プロバイダー」にマッピング) | | `env` | 環境変数設定 | | `agents.defaults` | Agent デフォルトモデル設定 | | `tools` | ツール設定 | | `workspace` | ワークスペースファイル管理 | ## 設定の優先順位 CC Switch が設定を変更する際の優先順位: 1. **CC Switch データベース** - 単一事実源 (SSOT) 2. **Live 設定ファイル** - プロバイダー切り替え時に書き込み 3. **バックフィル機能** - 現在のプロバイダーの編集時に Live ファイルから読み取り ## 手動での設定編集 ### 手動編集可能なもの - CLI ツールの設定ファイル(CC Switch がバックフィルする) - CC Switch の `settings.json` ### 手動編集を推奨しないもの - `cc-switch.db` データベースファイル - バックアップファイル ### 編集後の同期 CLI ツールの設定を手動で編集した場合: 1. CC Switch を開く 2. 対応するプロバイダーを編集 3. 手動変更の内容がバックフィルされていることを確認 4. 保存してデータベースに同期 ## 設定の移行 ### 旧バージョンからの移行 CC Switch v3.7.0 で JSON ファイルから SQLite に移行しました: - 初回起動時に自動的に移行 - 移行成功後に通知を表示 - 旧設定ファイルはバックアップとして保持 ### デバイス間の移行 1. 移行元のデバイスで設定をエクスポート 2. 移行先のデバイスで設定をインポート 3. またはクラウド同期機能を使用 ## 設定のバックアップに関するアドバイス ### 定期的なバックアップ 定期的に設定をエクスポートすることを推奨します: 1. 設定 → 詳細 → データ管理 2. 「エクスポート」をクリック 3. 安全な場所に保存 ### バックアップに含まれる内容 エクスポートファイルには以下が含まれます: - すべてのプロバイダー設定 - MCP サーバー設定 - Prompts プリセット - アプリ設定 ### 含まれない内容 - 使用量ログ(データ量が大きいため) - デバイスレベルの設定(デバイス間の移動に適さないため)