Claude Code 多窗口配置思路:每个窗口,各配各的模型

这个专栏记录我的某些想法和灵感。

背景:窗口分工不同,模型需求也不同

用 Claude Code CLI 编程时,我习惯同时开多个窗口。每个窗口的使命不同:有的负责代码审查,有的专职调试,有的用来做重构。在并行推进的窗口工作流里,职责不一样,对模型能力的侧重自然也不一样——审查看重严谨,重构看重利落,调试则希望响应够快。

于是很自然的想法是:每个窗口都用最适合自己的模型,互不干扰。

痛点:第三方模型,一切换就互相打断

Claude Code 的原生模型,支持在每个窗口单独切换。

但第三方模型走的是全局配置,只要有一个窗口切换了模型,其他窗口就会跟着受影响——会话被中断,并行的工作流被打乱。正是这条限制,让”多窗口各配各的模型”没法直接实现。

解法:每个窗口,带一份独立配置启动

思路很简单:既然配置是全局的,那就按”窗口要用的模型”各准备一份配置,每次启动时明确加载哪一份。

第一步,复制一份目标模型的配置文件:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-demo",
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_MODEL": "deepseek-v4-flash",
    "ENABLE_TOOL_SEARCH": "true",
    "DISABLE_AUTOUPDATER": "1",
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  },
  "attribution": {
    "commit": "",
    "pr": ""
  },
  "includeCoAuthoredBy": false,
  "effortLevel": "xhigh",
  "modelSettings": {
    "deepseek-v4-flash": {
      "effortLevel": "high"
    }
  },
  "theme": "dark"
}

这份配置通过 ANTHROPIC_BASE_URL 把请求指向 DeepSeek 的 Anthropic 兼容接口,再用 ANTHROPIC_DEFAULT_*_MODEL 把默认模型统一指向 deepseek-v4-flash。其余是环境开关(ENABLE_TOOL_SEARCH、CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 等),按自己的习惯保留即可。

第二步,把配置文件收进一个文件夹集中管理,下次启动 Claude Code 时用 --settings 指定加载哪一份:

claude --settings /path/to/settings.json

这样一来,窗口 A 带配置 A 启动,窗口 B 带配置 B 启动,多个窗口各用各的模型,并行开发互不干扰。

展望:预设名字,一键切换

目前的流程还是有点手动:想换模型,得先备好对应的配置文件再重新启动。接下来我计划写一个脚本或小工具,把多套模型配置统一管理起来,做到在命令行里快速切换:

claude --model deepseek-v4-flash

直接用预设的名字一键切换,不用再碰配置文件。做出来之后,再回来更新这篇。