爱意满满的作品展示区。
yicheng47

Runner 0.17.0 发布:支持 Claude Code 多账号切换

  •  
  •   yicheng47 ·
    yicheng47 · 1 day ago · 435 views

    之前在 V 站介绍过 Runner ,是一个管理 CLI agent 的原生桌面工具,本质是一个类似 terminal multiplexer 的工具,可以在同一个 app 中管理不同平台的 agent cli ,也可以把几个 agent 组成 crew 一起协作沟通。

    之前的帖子:我的第一个 300 stars 开源项目 Runner

    这次做 claude 多账号切换的初衷主要是我自己用了两年的 Claude 账号最近被封了,用的是 Max 订阅。并且想要再搞出一个新的 max 账号现在太难了,有 KYC,加上越来越严格的检查,感觉普通国内用户想稳定用一个 Max 账号的成本已经显著增加了。

    从我自己最近的使用情况来看,Pro 账号的检查相对没那么严格,用多个 Pro 的重度用户也多了起来。这样就需要管理几个账号、看各自的用量,也希望换个账号以后还能接着之前的工作继续做。

    所以这次 0.17.0 给 Runner 加了 Claude Code 多账号支持,可以在里面分别登录、查看用量,切换账号以后继续之前的对话。这里单独开一帖,配几张图介绍一下。

    用量菜单中查看和切换 Claude Code 账号

    添加另一个账号

    Agents 设置页:Claude Code 的账号数量和当前账号

    在 Settings → Agents → Claude Code 的 Accounts 里面,可以看到自己原来用的账号,默认叫 Personal 。点 Add account ,给新账号起个名字,再跟着 Claude Code 的浏览器登录流程走一遍就可以了。如果之前已经用独立目录登录过,也可以直接选择那个目录。

    添加以后,两个账号的登录会分别保留,平时切换不用再来回退出和登录。

    Claude Code 账号设置:独立登录、当前账号和配置共享

    原来的配置可以继续用

    我自己用 Claude Code 会配一些 skills 、MCP 和插件,换个账号以后如果这些都要重新弄一遍,还是挺麻烦的。所以添加账号时,可以勾选 Use Personal’s settings ,继续用主账号的全局 CLAUDE.md 、skills 、MCP 和已启用的插件。

    这里主账号和当前使用的账号是分开的:主账号提供共享配置,Active 决定接下来用哪个账号启动会话。比如配置一直用 Personal 的,干活时可以切到 Work 。

    新账号已有的本地配置和同名 skill 会保留,登录信息也是各自独立的。

    换个账号,继续之前的对话

    在用量下拉框里选好账号以后,新开的 chat 和新启动的 Claude Code crew 成员就会使用它。已经在跑的会话会继续使用原来的账号。

    已有的 chat 如果也想换账号,可以先 Stop ,选好另一个账号,再点 Resume 。Runner 会接着原来的对话继续,不用重新开一个 chat ,再把项目和做到哪一步介绍一遍。

    这一版先做了手动切换,不会在额度用完时自动轮换账号。多账号功能目前也只针对 Claude Code 。

    账号切换实现对比

    做这个功能的时候,也看了社区里一些工具的实现。大致可以分成两类:

    1. 通过反代或者 agent gateway 。 客户端先把请求交给一个中间服务,由它选择账号、转发请求,有的还会做协议转换。具体实现也有区别,比如 Magpie 的 Claude gateway,是由 gateway 调用真实的 Claude Code ,再由 Claude Code 向 Anthropic 发起请求。
    2. 原生 CLI 直连,在本机切换账号。 不额外加模型请求代理,还是由 Claude Code 自己发请求。这里又可以分成替换登录凭据和切换账号目录两种做法,所以 direct mode 不一定就是切目录。

    Anthropic 官方文档里的多账号用法是给每个账号一个独立的配置目录,用 CLAUDE_CONFIG_DIR 来选择。例如个人账号继续直接运行 claude,工作账号用 CLAUDE_CONFIG_DIR=~/.claude-work claude,各自在自己的目录下登录。

    对 Runner 来说,我觉得沿用这个官方提供的机制是最稳妥的选择。Runner 本来就在管理本机的 CLI 进程,经常会有几个 agent 同时跑。每个账号保留自己的登录状态和凭据存储,登录、保存凭据和 token 刷新都交给 Claude Code ,Runner 负责启动时选好目录。从登录状态的稳定性和账号凭据管理上,这样我会更放心一些。

    Runner 具体怎么做

    • 登录和凭据: 添加账号时,在对应目录下运行 claude auth login,走 Claude Code 自己的浏览器登录流程。macOS 上凭据由 Claude Code 放进对应的 Keychain 项,Windows 上放在对应目录的凭据文件里。Runner 保存账号名字、目录等信息,不另外保存一份供切换用的凭据;查看用量时会读取本机凭据,查询对应账号的用量。
    • 启动和切换: 原来的账号保持原来的启动方式,额外账号通过 CLAUDE_CONFIG_DIR 指定目录。切换 Active 账号,只影响接下来新开或恢复的会话,已经在跑的 agent 继续用自己的账号。在 Runner 外面直接打开的 Claude Code 也继续使用原来的默认登录。
    • 共享配置: 目录分开以后,skills 、MCP 和插件这些也需要处理。Runner 按需链接主账号的 CLAUDE.md 、skills 等内容,settings 、MCP 和插件通过启动参数带入,保留各账号已有的本地文件和插件状态。所以账号可以分别登录,常用配置仍然可以共用。
    • 继续原来的对话: Runner 会记住对话文件最初在哪个目录。换账号恢复时,用 claude --resume <原对话文件路径> 接着原来的记录继续,不需要把历史复制到新账号目录,也不用从头开一个 chat 。

    和 Magpie direct mode 的区别

    Magpie 的 direct mode 会记住多个账号的凭据,切换时先保存当前账号的最新凭据,再把选中账号的凭据写回 Claude Code 原来使用的位置。这样配置和历史可以一直留在同一个目录,切换工具需要处理凭据的保存、替换和刷新后的同步。

    Runner 这里切的是启动时使用的目录,每个账号的凭据留在各自的存储里。相应地,Runner 要多处理共享配置和跨目录恢复对话。这是两种实现各自需要处理的事情,也和 Runner 本身就管理会话的功能有关。

    另外,Magpie 的 gateway 内部也会给 Claude 账号使用独立目录。所以这个区别具体说的是它切换原生 Claude Code 登录的 direct mode ,独立目录也不是 Runner 特有的做法。

    和 CC Switch 的区别

    CC Switch 在 Claude Code 这一侧主要是切换 provider 配置。Direct 模式会修改配置里的 endpoint 、key 、模型等字段; Routing 模式则让请求经过它的本地路由,可以做协议转换和故障切换。Claude Official 使用 Claude Code 自己的登录,不经过本地 Routing 。

    按它目前的文档,Accounts 里的多订阅账号管理列出的是 ChatGPT 、GitHub Copilot 和 Grok 。它的 Claude provider 切换,和 Runner 这次做的几个 Claude 订阅账号各自登录、切换后继续同一个会话,处理的需求有所不同。

    下载和反馈

    Repo: https://github.com/yicheng47/runner

    官网: https://runnersh.dev

    下载: https://runnersh.dev/downloads

    版本说明:Runner 0.17.0

    支持 macOS ( Apple Silicon )和 Windows x64 ( Windows 10 1809 及以上)。

    有多个 Claude 账号的朋友可以试试看,有问题在楼里反馈,或者到 GitHub 提 issue 都可以。也欢迎分享自己平时是怎么切换账号的,看看还有哪些地方可以做得方便一点。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3083 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 04:53 · PVG 12:53 · LAX 21:53 · JFK 00:53
    ♥ Do have faith in what you're doing.