diff --git a/CHANGELOG.md b/CHANGELOG.md index bd5fcd22..04cb925f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to CC Switch will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [3.13.0] - 2026-04-10 Development since v3.12.3 focuses on quota visibility, provider workflow upgrades, stronger proxy compatibility, and lower-overhead tray / session workflows. @@ -13,7 +13,7 @@ Development since v3.12.3 focuses on quota visibility, provider workflow upgrade - **Lightweight Mode**: Added a tray-only mode that destroys the main window and keeps CC Switch running from the system tray, with the window recreated when users reopen it. - **Provider Model Auto-Fetch**: Added OpenAI-compatible `/v1/models` discovery for Claude, Codex, Gemini, OpenCode, and OpenClaw provider forms, including grouped dropdown selection and failure-specific error messages. -- **Quota & Balance Visibility**: Added inline quota or balance display for official Claude / Codex / Gemini providers, GitHub Copilot premium interactions, Codex OAuth providers, Token Plan providers (Kimi / Zhipu GLM / MiniMax), and official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI. +- **Quota & Balance Visibility**: Added inline quota or balance display for official Claude / Codex / Gemini providers, GitHub Copilot premium interactions, Codex OAuth providers, Token Plan providers (Kimi / Zhipu GLM / MiniMax), and official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI. Copilot / ChatGPT OAuth and CLI subscription quota now only auto-poll for the currently active provider, preventing unnecessary API calls and misleading displays on non-current cards. - **Skills Discovery & Batch Updates**: Added SHA-256 based skill update detection, per-skill and batch update actions, a storage-location toggle between CC Switch and `~/.agents/skills`, and public `skills.sh` search integration. - **Session Workflow Upgrades**: Added batch delete in Session Manager, a directory picker before launching Claude terminal restore commands, usage import from Claude / Codex / Gemini session logs without requiring proxy interception, and per-app usage filtering for Claude / Codex / Gemini dashboards. - **Codex OAuth Reverse Proxy**: Added ChatGPT Plus / Pro based Codex OAuth reverse proxy support for Claude provider cards, including managed OAuth login and inline subscription quota display. @@ -21,6 +21,22 @@ Development since v3.12.3 focuses on quota visibility, provider workflow upgrade - **Full URL Endpoint Mode**: Added a provider option that treats `base_url` as a complete upstream endpoint so proxy forwarding and stream checks can work with vendors that require nonstandard URL layouts. - **OpenCode StepFun Step Plan Preset**: Added a StepFun Step Plan provider preset for OpenCode. - **Copilot Interaction Optimizer**: Added request classification and routing logic to reduce unnecessary GitHub Copilot premium interaction consumption. +- **First-Run Welcome Dialog**: Added a one-time welcome dialog on fresh installs explaining how existing configuration is preserved as a default provider and how the bundled official preset enables one-click revert. Upgrade users are excluded. +- **Official Provider Seeding**: Added automatic seeding of Claude Official, OpenAI Official, and Google Official provider entries on startup, giving every user a one-click path back to the official endpoint. +- **OpenCode / OpenClaw Auto-Import**: Added automatic startup import of live OpenCode and OpenClaw provider configurations, matching the auto-import behavior already present for Claude, Codex, and Gemini. +- **Common Config Editor Guidance**: Added an informational guide and empty-state prompt to the Common Config snippet editor modal for Claude, Codex, and Gemini, with i18n support. +- **Common Config First-Run Notice**: Added a one-time informational dialog explaining Common Config Snippets when users first open the provider add/edit form. +- **Claude Session Titles**: Added meaningful title extraction for Claude sessions using a priority chain: custom-title metadata, first real user message, then directory basename fallback. +- **Session Search Highlighting**: Added keyword highlighting in session titles and messages during Session Manager search. +- **URL-Based Provider Icons**: Added a dual rendering mode to the icon system supporting Vite URL imports for large SVGs and raster images (PNG, JPG, WebP), keeping small SVGs inlined. +- **Kaku Terminal Support**: Added Kaku as a selectable terminal for session launch on macOS, reusing the WezTerm-compatible launch path. +- **OMO Slim Council Support**: Restored first-class council support as a built-in oh-my-opencode-slim agent with updated metadata and UI copy. +- **TheRouter Provider Preset**: Added TheRouter provider presets across Claude, Codex, Gemini, OpenCode, and OpenClaw. +- **DDSHub Provider Preset**: Added DDSHub as a third-party partner provider for Claude with icon and partner promotion text. +- **LionCCAPI Provider Preset**: Added LionCCAPI as a third-party partner provider across all five apps with anthropic-messages protocol for OpenCode and OpenClaw. +- **Shengsuanyun Provider Preset**: Added Shengsuanyun (胜算云) as an aggregator partner provider across all five apps with URL-based icon and localized display name. +- **PIPELLM Provider Preset**: Added PIPELLM provider preset across Claude, Codex, OpenCode, and OpenClaw with full model definitions and icon. +- **E-FlowCode Provider Preset**: Added E-FlowCode provider preset across all five apps with per-app protocol configuration. ### Changed @@ -47,12 +63,19 @@ Development since v3.12.3 focuses on quota visibility, provider workflow upgrade - **Linux UI Unresponsive on Startup**: Fixed a bug where the window UI (including native title bar buttons) couldn't receive clicks on Linux until the user manually maximized and restored the window. Root causes: (1) Tauri webview did not acquire keyboard focus after `show()` on Linux, so the first click was consumed by X11/Wayland click-to-activate (Tauri #10746, wry #637); (2) GTK surface's input region failed to renegotiate on the `visible:false → show()` path under some WebKitGTK/compositor combinations, leaving the entire window unresponsive. Mitigations: set `WEBKIT_DISABLE_COMPOSITING_MODE=1` at startup, and added a new `linux_fix::nudge_main_window` helper that performs `set_focus` + a ±1px no-op resize ~200ms after show, equivalent to a visually invisible "maximize-and-restore". Wired into all window-re-show paths (normal startup, deeplink, single_instance, tray `show_main`, lightweight exit). - **Linux Drag Region on Header**: Removed `data-tauri-drag-region` from the top header bar on Linux to avoid triggering `gtk_window_begin_move_drag` paths affected by Tauri #13440 under Wayland. macOS drag behavior is preserved. - **OpenCode / OpenClaw Stream Check Edge Cases**: Fixed custom-header passthrough, OpenClaw custom auth-header detection, Bedrock error messaging, and OpenCode default `baseURL` fallback handling in Stream Check. +- **Duplicate Toast on Provider Switch**: Fixed double toast notifications (proxy-required warning followed by switch-success) when switching to Copilot, ChatGPT, or OpenAI-format providers with the proxy not running. +- **Session Search Accuracy & Chinese Support**: Fixed session search result truncation across providers and switched FlexSearch tokenizer to full mode for proper Chinese substring matching. +- **Adaptive Thinking Reasoning Effort**: Fixed `resolve_reasoning_effort()` mapping adaptive thinking to `xhigh` instead of incorrectly using `high` in OpenAI format conversions. +- **Thinking Model Fallback Display**: Fixed the Claude provider form showing an empty Thinking model field after saving only a main model by applying read-only fallback to ANTHROPIC_MODEL. +- **Auth Tab Localization**: Fixed missing i18n translation keys for the settings auth tab label across all locale bundles. +- **Schema Migration Guard**: Fixed database migrations failing when skills or model_pricing tables did not exist by adding table-existence checks before ALTER and UPDATE operations. ### Docs - **User Manual Refresh**: Updated the EN / ZH / JA manuals for tray submenus, lightweight mode, provider model fetching, session management, workspace files, WebDAV v2 behavior, OpenCode / OpenClaw activation, and other provider workflow improvements. - **Community & Contribution Docs**: Added `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, bilingual issue / PR templates, Dependabot config, and CI quality checks. - **Release Notes Risk Notice**: Added a Copilot reverse proxy risk notice and anchored highlight links in the v3.12.3 release notes across all three languages. +- **Sponsor Partners**: Added Shengsuanyun, LionCC, and DDS as sponsor partners in README across all languages. --- diff --git a/docs/release-notes/v3.13.0-en.md b/docs/release-notes/v3.13.0-en.md index a6d13524..f63f8c73 100644 --- a/docs/release-notes/v3.13.0-en.md +++ b/docs/release-notes/v3.13.0-en.md @@ -10,9 +10,9 @@ CC Switch v3.13.0 is a major feature release centered on observability, provider workflow ergonomics, and proxy compatibility. It adds inline **quota and balance displays** across official Claude / Codex / Gemini providers plus Token Plan, Copilot, and third-party balance APIs; introduces a **Lightweight Mode** that keeps CC Switch running from the system tray without a main window; delivers **automatic model discovery** via OpenAI-compatible `/v1/models` across all five supported applications; ships a **Codex OAuth reverse proxy** for ChatGPT Plus / Pro subscribers; reorganizes the tray menu into **per-app submenus**; rebuilds the proxy forwarding stack on a **Hyper-based client**; and overhauls the **Skills workflow** with discovery, batch updates, and storage-location toggling. Additional improvements include full URL endpoint mode, session-log usage tracking without proxy interception, the Copilot interaction optimizer, a UTF-8 streaming chunk boundary fix for multi-byte output, and a Linux startup UI responsiveness fix. -**Release Date**: 2026-04-08 +**Release Date**: 2026-04-10 -**Update Scale**: 98 commits | 229 files changed | +23,891 / -2,305 lines +**Update Scale**: 139 commits | 280 files changed | +31,627 / -3,042 lines --- @@ -31,6 +31,10 @@ CC Switch v3.13.0 is a major feature release centered on observability, provider - **Copilot Interaction Optimizer**: Request classification and routing logic that reduces unnecessary GitHub Copilot premium interaction consumption - **UTF-8 Stream Chunk Boundary Fix**: All four SSE streaming paths now preserve incomplete multi-byte UTF-8 sequences across TCP chunks, eliminating intermittent U+FFFD garbled output via the Copilot reverse proxy - **Linux Startup UI Fix**: Fixed the long-standing issue where the window UI couldn't receive clicks on Linux until the user manually maximized and restored the window +- **First-Run Onboarding**: One-time welcome dialog on fresh installs, automatic seeding of Claude / OpenAI / Google official presets, and auto-import of OpenCode / OpenClaw live configurations on startup +- **Claude Session Titles & Search Highlighting**: Meaningful title extraction for Claude sessions using a priority chain (custom-title metadata → first user message → directory basename), plus keyword highlighting in Session Manager search results +- **URL-Based Provider Icons**: Dual rendering mode supporting Vite URL imports for large SVGs and raster images (PNG, JPG, WebP), keeping small SVGs inlined +- **New Provider Presets**: TheRouter, DDSHub, LionCCAPI, Shengsuanyun (胜算云), PIPELLM, and E-FlowCode across supported applications --- @@ -54,6 +58,7 @@ Added inline quota and balance readouts to provider cards so users can see remai - **Token Plan providers**: Kimi, Zhipu GLM, and MiniMax with corrected quota math and consistent 0% → 100% usage progression - **Third-party balances**: Official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI - Health-check and usage-config buttons are hidden for official providers to keep the card clean +- Copilot / ChatGPT OAuth and CLI subscription quota now only auto-poll for the currently active provider, preventing unnecessary API calls on non-current cards ### Provider Model Auto-Fetch @@ -132,6 +137,53 @@ Added request classification and routing logic that reduces unnecessary GitHub C - Routes low-value requests away from premium interaction consumption paths - Designed to extend the usable lifetime of a Copilot subscription +### First-Run Welcome Dialog + +Added a one-time welcome dialog on fresh installs to guide new users through the CC Switch workflow. + +- Explains how existing live configuration is preserved as a default provider +- Introduces the bundled official preset that enables one-click revert to official endpoints +- Upgrade users are automatically excluded via empty provider check + +### Official Provider Seeding + +- Added automatic seeding of Claude Official, OpenAI Official, and Google Official provider entries on startup, giving every user a one-click path back to the official endpoint + +### OpenCode / OpenClaw Auto-Import + +- Added automatic startup import of live OpenCode and OpenClaw provider configurations, matching the auto-import behavior already present for Claude, Codex, and Gemini + +### Common Config Editor Guidance + +- Added an informational guide and empty-state prompt to the Common Config snippet editor modal for Claude, Codex, and Gemini +- Added a one-time informational dialog explaining Common Config Snippets when users first open the provider add/edit form + +### Claude Session Titles & Search Highlighting + +- Added meaningful title extraction for Claude sessions using a priority chain: custom-title metadata, first real user message, then directory basename fallback +- Added keyword highlighting in session titles and messages during Session Manager search + +### URL-Based Provider Icons + +- Added a dual rendering mode to the icon system: small SVGs are inlined as React components, while large SVGs and raster images (PNG, JPG, WebP) are loaded via Vite URL imports as `` tags + +### Kaku Terminal Support + +- Added Kaku as a selectable terminal for session launch on macOS, reusing the WezTerm-compatible launch path + +### OMO Slim Council Support + +- Restored first-class council support as a built-in oh-my-opencode-slim agent with updated metadata and UI copy + +### New Provider Presets + +- **TheRouter**: Added across Claude, Codex, Gemini, OpenCode, and OpenClaw +- **DDSHub**: Added as a third-party partner provider for Claude with icon and partner promotion text +- **LionCCAPI**: Added across all five apps with anthropic-messages protocol for OpenCode and OpenClaw +- **Shengsuanyun (胜算云)**: Added as an aggregator partner provider across all five apps with URL-based icon and localized display name +- **PIPELLM**: Added across Claude, Codex, OpenCode, and OpenClaw with full model definitions and icon +- **E-FlowCode**: Added across all five apps with per-app protocol configuration + --- ## Changes @@ -263,6 +315,31 @@ Fixed a long-standing Linux bug where the window UI (including native title bar - Bedrock error messaging - OpenCode default `baseURL` fallback handling +### Duplicate Toast on Provider Switch + +- Fixed double toast notifications (proxy-required warning followed by switch-success) when switching to Copilot, ChatGPT, or OpenAI-format providers with the proxy not running + +### Session Search Accuracy & Chinese Support + +- Fixed session search result truncation across providers +- Switched FlexSearch tokenizer to full mode for proper Chinese substring matching + +### Adaptive Thinking Reasoning Effort + +- Fixed `resolve_reasoning_effort()` mapping adaptive thinking to `xhigh` instead of incorrectly using `high` in OpenAI format conversions + +### Thinking Model Fallback Display + +- Fixed the Claude provider form showing an empty Thinking model field after saving only a main model by applying read-only fallback to ANTHROPIC_MODEL + +### Auth Tab Localization + +- Fixed missing i18n translation keys for the settings auth tab label across all locale bundles + +### Schema Migration Guard + +- Fixed database migrations failing when skills or model_pricing tables did not exist by adding table-existence checks before ALTER and UPDATE operations + --- ## Documentation @@ -282,6 +359,10 @@ Fixed a long-standing Linux bug where the window UI (including native title bar - Added a Copilot reverse proxy risk notice and anchored highlight links in the v3.12.3 release notes across all three languages +### Sponsor Partners + +- Added Shengsuanyun, LionCC, and DDS as sponsor partners in README across all languages + --- ## ⚠️ Risk Notice diff --git a/docs/release-notes/v3.13.0-ja.md b/docs/release-notes/v3.13.0-ja.md index a15c0fdf..5c48d7f3 100644 --- a/docs/release-notes/v3.13.0-ja.md +++ b/docs/release-notes/v3.13.0-ja.md @@ -10,9 +10,9 @@ CC Switch v3.13.0 は、可観測性、プロバイダーワークフローの使いやすさ、プロキシ互換性を中心とした大型機能リリースです。Claude / Codex / Gemini の公式プロバイダー、Token Plan、Copilot、サードパーティ残高 API にわたる**クォータと残高のインライン表示**を追加し、メインウィンドウなしでシステムトレイから CC Switch を動作させる**軽量モード**を導入しました。OpenAI 互換の `/v1/models` による**自動モデル発見**を 5 つのサポート対象アプリケーションすべてに提供し、ChatGPT Plus / Pro サブスクライバー向けの **Codex OAuth リバースプロキシ**を同梱しています。トレイメニューを**アプリ別サブメニュー**に再編成し、プロキシ転送スタックを **Hyper ベースのクライアント**に再構築し、**Skills ワークフロー**を発見、バッチ更新、ストレージ位置切り替えで刷新しました。さらに、フル URL エンドポイントモード、プロキシ傍受なしのセッションログ用量追跡、Copilot インタラクション最適化、マルチバイト UTF-8 ストリームチャンク境界修正、Linux 起動時の UI 応答性修正なども含まれます。 -**リリース日**: 2026-04-08 +**リリース日**: 2026-04-10 -**更新規模**: 98 commits | 229 files changed | +23,891 / -2,305 lines +**更新規模**: 139 commits | 280 files changed | +31,627 / -3,042 lines --- @@ -31,6 +31,10 @@ CC Switch v3.13.0 は、可観測性、プロバイダーワークフローの - **Copilot インタラクション最適化**: GitHub Copilot premium interaction の不要な消費を削減するリクエスト分類とルーティングロジックを追加 - **UTF-8 ストリームチャンク境界修正**: マルチバイト UTF-8 シーケンスが TCP チャンクを跨いで分割された際の Copilot リバースプロキシ経由での文字化け(U+FFFD 置換文字)を解消するため、すべての 4 つの SSE ストリーミングパスを修正 - **Linux 起動時 UI 修正**: ユーザーが手動でウィンドウを最大化・復元するまでウィンドウ UI がクリックを受け付けない長年の問題を修正 +- **初回起動オンボーディング**: 新規インストール時のワンタイムウェルカムダイアログ、Claude / OpenAI / Google 公式プリセットの自動シード、起動時の OpenCode / OpenClaw ライブ設定の自動インポート +- **Claude セッションタイトルと検索ハイライト**: カスタムタイトルメタデータ → 最初のユーザーメッセージ → ディレクトリベースネームの優先チェーンによる Claude セッションの意味のあるタイトル抽出、Session Manager 検索でのキーワードハイライト +- **URL ベースのプロバイダーアイコン**: 大きな SVG とラスター画像(PNG / JPG / WebP)を Vite URL import でロードし、小さな SVG はインライン保持するデュアルレンダリングモード +- **新プロバイダープリセット**: TheRouter、DDSHub、LionCCAPI、Shengsuanyun(胜算云)、PIPELLM、E-FlowCode を対応アプリケーションに追加 --- @@ -54,6 +58,7 @@ CC Switch のアイドル時のデスクトップフットプリントを大幅 - **Token Plan プロバイダー**: Kimi、Zhipu GLM、MiniMax。クォータ計算と 0% → 100% 使用量進行を修正 - **サードパーティ残高**: DeepSeek、StepFun、SiliconFlow、OpenRouter、Novita AI に公式残高クエリを追加 - 公式プロバイダーではヘルスチェックと用量設定ボタンを非表示にし、カードをクリーンに保つ +- Copilot / ChatGPT OAuth と CLI サブスクリプションクォータは現在アクティブなプロバイダーのみ自動ポーリングされ、非アクティブカードでの不要な API コールを防止 ### プロバイダーモデル自動取得 @@ -132,6 +137,53 @@ GitHub Copilot premium interaction の不要な消費を削減するリクエス - 価値の低いリクエストを premium interaction 消費パスから迂回 - Copilot サブスクリプションの使用可能期間を延長することを目的 +### 初回起動ウェルカムダイアログ + +新規インストールのユーザーに CC Switch のワークフローを案内するワンタイムウェルカムダイアログを追加。 + +- 既存のライブ設定がデフォルトプロバイダーとして保持される仕組みを説明 +- 内蔵の公式プリセットによるワンクリックでの公式エンドポイント復帰を紹介 +- アップグレードユーザーは空プロバイダーチェックにより自動的にスキップ + +### 公式プロバイダーの自動シード + +- 起動時に Claude Official / OpenAI Official / Google Official プロバイダーエントリを自動シードし、すべてのユーザーにワンクリックで公式エンドポイントに戻るパスを提供 + +### OpenCode / OpenClaw 自動インポート + +- 起動時に OpenCode と OpenClaw のライブプロバイダー設定を自動インポート。Claude / Codex / Gemini で既にある自動インポート動作と同等に + +### Common Config エディタガイダンス + +- Claude / Codex / Gemini の Common Config スニペットエディタモーダルに情報ガイドと空状態プロンプトを追加 +- ユーザーがプロバイダー追加/編集フォームを初めて開く際、Common Config Snippets を説明するワンタイムダイアログを追加 + +### Claude セッションタイトルと検索ハイライト + +- Claude セッションの意味のあるタイトル抽出を追加。優先チェーン: カスタムタイトルメタデータ → 最初の実ユーザーメッセージ → ディレクトリベースネームフォールバック +- Session Manager 検索時にセッションタイトルとメッセージ内のキーワードをハイライト + +### URL ベースのプロバイダーアイコン + +- アイコンシステムにデュアルレンダリングモードを追加: 小さな SVG は React コンポーネントとしてインライン、大きな SVG とラスター画像(PNG / JPG / WebP)は Vite URL import で `` タグとしてロード + +### Kaku ターミナルサポート + +- macOS でセッション起動用の選択可能なターミナルとして Kaku を追加。WezTerm 互換の起動パスを再利用 + +### OMO Slim Council サポート + +- 内蔵 oh-my-opencode-slim エージェントとしての council のファーストクラスサポートを復元。メタデータと UI コピーを更新 + +### 新プロバイダープリセット + +- **TheRouter**: Claude / Codex / Gemini / OpenCode / OpenClaw の 5 アプリに追加 +- **DDSHub**: Claude のサードパーティパートナープロバイダーとして追加。アイコンとパートナープロモーションテキスト付き +- **LionCCAPI**: 5 アプリすべてに追加。OpenCode / OpenClaw は anthropic-messages プロトコルを使用 +- **Shengsuanyun(胜算云)**: アグリゲーターパートナープロバイダーとして 5 アプリすべてに追加。URL ベースのアイコンとローカライズ名をサポート +- **PIPELLM**: Claude / Codex / OpenCode / OpenClaw に追加。完全なモデル定義とアイコン付き +- **E-FlowCode**: 5 アプリすべてに追加。アプリごとに異なるプロトコル設定 + --- ## 変更 @@ -263,6 +315,31 @@ Claude Code で Copilot リバースプロキシ経由時、中国語文字や - Bedrock エラーメッセージを修正 - OpenCode デフォルト `baseURL` のフォールバック処理を修正 +### プロバイダー切り替え時の重複 Toast + +- プロキシ未実行時に Copilot / ChatGPT / OpenAI フォーマットプロバイダーに切り替えた際の二重 toast 通知(プロキシ必要警告 + 切り替え成功)を修正 + +### セッション検索精度と中国語サポート + +- プロバイダーをまたぐセッション検索結果の切り詰めを修正 +- FlexSearch トークナイザーを full モードに切り替え、中国語サブストリングマッチングを正しく動作させる + +### 適応的思考の推論エフォート + +- `resolve_reasoning_effort()` が適応的思考を `high` ではなく正しく `xhigh` にマッピングするよう修正(OpenAI フォーマット変換時) + +### Thinking モデルフォールバック表示 + +- Claude プロバイダーフォームでメインモデルのみ保存後に Thinking モデルフィールドが空で表示される問題を修正。ANTHROPIC_MODEL への読み取り専用フォールバックを適用 + +### Auth タブのローカライゼーション + +- 設定の auth タブラベルに不足していた i18n 翻訳キーをすべてのロケールバンドルで修正 + +### スキーマ移行ガード + +- skills または model_pricing テーブルが存在しない場合にデータベース移行が失敗する問題を修正。ALTER および UPDATE 操作の前にテーブル存在チェックを追加 + --- ## ドキュメント @@ -282,6 +359,10 @@ Claude Code で Copilot リバースプロキシ経由時、中国語文字や - v3.12.3 の release notes に Copilot リバースプロキシのリスク通知とハイライトリンクのアンカーを 3 言語すべてに追加 +### スポンサーパートナー + +- README の 3 言語すべてに Shengsuanyun、LionCC、DDS をスポンサーパートナーとして追加 + --- ## ⚠️ リスクに関する注意事項 diff --git a/docs/release-notes/v3.13.0-zh.md b/docs/release-notes/v3.13.0-zh.md index 92546212..723c4eeb 100644 --- a/docs/release-notes/v3.13.0-zh.md +++ b/docs/release-notes/v3.13.0-zh.md @@ -10,9 +10,9 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供应商工作流与代理兼容性。本版本在各主要供应商卡片上新增了**配额与余额展示**,覆盖 Claude / Codex / Gemini 官方订阅、Token Plan(Kimi / Zhipu GLM / MiniMax)、Copilot premium interactions 以及 DeepSeek / StepFun / SiliconFlow / OpenRouter / Novita AI 等第三方余额查询;引入了**轻量模式**,让 CC Switch 可以仅驻留在系统托盘中运行;通过 OpenAI 兼容的 `/v1/models` 端点在 Claude / Codex / Gemini / OpenCode / OpenClaw 五个应用的供应商表单中实现了**模型自动发现**;为 ChatGPT Plus / Pro 订阅者提供了 **Codex OAuth 反向代理**;将托盘菜单重构为**按应用分级的子菜单**;将代理转发层重建在 **Hyper 客户端**之上;并完成了 **Skills 工作流**的发现、批量更新和存储位置切换改造。其他改进还包括完整 URL 端点模式、无需代理拦截的会话日志用量追踪、Copilot 调用优化器、多字节 UTF-8 流式分片边界修复以及 Linux 启动时 UI 无响应修复等。 -**发布日期**:2026-04-08 +**发布日期**:2026-04-10 -**更新规模**:98 commits | 229 files changed | +23,891 / -2,305 lines +**更新规模**:139 commits | 280 files changed | +31,627 / -3,042 lines --- @@ -31,6 +31,10 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供 - **Copilot 调用优化器**:新增请求分类和路由逻辑,降低 GitHub Copilot premium interaction 的不必要消耗 - **UTF-8 流式分片边界修复**:所有 4 条 SSE 流式路径改为跨分片保留残留多字节序列,消除 Copilot 反代下中文/emoji 乱码 - **Linux 启动 UI 修复**:修复长期存在的 Linux 窗口初次无法响应点击、需用户手动最大化再还原才能操作的问题 +- **首次运行引导**:新安装时弹出一次性欢迎对话框、自动种入 Claude / OpenAI / Google 官方预设、启动时自动导入 OpenCode / OpenClaw 的 live 配置 +- **Claude 会话标题与搜索高亮**:从 Claude 会话中提取有意义的标题(自定义标题 → 首条用户消息 → 目录名),在会话管理器搜索时高亮匹配关键词 +- **URL 图标支持**:图标系统新增双渲染模式,大 SVG 和光栅图片(PNG / JPG / WebP)通过 Vite URL import 加载,小 SVG 保持内联 +- **新供应商预设**:新增 TheRouter、DDSHub、LionCCAPI、胜算云、PIPELLM、E-FlowCode 预设 --- @@ -54,6 +58,7 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供 - **Token Plan 供应商**:Kimi、Zhipu GLM、MiniMax,修正配额数学与 0% → 100% 用量进度 - **第三方余额**:为 DeepSeek、StepFun、SiliconFlow、OpenRouter、Novita AI 提供官方余额查询 - 官方供应商的健康检查和用量配置按钮自动隐藏,保持卡片简洁 +- Copilot / ChatGPT OAuth 和 CLI 订阅配额仅在当前活跃供应商卡片上自动轮询,避免非当前卡片上的不必要 API 调用 ### 供应商模型自动获取 @@ -132,6 +137,53 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供 - 将低价值请求路由到非 premium 通道 - 旨在延长 Copilot 订阅的可用时长 +### 首次运行欢迎对话框 + +新安装用户首次打开时显示一次性欢迎对话框,引导了解 CC Switch 工作流程。 + +- 说明已有 live 配置如何被保留为默认供应商 +- 介绍内置官方预设如何实现一键回滚到官方端点 +- 升级用户通过空供应商检查自动跳过 + +### 官方供应商自动种入 + +- 启动时自动种入 Claude Official / OpenAI Official / Google Official 供应商条目,为每位用户提供一键回滚到官方端点的路径 + +### OpenCode / OpenClaw 自动导入 + +- 启动时自动导入 OpenCode 和 OpenClaw 的 live 供应商配置,与 Claude / Codex / Gemini 已有的自动导入行为对齐 + +### Common Config 编辑器引导 + +- 在 Claude / Codex / Gemini 的 Common Config 代码片段编辑器弹窗中添加引导信息和空状态提示 +- 用户首次打开供应商添加/编辑表单时弹出一次性对话框说明 Common Config Snippets + +### Claude 会话标题与搜索高亮 + +- 为 Claude 会话新增有意义的标题提取,优先链:自定义标题元数据 → 首条真实用户消息 → 目录名回退 +- 在会话管理器搜索时高亮匹配关键词 + +### URL 图标支持 + +- 图标系统新增双渲染模式:小 SVG 以 React 组件内联,大 SVG 和光栅图片(PNG / JPG / WebP)通过 Vite URL import 以 `` 标签加载 + +### Kaku 终端支持 + +- macOS 上新增 Kaku 作为可选终端用于启动会话,复用 WezTerm 兼容的启动路径 + +### OMO Slim Council 支持 + +- 恢复 council 作为内置 oh-my-opencode-slim agent 的一等支持,更新元数据和 UI 文案 + +### 新供应商预设 + +- **TheRouter**:覆盖 Claude / Codex / Gemini / OpenCode / OpenClaw 五个应用 +- **DDSHub**:作为 Claude 的第三方合作伙伴供应商,含图标和推广文案 +- **LionCCAPI**:覆盖全部五个应用,OpenCode / OpenClaw 使用 anthropic-messages 协议 +- **胜算云 (Shengsuanyun)**:作为聚合类合作伙伴供应商覆盖全部五个应用,支持 URL 图标和本地化名称 +- **PIPELLM**:覆盖 Claude / Codex / OpenCode / OpenClaw,含完整模型定义和图标 +- **E-FlowCode**:覆盖全部五个应用,按应用配置不同协议 + --- ## 变更 @@ -264,6 +316,31 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供 - 修复 Bedrock 错误消息 - 修复 OpenCode 默认 `baseURL` 回退处理 +### 供应商切换时重复 Toast + +- 修复代理未运行时切换到 Copilot / ChatGPT / OpenAI 格式供应商时出现双重 toast 通知(代理必需警告 + 切换成功) + +### 会话搜索精度与中文支持 + +- 修复会话搜索结果在跨供应商时被截断的问题 +- 将 FlexSearch 分词器切换为 full 模式以支持中文子串匹配 + +### 自适应思维推理力度 + +- 修复 `resolve_reasoning_effort()` 将自适应思维错误映射为 `high`,应为 `xhigh`(OpenAI 格式转换场景) + +### Thinking 模型回退显示 + +- 修复 Claude 供应商表单仅填写主模型后 Thinking 模型字段显示为空,改为只读回退到 ANTHROPIC_MODEL + +### Auth Tab 本地化 + +- 修复设置面板 auth tab 标签在所有语言包中缺失 i18n 翻译 key + +### 数据库迁移守卫 + +- 修复 skills 或 model_pricing 表不存在时数据库迁移失败,在 ALTER 和 UPDATE 操作前添加表存在性检查 + --- ## 文档 @@ -283,6 +360,10 @@ CC Switch v3.13.0 是一次重要的功能版本,聚焦于可观测性、供 - 在三语 v3.12.3 release notes 中新增 Copilot 反代风险提示,并为重点内容添加锚点链接 +### 赞助商合作伙伴 + +- 在三语 README 中新增胜算云、LionCC、DDS 作为赞助商合作伙伴 + --- ## ⚠️ 风险提示 diff --git a/package.json b/package.json index 713c3f2b..5301a971 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cc-switch", - "version": "3.12.3", + "version": "3.13.0", "description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI", "type": "module", "scripts": { diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 1ae679ef..1443b238 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -735,7 +735,7 @@ dependencies = [ [[package]] name = "cc-switch" -version = "3.12.3" +version = "3.13.0" dependencies = [ "anyhow", "arboard", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 9ac16458..e62bc1e3 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cc-switch" -version = "3.12.3" +version = "3.13.0" description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI" authors = ["Jason Young"] license = "MIT" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1551b39f..f3354cb7 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "CC Switch", - "version": "3.12.3", + "version": "3.13.0", "identifier": "com.ccswitch.desktop", "build": { "frontendDist": "../dist",