mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-15 23:53:16 +08:00
- Add CHANGELOG entry for v3.8.0 - Update README.md and README_ZH.md with v3.8.0 features - Add Japanese README (README_JA.md) - Add release notes in English, Chinese, and Japanese
316 lines
10 KiB
Markdown
316 lines
10 KiB
Markdown
# CC Switch v3.8.0
|
|
|
|
> 永続化アーキテクチャを刷新し、クラウド同期の土台を構築
|
|
|
|
**[English →](release-note-v3.8.0-en.md) | [中文版 →](release-note-v3.8.0-zh.md)**
|
|
|
|
---
|
|
|
|
## 概要
|
|
|
|
CC Switch v3.8.0 はデータ永続化レイヤーと UI を大幅に作り替え、今後のクラウド同期やローカルプロキシ機能に向けた基盤を整えたメジャーアップデートです。
|
|
|
|
**リリース日**: 2025-11-28
|
|
**コミット数**: v3.7.1 以降 51 commits
|
|
**変更量**: 207 files, +17,297 / -6,870 lines
|
|
|
|
---
|
|
|
|
## 主要アップデート
|
|
|
|
### 永続化アーキテクチャの刷新
|
|
|
|
単一の JSON 保存から、階層化された SQLite + JSON の二層構造へ移行。
|
|
|
|
**アーキテクチャ変更**:
|
|
|
|
```
|
|
v3.7.x (旧) v3.8.0 (新)
|
|
┌─────────────────┐ ┌─────────────────────────────────┐
|
|
│ config.json │ │ SQLite (同期対象データ) │
|
|
│ ┌───────────┐ │ │ ├─ providers プロバイダ設定 │
|
|
│ │ providers │ │ │ ├─ mcp_servers MCP サーバー │
|
|
│ │ mcp │ │ ──> │ ├─ prompts プロンプト │
|
|
│ │ prompts │ │ │ ├─ skills Skills │
|
|
│ │ settings │ │ │ └─ settings 汎用設定 │
|
|
│ └───────────┘ │ ├─────────────────────────────────┤
|
|
└─────────────────┘ │ JSON (デバイス固有データ) │
|
|
│ └─ settings.json ローカル設定 │
|
|
│ ├─ ウィンドウ位置 │
|
|
│ ├─ パスの上書き │
|
|
│ └─ 現在のプロバイダ ID │
|
|
└─────────────────────────────────┘
|
|
```
|
|
|
|
**二層構造の設計**:
|
|
|
|
| レイヤー | ストレージ | データ種別 | 同期戦略 |
|
|
| -------- | ---------- | ----------------------------------- | ---------------- |
|
|
| クラウド | SQLite | Providers, MCP, Prompts, Skills | 将来同期対象 |
|
|
| デバイス | JSON | ウィンドウ状態、ローカルパス | ローカル保持 |
|
|
|
|
**実装ポイント**:
|
|
|
|
- **スキーマバージョン管理**: DB 構造のマイグレーションに対応
|
|
- **SQL インポート/エクスポート**: `backup.rs` が SQL ダンプをサポート
|
|
- **トランザクション対応**: SQLite ネイティブで整合性を確保
|
|
- **自動マイグレーション**: 初回起動で `config.json` から自動移行
|
|
|
|
**モジュール分割**:
|
|
|
|
```
|
|
database/
|
|
├── mod.rs Database 構造体と初期化
|
|
├── schema.rs テーブル定義とスキーマ移行
|
|
├── backup.rs SQL インポート/エクスポートとスナップショット
|
|
├── migration.rs JSON → SQLite 変換エンジン
|
|
└── dao/ DAO レイヤー
|
|
├── providers.rs プロバイダ CRUD
|
|
├── mcp.rs MCP CRUD
|
|
├── prompts.rs プロンプト CRUD
|
|
├── skills.rs Skills CRUD
|
|
└── settings.rs 設定 Key-Value 保存
|
|
```
|
|
|
|
---
|
|
|
|
### 新しいユーザーインターフェース
|
|
|
|
よりモダンな見た目と操作感に再設計。
|
|
|
|
- レイアウト全面刷新、コンポーネントスタイルを統一
|
|
- トランジションを滑らかにし、視覚的階層を最適化
|
|
- メインビューのオーバースクロールバウンスを無効化
|
|
- ブラウザ互換性向上のため Tailwind CSS を v4→v3.4 にダウングレード
|
|
|
|
---
|
|
|
|
### 日語化
|
|
|
|
UI が日本語に対応し、国際化が 3 言語(中/英/日)へ拡大。
|
|
|
|
---
|
|
|
|
## 新機能
|
|
|
|
### Skills 递帰スキャン
|
|
|
|
Skills 管理がリポジトリを再帰的に走査し、ネストされた `SKILL.md` を自動検出。
|
|
|
|
- 複数階層のディレクトリに対応
|
|
- すべての `SKILL.md` を自動発見
|
|
- パスをキーにした重複排除で同名スキルを許容
|
|
|
|
### プロバイダアイコン設定
|
|
|
|
プリセットがデフォルトアイコンを持ち、複製してもアイコンを保持。カスタム色も設定可能。
|
|
|
|
### フォームバリデーション強化
|
|
|
|
必須項目にリアルタイム検証と分かりやすいエラーメッセージを追加し、トースト通知を統一。
|
|
|
|
### 自動起動
|
|
|
|
Windows/macOS/Linux で自動起動をサポート。
|
|
|
|
- 設定画面からワンクリックで ON/OFF
|
|
- Registry / LaunchAgent / XDG autostart を使用
|
|
|
|
### 新プロバイダプリセット
|
|
|
|
- **MiniMax** - 公式パートナー
|
|
|
|
---
|
|
|
|
## バグ修正
|
|
|
|
### 重要修正
|
|
|
|
**カスタムエンドポイント消失**
|
|
|
|
- 原因: SQLite の `INSERT OR REPLACE` が内部で `DELETE + INSERT` を実行し、外部キーのカスケード削除が発生
|
|
- 対応: 既存プロバイダ更新を `UPDATE` に変更
|
|
|
|
**Gemini 設定**
|
|
|
|
- カスタム環境変数が `.env` に正しく書き込まれない問題を修正
|
|
- 認証設定が他ファイルに誤って書き込まれる問題を修正
|
|
|
|
**プロバイダ検証**
|
|
|
|
- 現在プロバイダ ID が欠落している場合のバリデーションエラーを修正
|
|
- 複製時にアイコンフィールドが失われる問題を修正
|
|
|
|
### プラットフォーム互換性
|
|
|
|
**Linux**
|
|
|
|
- WebKitGTK の DMA-BUF 描画問題を解消
|
|
- ユーザーの `.desktop` カスタマイズを保持
|
|
|
|
### その他修正
|
|
|
|
- アプリ切り替え時の不要な使用量クエリを削減
|
|
- DMXAPI プリセットの誤ったトークンフィールドを修正
|
|
- Deeplink コンポーネントの欠損翻訳キーを補完
|
|
- 使用量スクリプトテンプレート初期化を修正
|
|
|
|
---
|
|
|
|
## 技術的改善
|
|
|
|
### アーキテクチャ再編
|
|
|
|
**Provider Service のモジュール化**:
|
|
|
|
```
|
|
services/provider/
|
|
├── mod.rs 追加/更新/削除/切替/検証の中核
|
|
├── live.rs ライブ設定ファイル操作
|
|
├── gemini_auth.rs Gemini 認証タイプ検出
|
|
├── endpoints.rs カスタムエンドポイント管理
|
|
└── usage.rs 使用量スクリプト実行
|
|
```
|
|
|
|
**Deeplink のモジュール化**:
|
|
|
|
```
|
|
deeplink/
|
|
├── mod.rs エクスポート
|
|
├── parser.rs URL パース
|
|
├── provider.rs プロバイダ取り込み
|
|
├── mcp.rs MCP 取り込み
|
|
├── prompt.rs プロンプト取り込み
|
|
├── skill.rs Skills 取り込み
|
|
└── utils.rs ユーティリティ
|
|
```
|
|
|
|
### コード品質
|
|
|
|
- レガシーな JSON 時代のインポート/エクスポート死蔵コードを削除
|
|
- 使われていない MCP 型を削除し、エラーハンドリングを統一
|
|
- テストを SQLite バックエンドに移行し、MSW ハンドラを最新 API に合わせて更新
|
|
|
|
---
|
|
|
|
## 技術統計
|
|
|
|
```
|
|
全体変更:
|
|
- コミット: 51
|
|
- 変更ファイル: 207
|
|
- 追加: +17,297 行
|
|
- 削除: -6,870 行
|
|
- 純増: +10,427 行
|
|
|
|
コミット種別:
|
|
- fix: 25
|
|
- refactor: 11
|
|
- feat: 9
|
|
- test: 1
|
|
- other: 5
|
|
|
|
変更箇所:
|
|
- フロントエンド: 112 files
|
|
- Rust バックエンド: 63 files
|
|
- テスト: 20 files
|
|
- i18n: 3 files
|
|
```
|
|
|
|
---
|
|
|
|
## マイグレーションガイド
|
|
|
|
### v3.7.x からのアップグレード
|
|
|
|
**自動マイグレーション**(初回起動時):
|
|
|
|
1. `config.json` の存在を検出
|
|
2. 全データをトランザクションで SQLite に移行
|
|
3. デバイス設定を `settings.json` へ移行
|
|
4. 移行成功の通知を表示
|
|
|
|
**データ保護**:
|
|
|
|
- 元の `config.json` は保持(削除しない)
|
|
- 失敗時はエラーダイアログを表示し、`config.json` を温存
|
|
- Dry-run モードで検証可能
|
|
|
|
---
|
|
|
|
## ダウンロード & インストール
|
|
|
|
### システム要件
|
|
|
|
- **Windows**: Windows 10+
|
|
- **macOS**: macOS 10.15 (Catalina)+
|
|
- **Linux**: Ubuntu 22.04+ / Debian 11+ / Fedora 34+
|
|
|
|
### ダウンロード
|
|
|
|
[Releases](https://github.com/farion1231/cc-switch/releases/latest) から入手:
|
|
|
|
- **Windows**: `CC-Switch-v3.8.0-Windows.msi` または `-Portable.zip`
|
|
- **macOS**: `CC-Switch-v3.8.0-macOS.tar.gz` または `.zip`
|
|
- **Linux**: `CC-Switch-v3.8.0-Linux.AppImage` または `.deb`
|
|
|
|
### Homebrew (macOS)
|
|
|
|
```bash
|
|
brew tap farion1231/ccswitch
|
|
brew install --cask cc-switch
|
|
```
|
|
|
|
アップデート:
|
|
|
|
```bash
|
|
brew upgrade --cask cc-switch
|
|
```
|
|
|
|
---
|
|
|
|
## 謝辞
|
|
|
|
### コントリビューター
|
|
|
|
- [@YoVinchen](https://github.com/YoVinchen) - UI とデータベースリファクタ
|
|
- [@farion1231](https://github.com/farion1231) - バグ修正と機能拡張
|
|
- コミュニティの皆さん - テストとフィードバック
|
|
|
|
### スポンサー
|
|
|
|
**Zhipu AI** - GLM CODING PLAN スポンサー
|
|
[10% オフリンク](https://z.ai/subscribe?ic=8JVLJQFSKB)
|
|
|
|
**PackyCode** - API リレーサービスパートナー
|
|
[登録時に「cc-switch」で 10% オフ](https://www.packyapi.com/register?aff=cc-switch)
|
|
|
|
**ShandianShuo** - ローカルファースト音声入力
|
|
[Mac/Windows 無料ダウンロード](https://shandianshuo.cn)
|
|
|
|
**MiniMax** - MiniMax M2 CODING PLAN スポンサー
|
|
[ブラックフライデーセール中、$2 から](https://platform.minimax.io/subscribe/coding-plan)
|
|
|
|
---
|
|
|
|
## フィードバック & サポート
|
|
|
|
- **Issue**: [GitHub Issues](https://github.com/farion1231/cc-switch/issues)
|
|
- **Discussions**: [GitHub Discussions](https://github.com/farion1231/cc-switch/discussions)
|
|
- **ドキュメント**: [README](../README.md)
|
|
- **更新履歴**: [CHANGELOG.md](../CHANGELOG.md)
|
|
|
|
---
|
|
|
|
## 今後のロードマップ
|
|
|
|
**v3.9.0 予告(予定)**:
|
|
|
|
- ローカルプロキシ機能
|
|
|
|
続報にご期待ください!
|
|
|
|
---
|
|
|
|
**Happy Coding!**
|