pi-multi-pass — 複数OAuthアカウントでの回転管理拡張

Tool

概要

pi-multi-passは、pi用の「マルチサブスクリプション」拡張です。通常は単一のOAuthアカウントに紐づくプロバイダ接続を、複数アカウントとして登録でき、APIのレート制限に達した際に自動で別アカウントへ切り替える仕組みを提供します。サブスクリプションを「プール」にまとめて管理でき、TUI(対話的UI)コマンドを使って/usr的にサブスク管理やプール設定の操作が可能。piのエコシステムに対して、可用性と並列性を確保するためのシンプルな実装を目指しています。

GitHub

リポジトリの統計情報

  • スター数: 27
  • フォーク数: 2
  • ウォッチャー数: 27
  • コミット数: 4
  • ファイル数: 3
  • メインの言語: TypeScript

主な特徴

  • 複数サブスクリプション登録: プロバイダごとに追加のOAuthアカウントを登録可能
  • ローテーションプール: サブスクリプションをグループ化し、レートリミット発生時に自動で切替
  • TUI管理: /subs/pools 等のインタラクティブなコマンドで管理操作
  • 軽量でpiに統合しやすい: npmまたはgit経由で簡単にインストール

技術的なポイント

pi-multi-passはTypeScriptで実装されたpi用拡張で、設計上の中心は「複数のOAuth資格情報を安全に管理し、レート制限に応じて自動的に使い分ける」ことにあります。実装は大きく分けてサブスクリプション管理、プール管理、ローテーションロジック、piとの統合(コマンド/TUI)に分かれます。サブスクリプション管理は各プロバイダ(Anthropic等)に対するクレデンシャル情報をメタデータとして保持し、アクセストークンの更新や有効期限の監視を行います。プール管理では複数のサブスクを同一プールにまとめ、プール単位でリクエストを振り分けます。ローテーションロジックはレート制限エラー(HTTPステータスやプロバイダ固有のエラーコード)を監視し、該当アカウントを一時的に退避して次のアカウントへフォールオーバーする戦略を取ります。戦略には単純ラウンドロビンに加え、エラー発生時のバックオフや一定時間のクールダウンも組み込める設計です。piとの連携は拡張APIを通じてコマンドを登録し、TUIはユーザが対話的にサブスクの追加・削除、プール割当、優先度設定を操作できるようにします。TypeScript採用により型安全性が確保され、将来的なプロバイダ追加や認証フローの拡張が容易です。セキュリティ面ではトークンのローカル保存や表示制御、必要最小限の権限でのOAuthスコープ設定が考慮される想定で、レート制限の監視とログ出力により運用時のトラブルシュートが可能です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • extensions: dir
  • package.json: file

まとめ

piにおける多重サブスク管理と自動ローテーションを簡易に実現する実用的な拡張です。

リポジトリ情報:

READMEの抜粋:

pi-multi-pass

Multi-subscription extension for pi — use multiple OAuth accounts per provider with automatic rate-limit rotation.

Install

pi install npm:pi-multi-pass

Or via git:

pi install git:github.com/hjanuschka/pi-multi-pass

Features

  • Multiple subscriptions: Add extra OAuth accounts for any provider
  • Rotation pools: Group subscriptions and auto-rotate on rate limits
  • TUI management: /subs and /po...