feat(kimi): give provider cards real add/remove actions

Kimi is additive, but both card groups only offered "Switch", which
wrote the provider into config.toml and changed default_model at once,
so the Added / Available split did nothing.

- Available cards get "Add": a new add_provider_to_live_config command
  writes the provider and its models into config.toml without changing
  default_model, so they show up in Kimi's /model list. A node already in
  config.toml belongs to Kimi and is never overwritten from the archive.
- Added cards get a "Remove" button; "Set as default" (select the
  provider's model) moves into the more menu, as for OpenCode/OpenClaw.
- The provider owning default_model is marked with the gray "Default"
  status like OpenCode, and cannot be removed.
This commit is contained in:
Jason committed 2026-10-23 11:15:35 +08:00
1 parent 44e0fc9630
commit d6a2324196
11 files changed
+258 -47

No files matched your search

+3 -3
View File
@@ -7,8 +7,8 @@ Kimi Code 是独立应用,应用 ID 为 `kimi`。接入面向当前的 [Moonsh
1. 在「应用」页安装 Kimi Code,或先按[官方说明](https://moonshotai.github.io/kimi-code/en/guides/getting-started)安装。CC Switch 使用官方独立程序安装器,自带运行时,不依赖系统 Node 版本;已有客户端升级使用 `kimi upgrade --yes`,静态兜底重跑官方安装器。手动使用 npm 包 `@moonshot-ai/kimi-code` 时需满足其 Node 要求,2.3.0 要求 Node ≥22.19.0,Node 22.12.0 会因缺少 `createZstdDecompress` 无法启动。
2. 在侧栏选择 **Kimi Code**。已有原生供应商和模型会自动出现在列表中。
3. 使用编程套餐时,在「授权中心」的 **Kimi Code** 分组中添加账号,完成授权后自动添加模型;「添加供应商」的「账号登录 → Kimi Code 官方登录」也可进入该分组。支持同时登录多个官方账号。使用 API Key 时,和 Pi 等应用一样,从「模型厂商」「第三方平台」「云服务商」「本地」分组中选择具体供应商,或使用各组共用的「自定义配置」。预设保留厂商的套餐、地区版本、模型参数、请求头和获取 API Key 的链接,并转换为 Kimi 原生字段。「模型厂商」中的 **Kimi** 包含开放平台、编程套餐及国内/海外版本。每个模型必须填写模型 ID 和正整数的上下文长度。
4. 点击「添加」将供应商及模型写入 Kimi 配置。多个供应商可以同时启用。供应商卡片上的「切换」会选择该供应商的模型,当前供应商以蓝色「使用中」标识。已有当前模型属于目标供应商时保留该模型,否则选择目标供应商的第一个原生模型;需要切换到其他具体模型时,可在 Kimi Code 内使用 `/model`。没有默认模型时,首次添加会选择该供应商的第一个模型。
5. 普通供应商的「移除」位于卡片的「更多」菜单,会从原生配置移除供应商和所属模型,并保留 CC Switch 中的档案。主模型或子代理模型池仍引用的模型不能移除,需要先在 Kimi Code 中调整选择。仍在原生配置中的官方 OAuth 节点禁止通过供应商页编辑、删除和移除,账号的添加、重新登录和删除统一在授权中心操作;原生节点已被 Kimi 移除时,可删除 CC Switch 中留下的档案,独立账号的本机凭据随之删除。
4. 和 Pi、Hermes 一样,卡片分「已添加」「未添加」两组。点击「添加」只将供应商及模型写入 Kimi 配置、不改变当前模型,之后可在 Kimi Code 的 `/model` 中直接选用;多个供应商可以同时添加。已添加卡片「更多」菜单中的「设为默认」会选择该供应商的模型,当前供应商以灰色「默认」标识,与 OpenCode 一致。已有当前模型属于目标供应商时保留该模型,否则选择目标供应商的第一个原生模型;需要切换到其他具体模型时,可在 Kimi Code 内使用 `/model`。没有默认模型时,首次添加会选择该供应商的第一个模型。
5. 已添加卡片上的「移除」会从原生配置移除供应商和所属模型(卡片回到「未添加」),并保留 CC Switch 中的档案。正在使用的供应商、主模型或子代理模型池仍引用的模型不能移除,需要先在 Kimi Code 中调整选择。仍在原生配置中的官方 OAuth 节点禁止通过供应商页编辑、删除和移除,账号的添加、重新登录和删除统一在授权中心操作;原生节点已被 Kimi 移除时,可删除 CC Switch 中留下的档案,独立账号的本机凭据随之删除。
## 配置与能力
@@ -51,7 +51,7 @@ Ollama、LM Studio 和 vLLM 预设使用各自的本地 OpenAI 兼容地址,
网络请求沿用 CC Switch 的全局出站代理设置。连接失败时显示授权主机及底层 DNS、TCP、TLS 或超时原因,便于核对系统代理和网络连接。
授权中心列出每个账号的昵称、登录状态、区域和额度,支持刷新、取消、逐账号重新登录、删除和「使用此账号」。登录后 CC Switch 用 `/me` 读取账号 ID 和昵称,缓存在本机的 `kimi_accounts.json`(不随云同步);登录到已有账号时写回该账号原来的槽位,不新增账号,凭据槽位在授权完成时才确定。独立账号的模型显示名带上昵称,便于在 Kimi Code 的模型列表中区分。点击「使用此账号」或供应商卡片上的「切换」只选择该账号的对话模型,不改写服务配置;切换前检查该账号在本机有可用登录(从其他设备同步来的卡片需先在授权中心登录)。官方卡片打开 Kimi 页面时会顺带读取账号身份,卡片名随即带上昵称,不必先进授权中心。Kimi Code 2.3.0 的联网搜索和抓取使用原生默认凭据槽位,不随对话账号切换。重新登录更新该账号的模型目录和凭据,不创建另一个供应商,并保留供应商节点上的自定义字段(如 `custom_headers`)。删除独立账号会移除它的供应商节点、模型、本机凭据和卡片,正在使用的账号需先切走再删除;联网搜索或抓取若指向被删账号,改指 Kimi Code 自己的默认登录。Kimi Code 自己的默认登录只能「移出列表」:CC Switch 不替 Kimi 退出登录,凭据和模型保留,之后重新登录或默认槽位换成另一个账号时重新显示(列表因此为空时,状态显示「已移出列表」而非「未登录」);需要退出请在 Kimi Code 中运行 `/logout`。一个账号的凭据损坏或使用钥匙串时,仅在该账号行显示错误,不影响其他账号。
授权中心列出每个账号的昵称、登录状态、区域和额度,支持刷新、取消、逐账号重新登录、删除和「使用此账号」。登录后 CC Switch 用 `/me` 读取账号 ID 和昵称,缓存在本机的 `kimi_accounts.json`(不随云同步);登录到已有账号时写回该账号原来的槽位,不新增账号,凭据槽位在授权完成时才确定。独立账号的模型显示名带上昵称,便于在 Kimi Code 的模型列表中区分。点击「使用此账号」或供应商卡片上的「设为默认」只选择该账号的对话模型,不改写服务配置;切换前检查该账号在本机有可用登录(从其他设备同步来的卡片需先在授权中心登录)。官方卡片打开 Kimi 页面时会顺带读取账号身份,卡片名随即带上昵称,不必先进授权中心。Kimi Code 2.3.0 的联网搜索和抓取使用原生默认凭据槽位,不随对话账号切换。重新登录更新该账号的模型目录和凭据,不创建另一个供应商,并保留供应商节点上的自定义字段(如 `custom_headers`)。删除独立账号会移除它的供应商节点、模型、本机凭据和卡片,正在使用的账号需先切走再删除;联网搜索或抓取若指向被删账号,改指 Kimi Code 自己的默认登录。Kimi Code 自己的默认登录只能「移出列表」:CC Switch 不替 Kimi 退出登录,凭据和模型保留,之后重新登录或默认槽位换成另一个账号时重新显示(列表因此为空时,状态显示「已移出列表」而非「未登录」);需要退出请在 Kimi Code 中运行 `/logout`。一个账号的凭据损坏或使用钥匙串时,仅在该账号行显示错误,不影响其他账号。
协议及存储格式依据:[官方 OAuth 实现](https://github.com/MoonshotAI/kimi-code/tree/44cdf8f4039e2ff20d3fe8a4e7868bd90fd786e1/packages/oauth/src)。