[造轮子] 受够了 Codex/Claude 频繁切账号,我手搓了一个多账号并发的 AI 编程工作台 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
yaakua

[造轮子] 受够了 Codex/Claude 频繁切账号,我手搓了一个多账号并发的 AI 编程工作台

  •  
  •   yaakua Mar 10 3740 views
    This topic created in 47 days ago, the information mentioned may be changed or developed.

    最近在比较重度地用 Codex CLI 和 Claude Code 写代码,爽是真爽,但用久了之后发现一个很现实的痛点:账号切换太让人抓狂了。

    遇到额度用完或者遇到限制时,如果是单纯用 CLI ,基本只能这样操作: codex logout -> codex login -> 浏览器授权...

    如果一天要切几次账号,这种强行打断 workflow 的体验极其割裂。

    后来我干脆买了几个账号轮流用,但新的问题又来了:

    • 哪个 terminal 跑的是哪个账号?
    • 哪个会话对应的是哪个具体的业务线?
    • 想换账号还得重新登录,iTerm 里开了一 tab ,过一会就完全不知道谁是谁了。

    终端里其实没有“账号 / Profile”这个概念

    CLI 工具本身的设计其实很好,但它们基本都是 terminal-first 的单线程逻辑。 导致在实际的高强度使用中,以下这些东西全混在了一起: 账号项目会话模型

    尤其是有多个账号交替使用的时候,基本只能靠脑子硬记。


    所以我手搓了个小工具(偏自用)

    为了解决自己的痛点,我写了个桌面端的工作台。 技术栈底层用的是 Tauri ,跨平台( Mac / Win 都能跑),界面也尽量保持极简,不搞花里胡哨的设计,主打一个轻量实用。

    做的事情其实很简单:给 Codex / Claude Code 加一层 Profile 和 Workspace 管理。

    大概的层级结构是这样:

    Workspace └─ Project └─ Session └─ Profile 

    每个 Profile 对应一个独立的账号和环境,例如:

    • Profile A → Codex 账号 A
    • Profile B → Codex 账号 B
    • Profile C → Claude 账号

    当一个账号额度用完时,你只需要: 新建/切换一个 Session -> 选择另一个 Profile 。 直接继续用下一个账号接着干,不需要重新登录,也不会污染原来的会话上下文。

    放两张图给大家看下直观的效果:

    (主界面:多会话管理与极简的工作区,最多可以开 4 个区,每个区可以是不同的 codex 账号,甚至使用 claude code) image.png

    (配置界面:无缝切换不同账号的 Profile)

    image.png

    顺便解锁了一个新姿势:多 Agent 并行( Arena 模式)

    有了 Profile + Session 的隔离之后,自然而然就衍生出了这种玩法:

    +-----------+-----------+ | Codex A | Codex B | +-----------+-----------+ | Claude | Codex C | +-----------+-----------+ 

    比如:

    • 同一个复杂需求,让不同账号/不同模型同时跑
    • 多开窗口直接对比不同模型的实现思路和代码质量

    底层其实还是直接调用本地的 Codex CLI 和 Claude Code CLI ,所以我并不是重新开发了一个 coding agent ,本质上是做了一个可视化桌面管家

    好处是:CLI 官方升级了新能力,这边能直接无缝继承;完全不需要重新造 agent 的轮子,只是把 workflow 给管理起来了。


    一个还在纠结的扩展方向:手机远程当“监工”

    还有一个我挺想做、但不确定是不是伪需求的功能:手机远程连到桌面上的 agent 。

    应用场景大概是:

    • 手机端:出门在外查看桌面 agent 的运行状态、随手补一句 prompt 纠正方向、或者远程触发一个新的跑批任务。
    • 桌面端:老老实实当一个无情的 AI coding worker 挂机干活。

    有点像把家里/公司的电脑变成一个专属的 AI 算力服务器。这个方向不确定大家是否有真实场景?


    发帖主要是想听听大家的真实 workflow 和吐槽

    最初做这个只是为了解决自己“多账号切换 + 会话管理”的痛点。但写着写着发现,这玩意好像有潜力变成一个完整的 AI Coding Workspace 。

    所以想向 V 友们取取经,验证一下是不是只有我自己有这个强需求 :

    1 有人跟我一样,会买多个 Codex / Claude 账号轮流用吗?

    如果有,你们平时是怎么丝滑切换账号的?纯靠手动吗?

    2 大家现在是怎么管理高频的 AI coding 会话的?

    是多 terminal 窗口? tmux ? VSCode 插件直连?还是有什么更好的实践?

    3 “多窗格同时跑 Agent 对比”这种形态有没有实际意义?

    还是说老老实实 Terminal + 单线 CLI 其实已经完全够用了,没必要搞这么复杂?

    欢迎各种吐槽、建议或者拍砖!如果大家觉得有意思,我后续可以考虑把这个工具放出来给大家公测体验一下。

    14 replies    2026-03-11 18:35:33 +08:00
    HFX3389
        1
    HFX3389  
       Mar 10
    需要换账号换 session 换 profile 吗...不是自己弄一个 sub2api 之类的聚合层,把号都往聚合层里丢,自己只用聚合层提供的 API 嘛。

    - 哪个 terminal 跑的是哪个账号?
    - 哪个会话对应的是哪个具体的业务线?
    - 想换账号还得重新登录,iTerm 里开了一堆 tab ,过一会就完全不知道谁是谁了。

    > 当一个账号额度用完时,你只需要: 新建/切换一个 Session -> 选择另一个 Profile 。 直接继续用下一个账号接着干,不需要重新登录,也不会污染原来的会话上下文。

    根本就不用新建/切换,就一个聚合层 APIKey 用到死,反正 sub2api 之类的会自己调度
    yaakua
        2
    yaakua  
    OP
       Mar 10
    @HFX3389 这个支持绑定官方的 codex 账号?能通过授权登录绑定吗? 如果可以那确实能解决我一个大问题
    yaakua
        3
    yaakua  
    OP
       Mar 10
    @HFX3389 去了解了一下,确实可以解决多账号问题。但是有个小场景如果我要手动指定某个会话使用某个账号(比如简单任务我可能使用国内的 ai 平台,这个软件就好像没法支持了)
    timefunnel
        4
    timefunnel  
       Mar 10
    搞个 CPA ,可以把你所有的 key 都聚合
    yaakua
        5
    yaakua  
    OP
       Mar 10
    @timefunnel CPA 又是啥?
    timefunnel
        6
    timefunnel  
       Mar 10
    @yaakua #5 CLIProxyAPI
    kokojack
        7
    kokojack  
       Mar 10
    我使用的是 ccNexus 作为多个 api 切换,使用 hapi 作为远程操作
    HFX3389
        8
    HFX3389  
       Mar 10
    @yaakua #3

    > 这个支持绑定官方的 codex 账号?能通过授权登录绑定吗?

    支持、可以!

    > 有个小场景如果我要手动指定某个会话使用某个账号(比如简单任务我可能使用国内的 ai 平台,这个软件就好像没法支持了)

    这个更可以,这些聚合层都有一个`分组`、`API 密钥`功能,你可以自己创建一个密钥只绑定国内的 AI 平台分组。

    你要`手动指定某个会话使用某个账号`直接指定用对应的`API 密钥`就行了。

    sub2api 、metapi 、octopus 这三个聚合层都有这个功能
    yaakua
        9
    yaakua  
    OP
       Mar 10
    @HFX3389 感谢反馈,这个软件确实能解决多账号问题了,剩下的就是手机端控制的场景,这个我看到有类似的软件了。
    dcdlove
        10
    dcdlove  
       Mar 10
    @timefunnel #6 claudecode 手搓一个也就几分钟
    HFX3389
        11
    HFX3389  
       Mar 10
    @dcdlove #10 CPA 这个软件更新还是挺频繁的,1 天 1 个新版本,话说透明代理为啥会有这么多更新呢?
    byheaven0912
        12
    byheaven0912  
       Mar 10
    cc switch
    zhouu
        13
    zhouu  
       Mar 10
    @timefunnel #4 CPA 现在暂时不支持缓存亲和,不过我看到个 pr 是在做了,现在再用 https://github.com/fawney19/Aether
    lusi1990
        14
    lusi1990  
       Mar 11 via iPhone
    你可能需要 cc switch
    About     Help     Advertise     Blog     API     FAQ     Solana     3612 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 04:36 PVG 12:36 LAX 21:36 JFK 00:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86