Files
cc-switch/docs/user-manual
Jason 68411d82fb feat(providers): keep uploaded icons in a named "My Icons" library
Uploading an icon used to attach the image to the one provider being
edited, shown as a lone "Custom icon" strip above the built-in grid. It
had no name, could not be searched and had to be uploaded again for
every provider that wanted it.

The icon picker now has two groups, filtered by the same search box:

- My Icons: the first tile uploads an image. After it is resized, a
  dialog asks for a name (the file name by default); "Save and Use"
  stores it in the library and selects it. Library icons show their
  names, can be picked by any provider in any app, and can be renamed or
  deleted from the buttons that appear on hover. Uploading an image that
  is already in the library reuses the existing entry. A current custom
  icon that is not in the library (for example one from an import link)
  shows as "Current icon" and can be saved, named after the provider.
- Built-in Icons, as before.

Clicking an icon now selects it and closes the picker, so the "Done"
button is gone; "Clear icon" next to the search box removes the icon.

The library lives in the settings table under `custom_icons`, which is
already cloud-synced. Providers still store the image itself, not a
library id, so renaming or deleting a library entry never changes a
provider that uses it, and a provider shows its icon on a device whose
library differs. Adding to the library decodes the PNG fully like
saving a provider does, caps the library at 100 icons and names at 64
characters. SQL import and cloud sync drop library entries whose image
is invalid, alongside the existing provider and universal provider
cleanup; unknown fields on the remaining entries are kept.

The naming dialog stops its submit event from propagating: React events
bubble through portals, so without it saving a name would also submit
the provider form the picker is rendered in.

The user manual's icon section (2.3, zh/en/ja) describes the new flow.
2026-10-13 00:07:38 +08:00
..

CC Switch User Manual / 用户手册 / ユーザーマニュアル

Claude Code / Claude Desktop / Codex / Gemini CLI / OpenCode / OpenClaw / Hermes

Language / 语言 / 言語

Language Link
中文 简体中文用户手册
English English User Manual
日本語 日本語ユーザーマニュアル

Version / 版本 / バージョン

  • Documentation version: v3.16.0
  • Last updated: 2026-05-29
  • Compatible with CC Switch v3.16.0+