写了个小工具:按终端隔离 Claude Code / Codex 的配置,不用全局切环境变量

Lfinesse 2026-07-22 09:44 1

背景是迫于有好几套 provider ——公司网关一套、自己买的订阅、中转站有几套


之前一直靠 ANTHROPIC_* 这些环境变量配置,或者 cc switch 之类工具来切换,但都是全局切换,所有终端跟着一起变,没法同时两边各自跑,用了公司的网关就没法再同时跑自己的


写了个小工具来满足这个需求,叫 hats (戴不同的施工帽干活


每套配置存成一个 "hat",hats work 就只在这次启动的进程里套上这套环境,其他终端完全不受影响。启动前会先把继承来的 ANTHROPIC_*、OPENAI_* 相关变量清掉,避免串配置,这样就用


hats add work claude   # 按提示配一套环境
hats work # 这个终端用 work 的配置跑 claude

也添加了 --isolated 选项,用来把配置目录( settings 、MCP 、history )一起隔离,用于想彻底分开的场景


因为平时用 herdr 比较多,为了方便,加了个让 agent 列表展示对应用的哪个 hat 的小功能





GitHub: https://github.com/Colafornia/hats


目前的功能主打满足自己日常使用,感觉琢磨琢磨,应该还可以加一些好用的小功能


README 里有演示 GIF ,有需要的可以试试,问题欢迎提 issue

最新回复 (13)
  • Hilong 07-22 10:14
    1
    确实是有这个场景的。我之前自己的和公司的账号老是搞混了
  • strean 07-22 10:30
    2
    我也想过做个这个,挺好的、现在 ccswitch 切中转站时候,全部会话被切挺呆的
  • Lfinesse 楼主 07-22 11:42
    3
    @strean 是的,之前我还以为我的场景有点小众,但是用下来,还是多号同蹬是常态,接下来是想想怎么更有效地实时显式是哪个 provider 了
  • Lfinesse 楼主 07-22 11:45
    4
    @Hilong 我司还有审计,得完全杜绝搞混了这种
  • gap 07-22 12:08
    5
    这个方案好,🌟送上
  • heyjei 07-22 12:36
    6
    这个思路不错,我是 bash 写了一个 alias ,ccpro 和 ccdeepseek
  • SurfaceW 07-22 12:47
    7
    可以试一试我最近做的: https://hubs.e-studio.ai/
    定义好你自己的 skills, rules, commands 等 suites (预置的配置) 之后,在 Claude, Cursor, Codex 等一键切换,很舒服 ~
  • Lfinesse 楼主 07-22 14:55
    8
    @SurfaceW 看了一下,我们解决的是两层问题,理论上可以一起用
  • Lfinesse 楼主 07-22 14:55
    9
    @gap 感谢!
  • Lfinesse 楼主 07-22 14:56
    10
    @heyjei 一开始我也是这样的,换了几个中转站之后,想着还是做一层薄一点的工具简化一下哈哈
  • le0zh0u 07-22 20:55
    11
    我用的是 ccst ,在 github 上开源的
  • le0zh0u 07-22 20:55
    12
    @le0zh0u ccsc ,打错了
  • CamD 07-22 21:50
    13
    我目前使用的 direnv 这个工具,不同的 codex 账号就配置不同的 CODEX_HOME 变量,用着也还行。
* 帖子来源V2EX
返回