Files

10 KiB
Raw Permalink Blame History

CC Switch v4.0.2

4.0 プレビュー版の 2 つ目の修正リリース

このバージョンでは、ChatGPT アカウントで使う Claude Code の会話が 400 エラーで止まる問題や、Codex の集約モデルが表示されない問題などを修正しました。Claude Code の集約モードでは /model に集約したモデルだけが並び、モデルを変更しても Claude Code を再起動する必要がなくなりました。MCP サーバーを Pi 1.0 に同期することもできます。このバージョンから、更新後に初めて開いたときに短い更新の概要が表示されます。4.0 の更新内容の全体は v4.0 リリースノート をご覧ください。

プレビュー版は自動更新されません。 アプリ内の更新は正式版のみが対象です。4.0.0 または 4.0.1 をインストール済みの場合は、このページから 4.0.2 をダウンロードして手動でインストールしてください。


新機能

MCP サーバーを Pi 1.0 に同期できるようになりました。 Pi 1.0 には MCP が組み込まれており、設定形式は Claude Code と同じです。MCP ページで Pi への同期をオンにできるようになりました。CC Switch が書き込むのは接続に関するフィールドだけで、タイムアウト、ツールの公開範囲、OAuth といった Pi 独自の設定はそのまま残ります。同期をオフにしてもエントリは削除されず、Pi 側で無効としてマークされるだけなので、再びオンにしたときも設定は残っています。Pi が対応していない設定(SSE トランスポート、名前に含まれる特殊文字)はその場で知らせ、ファイルには書き込みません。

更新後に短い概要を表示します。 アップグレード後に初めて CC Switch を開くと、前回開いたとき以降の各バージョンの主な変更を数行ずつまとめたウィンドウが表示されます。「詳細」をクリックすると全文を確認できます。あとで見直したいときは、「設定 → 情報」の「最近の更新」をクリックしてください。

修正

  • Claude Code の集約モードで、/model の先頭に同じモデルが 4 行並んでいた問題。 これまでは集約モードをオンにすると、Claude Code のモデル一覧の先頭に同じモデルが 4 行(Opus、Sonnet、Haiku、Fable の 4 つの階層に対応)並び、その後ろにようやく集約したモデルが続いていました。現在は「Default」と集約したモデルだけが並び、各行にモデル名とコンテキストウィンドウが表示されます。集約モードを終了するとこの一覧も削除され、Claude Code は本来のデフォルトの一覧に戻ります。settings.json に modelPicker を手動で書いていた場合は、プロバイダーやモードを切り替えたときに上書きされます。Claude Code 2.1.243 以降が必要です。下の「アップグレードに関する注意」をご覧ください。
  • ChatGPT アカウントで使う Claude Code の会話が 400 エラーで止まっていた問題。 10 月 3 日以降、公式の Codex バックエンドは思考の記録にフィールドを 1 つ追加しながら、次のリクエストではそのフィールドを受け付けなくなりました。そのため ChatGPT アカウント(Codex OAuth)経由で Claude Code を使うと、会話の次のターンで 400 Unknown parameter: 'input[N].status' が発生していました。現在は思考の記録を再送するときに必要なフィールドだけを残すようにしており、すでにエラーになった会話も自動的に復旧します。操作は不要です。
  • 他のツールが Codex のモデルカタログ設定を変更すると、CC Switch のモデルマッピングと集約モデルが効かなくなっていた問題。 同種のツール(および旧バージョンの CC Switch)は、config.toml に model_catalog_json を書き込み、Codex に自分のモデルカタログを読ませます。これまで CC Switch はこの項目に手を付けなかったため、CC Switch が生成したモデルカタログが反映されず、直接接続モードでは警告すら出ませんでした。現在は、誰が書いたものかにかかわらず、切り替えのたびにこの項目を書き直します。モデルマッピングや集約モードでモデルカタログが必要なときは CC Switch が生成したカタログを指し、不要なときは削除します。特定のプロバイダーで独自のモデルカタログを使いたい場合は、そのプロバイダーの設定に書いてください。また、旧バージョンではプロバイダーを保存するときに、この項目が誤ってプロバイダー自身の設定に保存されることがありました。その場合は、集約モードの通知にある「CC Switch のモデルカタログを使う」ボタンをクリックすれば消去できます。
  • 時刻 MCP プリセット(time)が起動直後に終了していた問題。 プリセットが使っていた npm パッケージは実際には存在しませんでした。公式に公開されている uvx mcp-server-time を使うように変更しました。このプリセットからすでに追加したサーバーは自動では更新されないため、コマンドを uvx、引数を mcp-server-time に手動で変更してください。
  • Codex のモデルカタログで推論レベルを多く選ぶと、その行が横に広がっていた問題。 各行が常にヘッダーと揃うようになりました。連続して選んだレベルは「low → max」のように省略して表示し、マウスを重ねると全レベルとデフォルトのレベルを確認できます。
  • 使用量の期間選択:選択中の開始・終了の枠に余分なグレーの枠線が表示されなくなり、上のプリセットとの間隔も広げました。

使い心地の改善

  • Claude Code の集約モデルを変更しても再起動が不要に。 集約するプロバイダーやモデルの追加・削除、デフォルトモデルの変更、コンテキストウィンドウの変更は、実行中の Claude Code にすぐ反映されます。これまでの「Claude Code を再起動してください」という案内もなくなりました。Codex はモデルカタログを起動時にしか読み込まないため、引き続き再起動が必要です。
  • プロバイダーのフォームが、開いているタブに合わせて切り替わるように。 「集約」タブからプロバイダーを追加・編集すると簡易フォーム、「直接接続」や「ルーティング」タブから開くと完全なフォームになります。フォームを手動で切り替えるリンクはなくなり、簡易フォームのときはタイトルに「(集約モード)」と表示されます。
  • Codex の完全なフォームで、取得したモデルをモデルマッピングの表に直接追加できるように。 「モデル一覧を取得」をクリックすると、モデルマッピングの欄に集約フォームと同じ検索付きの一覧が表示されます。チェックしたモデルはそのまま新しい行になり、コンテキストウィンドウと推論レベルも自動で入力されます。隣の追加ボタンは「手動で追加」という名前になり、一覧にないモデルを補うためのボタンになりました。
  • 独自の背景色を持つプロバイダーアイコンがアイコン枠いっぱいに表示されるように。 88API や Qiniu のように背景色付きのアイコンは、これまで枠の中で小さな四角に縮んでいましたが、枠全体を埋めるようになりました。背景が透明なアイコンも少し大きくなり、周囲の余白が多すぎたいくつかのアイコンはトリミングしました。

アップグレードに関する注意

Claude Code の集約モードには Claude Code 2.1.243 以降が必要です。 集約したモデルは、Claude Code 2.1.243 で追加された modelPicker 設定を通じて /model に表示されるようになりました。それより前のバージョンはこの設定を無視するため、/model に集約したモデルが表示されません。デフォルトのモデルしか使えないか、/model <モデル ID> で手動で指定する必要があります。ターミナルで claude --version を実行するとバージョンを確認でき、claude update でアップグレードできます。

データベースのバージョンが 20 になりました。 Pi の同期スイッチを記録する列が追加されましたが、アップグレード時に Pi へは何も書き込みません。4.0.2 でデータベースを開いた後に 4.0.1、4.0.0 または 3.x に戻すと、「データベースのバージョンが新しすぎます」と表示されます。アップグレード前のデータベースは ~/.cc-switch/backups/ に自動でバックアップされます(db_backup_ で始まるファイル)。


謝辞

@parkavenue9639 と @ggbdpq(ChatGPT アカウントの 400 エラーの修正)、@Owlbay と @LystranG(Pi への MCP 同期、および Owlbay による時刻 MCP プリセットの修正)、@allenxu09(使用量の期間選択)の貢献に感謝します。また、時刻 MCP プリセットの問題を報告してくださった @killServer0 にも感謝します。

技術的な詳細は CHANGELOG をご覧ください。