hjanuschka/pi-multi-pass

GitHub: hjanuschka/pi-multi-pass

pi-multi-pass是pi CLI的多订阅扩展,支持为多个AI编程助手提供商配置多个OAuth账户,实现速率限制自动轮换和项目级账户绑定。

Stars: 100 | Forks: 3

# pi-multi-pass [pi](https://github.com/badlogic/pi-mono) 的多订阅扩展 —— 支持为每个提供商使用多个 OAuth 账户,具备自动速率限制轮换和项目级亲和性。 ## 安装 ``` pi install npm:pi-multi-pass ``` 或通过 git: ``` pi install git:github.com/hjanuschka/pi-multi-pass ``` ## 功能特性 - **多重订阅**:为任何提供商添加额外的 OAuth 账户 - **轮换池**:对订阅进行分组并在达到速率限制时自动轮换 - **项目亲和性**:限制每个项目使用的订阅/池 - **TUI 管理**:`/subs` 和 `/pool` 命令 —— 无需配置文件 - **标签**:为订阅添加标签(例如 "work"、"personal") ## 快速开始 ``` /subs add Pick a provider, add a subscription /login Authenticate the new subscription /pool create Group subs into a rotation pool ``` 当一个账户达到速率限制时,multi-pass 会自动切换到下一个并重试。 ## 命令 ### `/subs` -- 订阅管理 ``` /subs Open menu /subs add Add a new subscription /subs remove Remove a subscription /subs login Login to a subscription /subs logout Logout from a subscription /subs list List all subscriptions with auth status /subs status Detailed status (token expiry, pool membership) ``` ### `/pool` -- 轮换池管理 ``` /pool Open menu /pool create Create a pool (pick provider, select members) /pool list Show all pools /pool toggle Enable/disable a pool /pool remove Delete a pool (keeps subscriptions) /pool status Member health (logged in, rate limited, cooling down) /pool project Project-level config (restrict subs, override pools) ``` ## 项目级配置 使用 `/pool project` 配置每个项目的订阅亲和性。这会在您的项目目录中创建 `.pi/multi-pass.json` 文件。 ### 使用场景:分离工作和个人账户 ``` # 全局:您有 3 个 Codex 账户 /subs add -> openai-codex-2 (label: work) /subs add -> openai-codex-3 (label: personal) # 企业项目:仅限团队账户 cd ~/work/corp-project /pool project -> restrict -> select openai-codex-2 only # 个人项目:允许所有(无限制) cd ~/side-project # 无需 .pi/multi-pass.json -- 使用所有全局订阅 ``` ### 项目配置功能 | 功能 | 描述 | |---|---| | **限制订阅** | 仅允许在此项目中使用特定订阅 | | **覆盖池** | 使用与全局不同的池(或禁用部分池) | | **清除** | 移除项目配置,回退到全局配置 | | **信息** | 显示有效配置(哪些池/订阅处于活动状态) | ### 项目配置文件 `.pi/multi-pass.json`: ``` { "allowedSubs": ["openai-codex-2", "anthropic-2"], "pools": [ { "name": "work-codex", "baseProvider": "openai-codex", "members": ["openai-codex-2"], "enabled": true } ] } ``` - `allowedSubs`:提供商名称白名单。如果设置,则只有这些(以及原始账户)可用。省略则允许所有。 - `pools`:如果设置,将替换此项目的全局池。省略则继承全局池。 ## 池工作原理 1. 您正在使用 `openai-codex` 并遇到了速率限制 2. Multi-pass 检测到错误,将 `openai-codex` 标记为耗尽 3. 切换到 `openai-codex-2`(相同的模型 ID,不同的账户) 4. 自动重试您最后的提示 5. 经过 5 分钟的冷却后,`openai-codex` 再次变为可用 ## 支持的提供商 | 提供商键 | 服务 | |---|---| | `anthropic` | Claude Pro/Max | | `openai-codex` | ChatGPT Plus/Pro (Codex) | | `github-copilot` | GitHub Copilot | | `google-gemini-cli` | Google Cloud Code Assist | | `google-antigravity` | Antigravity | ## 环境变量(可选) ``` export MULTI_SUB="openai-codex:2,anthropic:1" ``` 环境变量条目会与保存的配置合并。 ## 配置文件 | 文件 | 范围 | 内容 | |---|---|---| | `~/.pi/agent/multi-pass.json` | 全局 | 订阅 + 默认池 | | `.pi/multi-pass.json` | 项目 | 池覆盖 + 订阅限制 | ## 许可证 MIT
标签:AI开发工具, Anthropic, API速率限制, CIS基准, Codex, Copilot, Gemini, MITM代理, OAuth管理, PE 加载器, Token管理, TUI, 会话保持, 多账户管理, 威胁情报, 开发者工具, 暗色界面, 流量调度, 浏览器扩展, 自动化攻击, 自动重试, 订阅管理, 负载均衡, 账户轮换, 项目级配置