Skip to content

配置档案管理 ​

智码 AICoder 把"账号 + Base URL + 模型 + 鉴权方式"打包成「配置档案(API Profile)」,一个工具下可以保存多个档案,一键切换。无论你是混用 Anthropic 官方 OAuth 与第三方 API 端点、还是同时维护多个 ChatGPT 账号,都不必反复改环境变量或重装 CLI。

两种档案类型 ​

档案类型切换机制凭据持久化
API Key 档案写 ~/.claude/settings.json 的 apiKey / baseUrl / 模型明文保存在 settings.json
OAuth 档案整段还原工具的 auth.json(Claude .credentials.json / Codex auth.json)加密存入 DB(enc:v1: 前缀)

OAuth 档案在数据库里以加密 envelope 方式整段保存(含 access_token / refresh_token / 过期时间 / email / plan),切换时整段还原到磁盘,CLI 完全无感知。

核心字段 ​

字段说明
档案名称如「公司 OAuth」「个人账号」「DeepSeek 测试」
关联工具claude-code / codex / gemini / opencode(多工具时按工具隔离)
Provideranthropic / openai / google / deepseek / zhipu ……
Base URL自定义端点(可选;OAuth 档案无此字段)
API Key密钥(OAuth 档案此字段为空)
默认模型如 claude-opus-4-7(可选,留空走 CLI 默认)
认证方式auto / api_key / auth_token(详见 多工具管理)
走代理切换到此档案时是否启用本地代理(独立于全局代理开关)

一键切换与安全清理 ​

切换档案时智码会自动处理多个细节,避免环境变量残留导致的"切了 OAuth 但还是走 API Key"这类问题:

切换方向自动处理
API Key → OAuth清理 settings.json 顶层 apiKey / apiKeyHelper 与 env.* 残留;备份当前 API Key 配置;还原 OAuth credentials
OAuth → 第三方 API Key备份 .credentials.json 为 .official-backup;写入新的 base_url + api_key
切回官方 OAuth恢复 .credentials.json.official-backup;清空 settings.json 中的 apiKey / baseUrl
OAuth → 另一个 OAuth整段还原目标档案的 envelope,CLI 无感知

切换提示文案按档案类型区分显示:

  • 「已切换到 OAuth 账号: 名称」
  • 「已切换到自定义 API: 名称」
  • 「已切回官方 API」

切换前的环境变量冲突检查

切换到自定义 API 时,应用会检测系统环境变量里是否有 ANTHROPIC_API_KEY / ANTHROPIC_BASE_URL 这类会"绕过 settings.json"的旧值,发现冲突会弹窗让你选择是清理还是继续。否则切了等于没切。

OAuth 多账号 ​

Claude 多 OAuth 账号 ​

适合在公司账号、个人账号、家庭共享账号之间频繁切换:

  1. 导入当前账号 — 在 API 配置页点「导入当前 OAuth」,把 ~/.claude/.credentials.json 加密保存为档案
  2. 添加新账号 — 点「添加新账号」按钮,自动调用 CLI 的 claude /login 流程;浏览器完成 OAuth 后凭据自动入库
  3. 一键切换 — 切到目标 OAuth 档案时,整段还原 .credentials.json,CLI 重启即生效

Codex 多 OAuth 账号(v3.1.0+) ​

ChatGPT 账号同理:

  • 激活的 OAuth 档案卡片新增「添加新账号」按钮,引导终端 codex login
  • 当前账号未保存为档案时,强制弹输入框先保存,避免账号丢失(refresh_token 一旦丢失无法找回)
  • 数据库 api_profiles 表的 auth_type / oauth_payload 列保存加密 envelope

OAuth 凭据安全

OAuth envelope 在数据库里以 enc:v1: 前缀加密存储,密钥派生自机器特征 + 用户密码(如设置)。但不要把 DB 文件随意上传到公开仓库——别人拿到 DB 文件 + 你的机器特征仍可能解密。WebDAV 同步时只会同步加密 envelope,不会把明文凭据上云。

额度用尽自动轮换(v5.2.0+) ​

准备了多个档案,最常见的用法就是"这个额度用完了换下一个"。以前得你盯着终端、看到限额报错再手动切换、再让 AI 从头接上。现在可以让它自己来:命中额度限制时自动切到下一个可用档案,重启会话并续发提示词接着跑。

开关在各 Provider 的 API 配置面板里、档案列表正上方。一个「工作区 + 工具」就是一个独立的轮换组,互不干扰。

默认关闭,首次开启会弹一次说明

轮换会自动重启会话。被动触发时会话本来就卡在限额报错上、干不了活,重启是纯收益;但你得先知道这件事会发生,否则某天回来发现终端重开过一次会一头雾水。至少需要 2 个档案才能启用。

轮换顺序 ​

开启后会列出该工具下的所有档案:

  • 拖拽排序 — 决定用尽后按什么顺序往下换
  • 勾选参与 — 不想卷入轮换的档案(比如计费的生产账号)可以单独取消勾选,也支持一键全选
  • 冷却倒计时 — 刚用尽的档案会进入冷却,列表里直接显示还有多久恢复可用;能从报错里解析出精确重置时刻的就按那个时刻算,不再一律傻等一小时
  • 重置健康状态 — 手动把某个档案标回可用

高级选项 ​

选项说明
每小时最多切换默认 3 次(上限 20)。超出则停止轮换并通知你——防止某个配置问题导致它在几个档案之间空转
切换后续发提示词换完档案自动发给 AI 的那句话。留空用内置默认文案;建议明确写「从中断处继续」,只发「继续」两个字时部分 CLI 会当成新任务重头做
切换前探活先试一下目标档案通不通,不通就直接跳到下一个(OAuth 档案无法探活,一律放行)
预防式提前切换不等报错,用量到达阈值(默认 95%,可调 50–99)就提前切。会打断正在跑的任务,所以是独立开关;仅 Codex / Grok 支持,因为只有它们能读到用量数据

最近轮换记录 ​

无人值守跑了一夜,回来想知道到底发生过什么——面板底部的折叠区里有完整轮换历史:什么时候、从哪个档案换到哪个、因为什么触发。

支持范围 ​

Claude Code、Codex、Gemini、Grok、Kimi、OpenCode、Antigravity 七个工具都带这张卡片。

限额识别直接读 CLI 吐出的报错文本,覆盖 usage / session / weekly / daily / monthly / hourly / rate limit 等各家说法——不同 CLI 对"额度用尽"的措辞差别很大,同一家在不同窗口下的叫法也不一样(比如 Claude 的 5 小时窗口报的是 session limit 而不是 usage limit)。

跨实例配置导入(v3.2.4+) ​

多开模式(开发实例 / 生产实例 / 公司 / 个人)之间互导配置:

场景自动处理
开发实例 → 生产实例自动反转 dev_suffix 和 app_data_root,路径无需手改
单实例机器UI 不显示「开发 / 生产」分组,避免困惑
OAuth 凭证保活跨实例导入 Claude OAuth 时,若 email 匹配,自动用源实例当前活跃 .credentials.json 替换 envelope 内冻结快照,避免"导入即过期"
预览界面显示 expiresAt 与「将自动同步源最新凭证」提示,让你心里有数

操作路径:API 配置页 → 「从其他实例导入」按钮 → 选源实例 → 勾选要导入的档案 → 确认。

国内厂商端点 / 认证方式 ​

为 DeepSeek、智谱 AI 等国内厂商提供 Base URL 下拉和认证方式自动判定,避免新老端点配置混乱、不同厂商鉴权头不一致的坑。

详见 多工具管理 → 国内厂商端点切换 / 认证方式选择。

数据库事务保障(v3.2.4) ​

切换档案的"清旧 + 写新"操作用 SQLite 事务包裹(set_active_api_profile Command),避免半切换状态——要么完整切到目标档案,要么回滚到原状态,不会出现"切了一半,磁盘 OAuth 是新的、settings.json 还指向旧的"这种诡异情形。

相关章节 ​

若依科技工作室 · 承接后台管理 / 桌面软件 / 全栈 / 小程序定制开发 · 技术服务咨询