多账号完全隔离
你有多个 Anthropic 账号(个人 + 公司),或者需要同时使用不同 API Key?
CLI 的配置是全局的,切换账号得手动改文件,改完还容易忘改回来。
智码 AICoder 的多实例功能彻底解决这个问题。
工作原理
每个实例拥有完全独立的配置空间:
| 隔离项 | 说明 |
|---|---|
| OAuth 登录凭据 | 每个实例可登录不同账号 |
| API Key 配置 | 每个实例配置不同的 API 密钥 |
| 会话历史 | 每个实例的对话记录互不干扰 |
| 数据库 | 每个实例有独立的 SQLite 数据库 |
| 设置偏好 | 主题、终端字体等可分别设置 |
MCP Server 配置在实例间共享,无需重复配置。
如何启动多实例
Windows
# 默认实例(实例 1)
智码AICoder.exe
# 第二个实例
智码AICoder.exe --instance 2
# 第三个实例
智码AICoder.exe --instance 3macOS
macOS 双击 .app 默认会复用已运行的进程,必须用 open -n 强制启动新进程:
# 默认实例
open -a "智码 AICoder"
# 第二个实例(-n 强制新进程,--args 后参数传给应用)
open -n -a "智码 AICoder" --args --instance 2
# 第三个实例
open -n -a "智码 AICoder" --args --instance 3写个 alias 一劳永逸
在 ~/.zshrc 加:
alias aicoder2='open -n -a "智码 AICoder" --args --instance 2'
alias aicoder3='open -n -a "智码 AICoder" --args --instance 3'之后终端输入 aicoder2 就能秒开第二个实例。
也可以直接调用 .app 内的可执行文件(同时拿到终端日志,方便排查问题):
"/Applications/智码 AICoder.app/Contents/MacOS/智码 AICoder" --instance 2快速识别
标题栏会清晰显示当前实例编号(如「智码 AICoder [实例 2]」),绝不会搞混。
使用场景
个人 + 公司账号
- 实例 1:登录公司 Anthropic 账号,处理工作项目
- 实例 2:登录个人账号,学习和个人项目
不同 API 提供商
- 实例 1:使用 Anthropic 官方 API
- 实例 2:使用第三方 API 代理
不同工具组合
- 实例 1:专门用 Claude Code
- 实例 2:专门用 Codex + Gemini
跨实例配置导入
新实例不必从零配置 API 档案。在「设置 → API 配置」点击「从其他实例导入」按钮:
| 来源 | 可导入内容 |
|---|---|
| 同环境其他实例 | 已保存的 API Key 档案 / OAuth 档案 / 当前活跃 OAuth |
| 对侧环境(开发 ↔ 生产) | 同上,自动反转配置目录后扫描 |
支持选择性导入:每条档案前有勾选框,按邮箱去重,OAuth 凭证会自动用当前实例密钥重新加密入库(不保留源实例的密文)。
OAuth 档案的"快照保活"
导入 OAuth 档案时,如果源实例当前活跃的 .credentials.json 与档案邮箱匹配,会自动用最新凭证替换档案内的冻结快照——避免"导入即过期"的尴尬。预览界面会显示每条档案的 token 剩余有效期。
access token 过期不等于不可用
OAuth 标准里 access token 寿命仅几小时,CLI 启动时会自动用 refresh token 续期。 预览界面对短期过期(< 30 天)的档案标注「access token 已过期(启动时自动刷新)」,仅长期未使用(≥ 30 天)的档案才会红色警告。
开发环境与生产环境
如果同时安装了开发版(pnpm tauri dev)和打包版,两套数据完全隔离:
| 进程 | 配置目录 | 数据目录 |
|---|---|---|
| 生产版 | ~/.claude/ 等 | <AppData>/com.agilefr.tauri/ |
| 开发版 | ~/.claude-dev/ 等 | <AppData>/com.agilefr.tauri/dev/ |
跨环境互导通过同一个「从其他实例导入」入口完成——开发版能看到生产版的实例并选择性导入,反之亦然。普通用户机器上若只有单一环境,下拉不显示「开发/生产」概念,体验保持简洁。
