From 85ad4969b3399500baaea9d46b1e08f87aba80e1 Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 24 Oct 2026 23:11:53 +0800 Subject: [PATCH] docs(release): add v4.0.20 release notes --- docs/release-notes/v4.0.20-en.md | 80 ++++++++++++++++++++++++++++++++ docs/release-notes/v4.0.20-ja.md | 80 ++++++++++++++++++++++++++++++++ docs/release-notes/v4.0.20-zh.md | 80 ++++++++++++++++++++++++++++++++ src/whats-new/4.0.20.json | 33 +++++++++++++ 4 files changed, 273 insertions(+) create mode 100644 docs/release-notes/v4.0.20-en.md create mode 100644 docs/release-notes/v4.0.20-ja.md create mode 100644 docs/release-notes/v4.0.20-zh.md create mode 100644 src/whats-new/4.0.20.json diff --git a/docs/release-notes/v4.0.20-en.md b/docs/release-notes/v4.0.20-en.md new file mode 100644 index 000000000..f4dd33c13 --- /dev/null +++ b/docs/release-notes/v4.0.20-en.md @@ -0,0 +1,80 @@ +# CC Switch v4.0.20 + +This release adds support for Oh My Pi, the 13th app managed by CC Switch: several providers can be written into its `models.yml` at the same time, MCP, Skills and prompts sync to Oh My Pi, sessions can be browsed and resumed, and the "Apps" page can install, upgrade and uninstall Oh My Pi. The "Apps" page is split into "Installed" and "Not installed" groups, and installed apps can be dragged to reorder them, with the sidebar following that order. Cards for official Kimi accounts can now have their models edited and be removed from Kimi Code; managed ChatGPT accounts can sign in through the browser. Other fixes cover DeepSeek showing "Plan expired" once the balance runs out, Kimi Code subagent usage not being counted, Skills updates failing with HTTP 429 every time, quota queries returning 401 when Pi's API Key is written as an environment variable reference, Claude Code session titles showing as ``, and the header not dragging the window on Linux with app-level window controls enabled. For everything new in 4.0, see the [v4.0 release notes](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.4-en.md). + +--- + +## New + +### Oh My Pi + +Oh My Pi (the command is `omp`) is now a separate app with its own providers, MCP, Skills, prompts and sessions ([#6747](https://github.com/farion1231/cc-switch/pull/6747), [#8308](https://github.com/farion1231/cc-switch/pull/8308)). Its configuration is in `~/.omp/agent`, or in `~/.omp/profiles//agent` when you use a named profile; you can also point it to another folder in the settings. + +- **Providers can be enabled at the same time.** As with Pi, cards show "Enable" and "Remove"; several providers are written into `models.yml` at once, and you choose among them in Oh My Pi. Only the entry CC Switch writes is changed, and the rest of the file is left as it is; entries that use YAML anchors, tags or similar syntax are not rewritten, and you are asked to edit them by hand. +- **Checked against Oh My Pi's rules before writing.** If even one provider is invalid, Oh My Pi disables every custom provider, so a value it does not accept is flagged as soon as you save and is not written. When there is only a legacy `models.json` and no `models.yml` yet, you are asked to run `omp` once so it migrates the file itself, rather than CC Switch creating a new file that would push out your existing providers. +- **Adding providers.** The form is shared with Pi, and the presets also come from Pi's catalog; after "Fetch Models", you pick models in a dialog. "Model discovery" (letting Oh My Pi query the endpoint for its models itself) sits in "Advanced Options" together with request headers and compatibility options. The API Key can be an environment variable name; when querying quota, CC Switch resolves the actual value using Oh My Pi's rules. +- **MCP, Skills, prompts.** MCP is written into `mcp.json`, Skills are installed into Oh My Pi's own skills folder, and prompts are written into `AGENTS.md`. Oh My Pi also looks for MCP servers and skills in other tools' folders, so it may load more than CC Switch lists; the note on the Oh My Pi column of the MCP and Skills pages explains this. +- **Sessions.** You can browse and resume Oh My Pi sessions, and previews can show images from the project. +- **Manage Oh My Pi on the "Apps" page.** It is installed with the official install script (using Bun if it is installed, otherwise downloading the official binary), upgraded by running `omp update` (installs from Homebrew still go through Homebrew), and can be uninstalled. +- Oh My Pi does not go through local routing, and its usage is not tracked yet. + +### Managed ChatGPT accounts can sign in through the browser + +When adding a managed ChatGPT account in Accounts or in the Codex provider form, you can choose "Browser login" under "Login method" ([#8288](https://github.com/farion1231/cc-switch/pull/8288), [#8284](https://github.com/farion1231/cc-switch/issues/8284)). Some enterprise workspaces turn off device-code sign-in, so these accounts could not be added before; signing in again can also use the browser. "Device-code login" is still available. + +## Improvements + +**The "Apps" page is split into "Installed" and "Not installed" groups.** Each group title shows a count, and a group with no apps is hidden; right after opening, while detection is still running, a single table is shown first and split into groups once detection finishes, so rows do not jump one by one. Claude Desktop has no command to check, so it is grouped by whether Desktop is installed, and its row still says whether it is connected to CC Switch. + +**Installed apps can be dragged to reorder them.** Hovering over a row shows a drag handle at its start, the same as sorting provider cards. The sidebar and the app opened by default both follow this order; the order is stored only on this device and is not cloud-synced. + +**Cards for official Kimi accounts can be edited and removed.** Before, official cards could only be managed in Accounts, and their models stayed as they were at sign-in. Now you can edit the card: the connection and sign-in are still managed by Accounts, and here you only change the models; "Fetch Models" reads the official models currently available to that account, with the official context window, capabilities and thinking levels. Official cards can also be removed from Kimi Code with "Remove", like other Kimi providers; the card and the sign-in are kept, and clicking "Add" restores it. To delete one, remove it first, or delete it in Accounts. + +**Kimi accounts without a Kimi Code plan show "No subscription".** Before, the quota column in Accounts and on official cards was empty, which looked like a failed query. + +**The amount is shown even when the balance is used up.** When the balance was zero or in debt, provider cards and the tray used to say only "Balance used up", without showing how much was owed, and the red text was hard to tell apart from "Quota unavailable". Now it always shows "Balance "; at zero or below, the whole line turns red on the card and amber in the tray, as before. + +**The Chinese text for a failed quota query now reads "额度查询失败"** (formerly "额度没查到") on provider cards, in Accounts and in the tray; this only changes the Simplified and Traditional Chinese text, and English is unchanged. + +**Pi picks fetched models in a dialog.** Before, models could only be chosen row by row from a dropdown; now, as with OpenCode, Codex and Kimi Code, a list pops up, each checked model is added as a row with its parameters filled in from presets or models.dev, and unchecking removes the matching row. The per-row dropdown is still there. + +**Pi's request headers and compatibility options move into "Advanced Options".** It is collapsed by default, matching the Claude Code and Codex forms; the explanations of the compatibility options are rewritten in plain language. + +**When Claude Code or Claude Desktop uses a GitHub Copilot provider, the upstream format shows "Selected automatically by routing"** ([#8196](https://github.com/farion1231/cc-switch/pull/8196), [#8195](https://github.com/farion1231/cc-switch/issues/8195)). Copilot's upstream format is already chosen automatically per model; before, the form still let you pick one by hand, which had no effect. + +**All counts on the Usage page's detail tabs are shown at once.** Before, the "Models" tab only showed its count after you opened it, and switching apps made the three counts disappear and reappear, shifting the tab bar. + +**The pricing table adds Kimi K3.1 Pro and K3.1 Pro HighSpeed.** + +**Turkish translation completed** ([#8616](https://github.com/farion1231/cc-switch/pull/8616)). + +**Presets:** Each vendor's preset models are updated to their current latest models, so they work as soon as you enter a Key. + +## Fixes + +- **When a DeepSeek balance was zero or in debt, the card and tray showed "Plan expired" and the balance amount disappeared** ([#8812](https://github.com/farion1231/cc-switch/issues/8812)). The "available" flag DeepSeek returns only says whether the balance is enough for calls, and it turns false as soon as the balance reaches zero, while the Key itself is still valid. The balance is now shown as usual; when the Key really is invalid, it is still reported as an authentication failure. +- **Kimi Code subagent usage was not counted** ([#8792](https://github.com/farion1231/cc-switch/issues/8792)). Kimi Code writes each subagent's records to a separate file, and only the main agent's file used to be read. Now every subagent is imported and billed per call, without double-counting the main agent's summary. +- **Usage from Antigravity subagents and ACP sessions was recorded as an unknown model** ([#8693](https://github.com/farion1231/cc-switch/pull/8693)). The model is now recovered from agy's local conversation database (read-only, without waiting for agy to finish writing). +- **Installing or updating Skills kept failing with HTTP 429** ([#8813](https://github.com/farion1231/cc-switch/issues/8813)). GitHub repository archives were downloaded without a User-Agent, and GitHub throttles such requests more strictly, which is easier to hit when many people share one outbound IP. A `CC-Switch/` User-Agent is now sent. +- **Quota and balance queries returned 401 when Pi's API Key was written as an environment variable reference such as `$NAME` or `${NAME}`** ([#8822](https://github.com/farion1231/cc-switch/issues/8822)). The reference used to be sent as the Key verbatim; the variable's value is now resolved using Pi's rules, and when the variable is not set, the reference is no longer sent as the Key either. Keys in the `!command` form are still never run by CC Switch. The resolved value is used only for that query and is not written back to the configuration. +- **Claude Code sessions showed `Set model to opus` as their title in the session manager** ([#8799](https://github.com/farion1231/cc-switch/pull/8799), [#8798](https://github.com/farion1231/cc-switch/issues/8798)). The title went wrong when a session started by running a local command such as `/model` or `/effort`, and the last message showed the command output when a session ended with one. These records are now skipped. +- **On Linux with "Enable app-level window controls" turned on, the header could not drag the window, and the window edges showed no resize cursor** ([#8092](https://github.com/farion1231/cc-switch/pull/8092), [#8091](https://github.com/farion1231/cc-switch/issues/8091)). +- **When Codex went through a Chat upstream, the placeholder text in an orphaned tool result with images said the images were in "the following message", but no such message existed** ([#8157](https://github.com/farion1231/cc-switch/pull/8157)). It now says the images are attached as images. + +## Upgrade Notes + +**The database schema goes from 22 to 23**, adding an Oh My Pi toggle for MCP. The database is backed up automatically before the upgrade; if you go back to an older version after upgrading, it reports that the database version is too new and cannot open it. + +- Oh My Pi is shown in the sidebar by default; if you don't use it, you can turn off "Show Oh My Pi in the sidebar" on the "Apps" page. + +--- + +## Thanks + +Thanks to [@JackieJK](https://github.com/JackieJK), [@allenxu09](https://github.com/allenxu09) (Oh My Pi support), [@Llugaes](https://github.com/Llugaes) (ChatGPT account browser login), [@dsdbb520](https://github.com/dsdbb520) (Antigravity subagent usage), [@L4XB](https://github.com/L4XB) (Claude Code session titles), [@vianrina](https://github.com/vianrina) (Linux window dragging), [@Railgun-wiki](https://github.com/Railgun-wiki) (Copilot upstream format), [@NeeYoonc](https://github.com/NeeYoonc) (image placeholder for orphaned tool results), [@alkank](https://github.com/alkank) (Turkish translation) for their contributions. + +Thanks to [@CypressStar](https://github.com/CypressStar), [@taylortaurus](https://github.com/taylortaurus), [@SoraStr](https://github.com/SoraStr), [@Lain-in-coding](https://github.com/Lain-in-coding), [@TomMao23](https://github.com/TomMao23), [@L-Molish](https://github.com/L-Molish), [@taki-ohh](https://github.com/taki-ohh) for reporting issues and providing reproduction details and fix ideas. + +Special thanks to the following contributors: your PRs found and fixed real problems, and were closed only because the same problems were later fixed separately on the main branch. [@yvzhou1111](https://github.com/yvzhou1111), [@AkimioJR](https://github.com/AkimioJR), [@KirisameLonnet](https://github.com/KirisameLonnet). + +For the full technical details, see the [CHANGELOG](https://github.com/farion1231/cc-switch/blob/main/CHANGELOG.md). diff --git a/docs/release-notes/v4.0.20-ja.md b/docs/release-notes/v4.0.20-ja.md new file mode 100644 index 000000000..81d00d14e --- /dev/null +++ b/docs/release-notes/v4.0.20-ja.md @@ -0,0 +1,80 @@ +# CC Switch v4.0.20 + +今回のリリースでは、Oh My Pi に対応しました。CC Switch が管理する 13 番目のアプリです。複数のプロバイダーを同時に `models.yml` に書き込むことができ、MCP、Skills、プロンプトは Oh My Pi に同期され、セッションは閲覧と再開ができます。「アプリ」ページで Oh My Pi のインストール、アップグレード、アンインストールもできます。「アプリ」ページは「インストール済み」「未インストール」の 2 つのグループに分かれ、インストール済みのアプリはドラッグで並べ替えられ、サイドバーもその順序に従います。Kimi 公式アカウントのカードでモデルを編集したり、Kimi Code から削除したりできるようになり、マネージド ChatGPT アカウントはブラウザでログインできるようになりました。このほか、DeepSeek の残高を使い切ると「プラン期限切れ」と表示される、Kimi Code のサブエージェントの使用量が集計されない、Skills の更新で HTTP 429 が出続ける、Pi の API Key を環境変数の参照で書くと利用枠の照会が 401 になる、Claude Code のセッションのタイトルが `` と表示される、Linux でアプリ内ウィンドウボタンを有効にするとヘッダーでウィンドウをドラッグできない、といった問題を修正しました。4.0 の更新内容の全体は [v4.0 リリースノート](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.4-ja.md) をご覧ください。 + +--- + +## 新機能 + +### Oh My Pi + +Oh My Pi(コマンドは `omp`)が独立したアプリになりました。プロバイダー、MCP、Skills、プロンプト、セッションをそれぞれ持ちます([#6747](https://github.com/farion1231/cc-switch/pull/6747)、[#8308](https://github.com/farion1231/cc-switch/pull/8308))。設定は `~/.omp/agent` にあり、名前付きのプロファイルを使っている場合は `~/.omp/profiles//agent` を使います。設定でほかのディレクトリに変更することもできます。 + +- **プロバイダーを同時に有効にできます。** Pi と同じく、カードには「有効にする」「削除」があり、複数のプロバイダーを同時に `models.yml` に書き込み、Oh My Pi の中で選んで使います。変更するのは CC Switch が書き込んだエントリだけで、ファイルのほかの内容はそのまま残ります。YAML のアンカーやタグといった書き方を使っているエントリは書き換えず、手動で変更するよう案内します。 +- **書き込む前に Oh My Pi のルールで確認します。** Oh My Pi はプロバイダーが 1 つでもルールに合わないと、カスタムプロバイダーをすべて無効にするため、Oh My Pi が受け付けない値を入力した場合は保存するときに通知し、書き込みません。旧形式の `models.json` だけがあり、`models.yml` がまだない場合は、先に `omp` を一度実行して Oh My Pi 自身に移行させるよう案内します。新しいファイルを作って元のプロバイダーを使えなくしてしまうことはありません。 +- **プロバイダーの追加。** フォームは Pi と共通で、プリセットも Pi のカタログから取ります。「モデル一覧を取得」した後は、ダイアログでモデルを選びます。「モデルの自動検出」(Oh My Pi 自身がエンドポイントに利用できるモデルを問い合わせる機能)は、ヘッダー、互換性オプションと一緒に「詳細オプション」にあります。API Key には環境変数名を書くこともでき、利用枠を照会するときは CC Switch が Oh My Pi のルールに従って実際の値を取り出します。 +- **MCP、Skills、プロンプト。** MCP は `mcp.json` に書き込み、Skills は Oh My Pi 自身のスキルディレクトリにインストールし、プロンプトは `AGENTS.md` に書き込みます。Oh My Pi はほかのツールのディレクトリからも MCP とスキルを探すため、実際に読み込まれるものが CC Switch に表示されているものより多い場合があります。この点は MCP と Skills のページにある Oh My Pi の列の説明で解説しています。 +- **セッション。** Oh My Pi のセッションを閲覧、再開でき、プレビューではプロジェクト内の画像も表示できます。 +- **「アプリ」ページで Oh My Pi を管理。** 公式のインストールスクリプトでインストールし(Bun が入っていれば Bun を使い、なければ公式のバイナリをダウンロードします)、アップグレードでは `omp update` を実行します(Homebrew でインストールした場合は引き続き Homebrew を使います)。アンインストールもできます。 +- Oh My Pi はローカルルーティングを経由せず、使用量もまだ集計しません。 + +### マネージド ChatGPT アカウントがブラウザでログインできるように + +「アカウント」ページまたは Codex のプロバイダーフォームでマネージド ChatGPT アカウントを追加するとき、「ログイン方法」で「ブラウザでログイン」を選べるようになりました([#8288](https://github.com/farion1231/cc-switch/pull/8288)、[#8284](https://github.com/farion1231/cc-switch/issues/8284))。一部の企業ワークスペースではデバイスコードによるログインが無効になっており、これまでそうしたアカウントは追加できませんでした。再ログインにもブラウザを使えます。「デバイスコードでログイン」も引き続き選べます。 + +## 改善 + +**「アプリ」ページを「インストール済み」「未インストール」の 2 つのグループに分けました。** 各グループの見出しには件数が付き、アプリのないグループは表示しません。開いた直後のまだ検出しているあいだは 1 つの表で表示し、検出が終わってからグループに分けるので、行が 1 つずつ移動することはありません。Claude Desktop には調べられるコマンドがないため、Desktop がインストールされているかどうかでグループを分け、行には従来どおり CC Switch に接続済みかどうかを表示します。 + +**インストール済みのアプリをドラッグで並べ替えられるように。** 行にマウスを移すと行の先頭にドラッグ用のハンドルが表示され、プロバイダーカードの並べ替えと同じように操作できます。サイドバーと既定で開くアプリもこの順序に従います。順序はこのパソコンにだけ保存され、クラウドには同期されません。 + +**Kimi 公式アカウントのカードを編集、削除できるように。** これまで公式カードは「アカウント」ページでしか管理できず、モデルはログインしたときのままでした。現在はカードを編集できます。接続とログインは引き続き「アカウント」ページで管理し、ここで変更するのはモデルだけです。「モデル一覧を取得」はこのアカウントで現在使える公式モデルを読み込み、公式のコンテキストウィンドウ、機能、思考レベルも反映します。公式カードもほかの Kimi のプロバイダーと同じく、Kimi Code から「削除」できます。カードとログインは残るので、もう一度「追加」を押せば元に戻ります。完全に削除するには、先に「削除」で外すか、「アカウント」ページで削除します。 + +**Kimi Code のプランがない Kimi アカウントには「未契約」と表示するように。** これまでは「アカウント」ページと公式カードの利用枠の欄が空のままで、照会に失敗したように見えていました。 + +**残高を使い切っても金額を表示するように。** 残高がゼロまたはマイナスのとき、これまでプロバイダーカードとトレイには「残高なし」としか表示されず、どれだけ不足しているかがわからないうえ、赤い文字も「残量を取得できません」と見分けがつきませんでした。現在は常に「残高 <金額>」と表示し、ゼロまたはマイナスのときは、これまでどおりカードでは行全体が赤く、トレイではオレンジ色になります。 + +**利用枠の照会に失敗したときの中国語の表示を「额度查询失败」に変更しました**(以前は「额度没查到」)。プロバイダーカード、「アカウント」ページ、トレイがまとめて変わります。変更したのは簡体字中国語と繁体字中国語(「額度查詢失敗」)の表示だけで、日本語の「残量を取得できません」は変わりません。 + +**Pi で「モデル一覧を取得」した後、ダイアログで選べるように。** これまでは 1 行ずつドロップダウンから選ぶしかありませんでしたが、現在は OpenCode、Codex、Kimi Code と同じく一覧が表示され、選んだモデルは自動で 1 行ずつ追加され、プリセットや models.dev からパラメーターが補われます。選択を外すと対応する行が削除されます。行ごとのドロップダウンも引き続き使えます。 + +**Pi のヘッダーと互換性オプションを「詳細オプション」にまとめました。** 既定では折りたたまれており、Claude Code、Codex のフォームと同じです。互換性オプションの説明もわかりやすい言葉に書き直しました。 + +**Claude Code、Claude Desktop で GitHub Copilot のプロバイダーを選ぶと、上流フォーマットに「モデルに応じてルーティングが自動選択」と表示するように**([#8196](https://github.com/farion1231/cc-switch/pull/8196)、[#8195](https://github.com/farion1231/cc-switch/issues/8195))。Copilot の上流フォーマットはもともとモデルに応じて自動で選ばれますが、これまではフォームで手動で選べてしまい、選んでも反映されませんでした。 + +**使用量ページの明細タブの件数を一度にすべて表示するように。** これまでは「モデル」タブは開くまで件数が出ず、アプリを切り替えると 3 つの件数がいったん消えてからまた表示され、タブバーもそれに合わせてずれていました。 + +**料金表に Kimi K3.1 Pro と K3.1 Pro HighSpeed を追加しました。** + +**トルコ語の翻訳を補完しました**([#8616](https://github.com/farion1231/cc-switch/pull/8616))。 + +**プリセット:** 各社のプリセットのモデルを現在の最新モデルに更新しました。Key を入力すればそのまま使えます。 + +## 修正 + +- **DeepSeek の残高がゼロまたはマイナスのとき、カードとトレイに「プラン期限切れ」と表示され、残高の数字が消える問題**([#8812](https://github.com/farion1231/cc-switch/issues/8812))。DeepSeek が返す「利用可能かどうか」は残高が呼び出しに足りるかどうかを示すだけで、残高がゼロになると「いいえ」になりますが、Key 自体は有効なままです。現在は通常どおり残高を表示します。Key が本当に無効になっている場合は、引き続き認証エラーとして通知します。 +- **Kimi Code のサブエージェントの使用量が集計されない問題**([#8792](https://github.com/farion1231/cc-switch/issues/8792))。Kimi Code はサブエージェントごとの記録を別のファイルに書き込みますが、これまではメインエージェントのファイルしか読んでいませんでした。現在はすべてのサブエージェントを取り込み、呼び出しごとに記録するので、メインエージェントの集計と重複して計上されることはありません。 +- **Antigravity のサブエージェントと ACP セッションの使用量が不明なモデルとして記録される問題**([#8693](https://github.com/farion1231/cc-switch/pull/8693))。現在は agy のローカルの会話データベースからモデルを取得します(読み取りのみで、agy の書き込みが終わるのを待つこともありません)。 +- **Skills のインストールや更新で HTTP 429 が出続ける問題**([#8813](https://github.com/farion1231/cc-switch/issues/8813))。GitHub リポジトリのアーカイブをダウンロードするときに User-Agent を付けていませんでした。GitHub はこうしたリクエストをより厳しく制限しており、複数の人が 1 つの送信元 IP を共有しているとさらに起きやすくなります。現在は `CC-Switch/` を付けます。 +- **Pi の API Key を `$NAME`、`${NAME}` のような環境変数の参照で書くと、利用枠と残高の照会が 401 になる問題**([#8822](https://github.com/farion1231/cc-switch/issues/8822))。これまでは参照をそのまま Key として送っていましたが、現在は Pi のルールに従って変数の値を取り出します。変数が設定されていない場合も、参照を Key として送ることはなくなりました。`!command` 形式の Key は、これまでどおり CC Switch が実行することはありません。取り出した値はその照会にだけ使い、設定には書き戻しません。 +- **セッション管理で Claude Code のセッションのタイトルが `Set model to opus` と表示される問題**([#8799](https://github.com/farion1231/cc-switch/pull/8799)、[#8798](https://github.com/farion1231/cc-switch/issues/8798))。セッションの冒頭で `/model`、`/effort` などのローカルコマンドを実行するとタイトルがこうなり、最後にローカルコマンドを実行した場合は一覧の最後のメッセージにもコマンドの出力が表示されていました。現在はこうした記録をスキップします。 +- **Linux で「アプリ内ウィンドウボタンを有効化」をオンにすると、ヘッダーでウィンドウをドラッグできず、ウィンドウの端にサイズ変更のカーソルも表示されない問題**([#8092](https://github.com/farion1231/cc-switch/pull/8092)、[#8091](https://github.com/farion1231/cc-switch/issues/8091))。 +- **Codex が Chat のアップストリームを経由するとき、画像付きの孤立したツール結果で、プレースホルダーの文が画像は「次のメッセージ」にあると書いているのに、実際にはそのメッセージがない問題**([#8157](https://github.com/farion1231/cc-switch/pull/8157))。現在は画像が画像として添付済みであると書くようにしました。 + +## アップグレードに関する注意 + +**データベースのバージョンが 22 から 23 に上がります。** MCP に Oh My Pi のスイッチを追加するためです。アップグレード前にデータベースは自動でバックアップされます。アップグレード後に旧バージョンに戻すと、旧バージョンはデータベースのバージョンが新しすぎると表示し、開けません。 + +- Oh My Pi はデフォルトでサイドバーに表示されます。使わない場合は「アプリ」ページで「Oh My Pi をサイドバーに表示」をオフにできます。 + +--- + +## 謝辞 + +[@JackieJK](https://github.com/JackieJK)、[@allenxu09](https://github.com/allenxu09)(Oh My Pi への対応)、[@Llugaes](https://github.com/Llugaes)(ChatGPT アカウントのブラウザログイン)、[@dsdbb520](https://github.com/dsdbb520)(Antigravity のサブエージェントの使用量)、[@L4XB](https://github.com/L4XB)(Claude Code のセッションのタイトル)、[@vianrina](https://github.com/vianrina)(Linux のウィンドウのドラッグ)、[@Railgun-wiki](https://github.com/Railgun-wiki)(Copilot の上流フォーマット)、[@NeeYoonc](https://github.com/NeeYoonc)(孤立したツール結果の画像のプレースホルダー)、[@alkank](https://github.com/alkank)(トルコ語の翻訳)の貢献に感謝します。 + +問題の報告、再現情報や修正のアイデアの提供に協力してくださった [@CypressStar](https://github.com/CypressStar)、[@taylortaurus](https://github.com/taylortaurus)、[@SoraStr](https://github.com/SoraStr)、[@Lain-in-coding](https://github.com/Lain-in-coding)、[@TomMao23](https://github.com/TomMao23)、[@L-Molish](https://github.com/L-Molish)、[@taki-ohh](https://github.com/taki-ohh) に感謝します。 + +以下のコントリビューターの皆さんに、心より感謝申し上げます。皆さんの PR は実際に起きていた問題を見つけ、修正してくださいました。同じ問題がその後メインラインで別途修正されたため、PR はクローズとなりました。[@yvzhou1111](https://github.com/yvzhou1111)、[@AkimioJR](https://github.com/AkimioJR)、[@KirisameLonnet](https://github.com/KirisameLonnet)。 + +技術的な詳細は [CHANGELOG](https://github.com/farion1231/cc-switch/blob/main/CHANGELOG.md) をご覧ください。 diff --git a/docs/release-notes/v4.0.20-zh.md b/docs/release-notes/v4.0.20-zh.md new file mode 100644 index 000000000..9309b3847 --- /dev/null +++ b/docs/release-notes/v4.0.20-zh.md @@ -0,0 +1,80 @@ +# CC Switch v4.0.20 + +本版本新增对 Oh My Pi 的支持,它是 CC Switch 管理的第 13 个应用:多个供应商可以同时写进它的 `models.yml`,MCP、Skills、提示词同步给 Oh My Pi,会话可以浏览和恢复,「应用」页可以安装、升级、卸载 Oh My Pi。「应用」页分成「已安装」「未安装」两组,已安装的应用可以拖动排序,侧栏跟着这个顺序。Kimi 官方账号的卡片现在可以编辑模型、从 Kimi Code 里移除;托管的 ChatGPT 账号可以用浏览器登录。另外修复了 DeepSeek 余额用完后显示成「套餐已过期」、Kimi Code 子代理的用量没有统计、Skills 更新一直报 HTTP 429、Pi 的 API Key 写成环境变量引用时额度查询 401、Claude Code 会话标题显示成 ``、Linux 上开启应用级窗口按钮后页头拖不动等问题。4.0 完整的更新内容请见 [v4.0 发布说明](https://github.com/farion1231/cc-switch/blob/main/docs/release-notes/v4.0.4-zh.md)。 + +--- + +## 新增 + +### Oh My Pi + +Oh My Pi(命令是 `omp`)现在是一个独立的应用,有自己的供应商、MCP、Skills、提示词和会话([#6747](https://github.com/farion1231/cc-switch/pull/6747)、[#8308](https://github.com/farion1231/cc-switch/pull/8308))。配置在 `~/.omp/agent`,用了命名 profile 时在 `~/.omp/profiles/<名称>/agent`;也可以在设置里改成别的目录。 + +- **供应商可以同时启用。** 和 Pi 一样,卡片上是「启用」「移除」,多个供应商同时写进 `models.yml`,在 Oh My Pi 里选用。只改 CC Switch 写的那一条,文件里其他内容原样保留;用了 YAML 锚点、标签这类写法的条目不会被重写,会提示你手动修改。 +- **写入前按 Oh My Pi 的规则检查。** Oh My Pi 只要有一条供应商不合规,就会停用所有自定义供应商,所以填了它不接受的值,保存时会直接提示,不会写进去。只有旧版的 `models.json`、还没有 `models.yml` 时,会提示你先运行一次 `omp`,让它自己迁移,不会新建文件挤掉你原来的供应商。 +- **添加供应商。** 表单和 Pi 共用,预设也来自 Pi 的目录;「获取模型列表」后在弹窗里勾选模型。「模型自动发现」(让 Oh My Pi 自己去接口查有哪些模型)和请求头、兼容选项一起放在「高级选项」里。API Key 可以写环境变量名,查询额度时 CC Switch 会按 Oh My Pi 的规则取出实际的值。 +- **MCP、Skills、提示词。** MCP 写进 `mcp.json`,Skills 装进 Oh My Pi 自己的技能目录,提示词写进 `AGENTS.md`。Oh My Pi 还会从其他工具的目录里找 MCP 和技能,实际加载的可能比 CC Switch 里列出的多,MCP 和 Skills 页 Oh My Pi 一列的说明里有解释。 +- **会话。** 可以浏览和恢复 Oh My Pi 的会话,预览里能显示项目里的图片。 +- **「应用」页管理 Oh My Pi。** 用官方安装脚本安装(装了 Bun 就用 Bun,没装就下载官方的二进制),升级运行 `omp update`(用 Homebrew 装的仍然走 Homebrew),可以卸载。 +- Oh My Pi 不经过本地路由,也暂不统计用量。 + +### 托管 ChatGPT 账号可以用浏览器登录 + +在授权中心或 Codex 的供应商表单里添加托管 ChatGPT 账号时,可以在「登录方式」里选「浏览器登录」([#8288](https://github.com/farion1231/cc-switch/pull/8288)、[#8284](https://github.com/farion1231/cc-switch/issues/8284))。有些企业工作区关掉了设备代码登录,这些账号以前加不进来;重新登录也可以用浏览器。「设备代码登录」仍然可选。 + +## 改进 + +**「应用」页分成「已安装」「未安装」两组。** 每组标题带数量,没有应用的组不显示;刚打开、还在检测时先显示一整张表,检测完再分组,行不会一个个跳。Claude Desktop 没有命令可查,按是否装了 Desktop 来分组,行里照旧写是否已接入 CC Switch。 + +**已安装的应用可以拖动排序。** 鼠标移到某一行上,行首会出现拖动手柄,和供应商卡片排序一样。侧栏和默认打开的应用都跟着这个顺序;顺序只存在本机,不随云同步。 + +**Kimi 官方账号的卡片可以编辑和移除。** 以前官方卡片只能在授权中心管理,模型停在登录时的那一份。现在可以编辑卡片:连接和登录仍由授权中心管,这里只改模型,「获取模型列表」读取这个账号当前可用的官方模型,带上官方的上下文窗口、能力和思考档位。官方卡片也可以像其他 Kimi 供应商一样从 Kimi Code 里「移除」,卡片和登录都保留,再点「添加」就恢复;要删除,先移除,或者到授权中心删。 + +**没有 Kimi Code 套餐的 Kimi 账号显示「未订阅」。** 以前授权中心和官方卡片的额度一栏是空的,看起来像查询失败。 + +**余额用完也显示金额。** 余额为零或欠费时,供应商卡片和托盘以前只写「余额已用完」,看不出欠了多少,红字也和「额度查询失败」分不清。现在一律显示「余额 <金额>」,为零或负数时卡片上整行变红、托盘里变成橙色,和以前一样。 + +**额度查询失败的中文提示改成「额度查询失败」**(以前是「额度没查到」),供应商卡片、授权中心和托盘一起改。 + +**Pi 获取模型列表后在弹窗里勾选。** 以前只能逐行从下拉框里选,现在和 OpenCode、Codex、Kimi Code 一样弹出列表,勾选的模型自动加成一行,从预设或 models.dev 补上参数;取消勾选会删掉对应的行。逐行的下拉框还在。 + +**Pi 的请求头和兼容选项收进「高级选项」。** 默认收起,和 Claude Code、Codex 的表单一致;兼容选项的说明改成了白话。 + +**Claude Code、Claude Desktop 选 GitHub Copilot 供应商时,上游格式显示为「由路由按模型自动选择」**([#8196](https://github.com/farion1231/cc-switch/pull/8196)、[#8195](https://github.com/farion1231/cc-switch/issues/8195))。Copilot 的上游格式本来就按模型自动选,以前表单里还能手选,选了也不生效。 + +**用量页明细页签的数量一次全显示。** 以前「模型」页签要点开才有数量,切换应用时三个数量会消失再出现,页签栏跟着跳。 + +**价格表新增 Kimi K3.1 Pro 和 K3.1 Pro HighSpeed。** + +**土耳其语翻译补全**([#8616](https://github.com/farion1231/cc-switch/pull/8616))。 + +**预设:** 各家预设的模型更新到当前的最新型号,填上 Key 就能用。 + +## 修复 + +- **DeepSeek 余额为零或欠费时,卡片和托盘显示「套餐已过期」,余额数字不见了**([#8812](https://github.com/farion1231/cc-switch/issues/8812))。DeepSeek 返回的「是否可用」只表示余额够不够调用,余额一到零就变成否,Key 本身仍然有效。现在照常显示余额;Key 真的失效时,仍按认证失败提示。 +- **Kimi Code 子代理的用量没有统计进来**([#8792](https://github.com/farion1231/cc-switch/issues/8792))。Kimi Code 把每个子代理的记录写在单独的文件里,以前只读了主代理的那份。现在每个子代理都会导入,按每次调用记账,不会和主代理的汇总重复计算。 +- **Antigravity 子代理和 ACP 会话的用量记成未知模型**([#8693](https://github.com/farion1231/cc-switch/pull/8693))。现在从 agy 本地的对话数据库里找回模型(只读,不会等 agy 写完)。 +- **Skills 安装或更新一直报 HTTP 429**([#8813](https://github.com/farion1231/cc-switch/issues/8813))。下载 GitHub 仓库压缩包时没带 User-Agent,GitHub 对这类请求限流更严,多人共用一个出口 IP 时更容易碰到。现在会带上 `CC-Switch/`。 +- **Pi 的 API Key 写成 `$NAME`、`${NAME}` 这类环境变量引用时,额度和余额查询报 401**([#8822](https://github.com/farion1231/cc-switch/issues/8822))。以前把引用原样当成 Key 发出去,现在按 Pi 的规则取出变量的值;变量没设置时,也不会再把引用当成 Key 发出去。`!command` 形式的 Key,CC Switch 仍然不会执行。取出的值只用于这次查询,不写回配置。 +- **Claude Code 会话在会话管理里的标题显示成 `Set model to opus`**([#8799](https://github.com/farion1231/cc-switch/pull/8799)、[#8798](https://github.com/farion1231/cc-switch/issues/8798))。会话一开头运行了 `/model`、`/effort` 这类本地命令时,标题会这样;最后运行了本地命令时,列表里显示的最后一条消息也是命令输出。现在会跳过这些记录。 +- **Linux 上开启「启用应用级窗口按钮」后,页头拖不动窗口,窗口边缘也没有缩放光标**([#8092](https://github.com/farion1231/cc-switch/pull/8092)、[#8091](https://github.com/farion1231/cc-switch/issues/8091))。 +- **Codex 经 Chat 上游时,带图片的孤立工具结果里,占位文字说图片在「下一条消息」里,实际并没有这条消息**([#8157](https://github.com/farion1231/cc-switch/pull/8157))。现在改成说图片已经作为图片附上。 + +## 升级说明 + +**数据库版本从 22 升到 23**,为 MCP 增加 Oh My Pi 的开关。升级前会自动备份数据库;升级后再退回旧版本,旧版本会提示数据库版本过新,打不开。 + +- Oh My Pi 默认显示在侧栏,不用的话可以在「应用」页关掉「在侧栏显示 Oh My Pi」。 + +--- + +## 致谢 + +感谢 [@JackieJK](https://github.com/JackieJK)、[@allenxu09](https://github.com/allenxu09)(Oh My Pi 支持)、[@Llugaes](https://github.com/Llugaes)(ChatGPT 账号浏览器登录)、[@dsdbb520](https://github.com/dsdbb520)(Antigravity 子代理用量)、[@L4XB](https://github.com/L4XB)(Claude Code 会话标题)、[@vianrina](https://github.com/vianrina)(Linux 窗口拖动)、[@Railgun-wiki](https://github.com/Railgun-wiki)(Copilot 上游格式)、[@NeeYoonc](https://github.com/NeeYoonc)(孤立工具结果的图片占位)、[@alkank](https://github.com/alkank)(土耳其语翻译)的贡献。 + +感谢 [@CypressStar](https://github.com/CypressStar)、[@taylortaurus](https://github.com/taylortaurus)、[@SoraStr](https://github.com/SoraStr)、[@Lain-in-coding](https://github.com/Lain-in-coding)、[@TomMao23](https://github.com/TomMao23)、[@L-Molish](https://github.com/L-Molish)、[@taki-ohh](https://github.com/taki-ohh) 报告问题、提供复现信息和修复思路。 + +特别感谢以下贡献者:你们的 PR 发现并修复了真实的问题,只是同样的问题后来在主线上另行修好,PR 因此关闭。[@yvzhou1111](https://github.com/yvzhou1111)、[@AkimioJR](https://github.com/AkimioJR)、[@KirisameLonnet](https://github.com/KirisameLonnet)。 + +完整的技术细节请见 [CHANGELOG](https://github.com/farion1231/cc-switch/blob/main/CHANGELOG.md)。 diff --git a/src/whats-new/4.0.20.json b/src/whats-new/4.0.20.json new file mode 100644 index 000000000..36e4452ce --- /dev/null +++ b/src/whats-new/4.0.20.json @@ -0,0 +1,33 @@ +{ + "version": "4.0.20", + "items": [ + { + "type": "new", + "zh": "支持 Oh My Pi,供应商、MCP、Skills、提示词和会话都能管理", + "zh-TW": "支援 Oh My Pi,供應商、MCP、Skills、提示詞和會話都能管理", + "en": "Oh My Pi support: providers, MCP, Skills, prompts and sessions", + "ja": "Oh My Pi に対応。プロバイダー、MCP、Skills、プロンプト、セッションを管理" + }, + { + "type": "improve", + "zh": "「应用」页按已安装和未安装分组,可拖动排序,侧栏跟随", + "zh-TW": "「應用」頁按已安裝和未安裝分組,可拖動排序,側欄跟隨", + "en": "The Apps page groups installed and missing apps; drag to reorder the sidebar", + "ja": "「アプリ」ページをインストール済みと未インストールに分け、ドラッグで並べ替え" + }, + { + "type": "improve", + "zh": "Kimi 官方账号的卡片可以编辑模型、从 Kimi Code 移除", + "zh-TW": "Kimi 官方帳號的卡片可以編輯模型、從 Kimi Code 移除", + "en": "Official Kimi cards can now edit models and be removed from Kimi Code", + "ja": "Kimi 公式アカウントのカードでモデル編集と Kimi Code からの削除が可能に" + }, + { + "type": "fix", + "zh": "修复 DeepSeek 余额用完后显示成「套餐已过期」", + "zh-TW": "修正 DeepSeek 餘額用完後顯示成「套餐已過期」", + "en": "Fixed a used-up DeepSeek balance showing as an expired plan", + "ja": "DeepSeek の残高切れが「プラン期限切れ」と表示される問題を修正" + } + ] +}