Amazon Q → API ブリッジ (q2api)
概要
Amazon Q Developer のリクエスト/レスポンス形式を受け取り、OpenAI(/v1/chat/completions)やAnthropic Claude(/v1/messages)互換の API に変換して橋渡しを行うプロジェクトです。特徴はマルチアカウント管理、ストリーミング応答対応、Claude 形式のツール呼び出しの完全サポート、および賢い負荷分散機能。ローカルあるいはサーバ上にデプロイして、既存の Amazon Q クライアントを外部 LLM に安全かつ互換的に接続できます。
リポジトリの統計情報
- スター数: 48
- フォーク数: 40
- ウォッチャー数: 48
- コミット数: 30
- ファイル数: 14
- メインの言語: Python
主な特徴
- OpenAI Chat Completions (/v1/chat/completions) と Claude Messages (/v1/messages) の互換エンドポイントを提供
- ストリーミング(流式)応答と非ストリーミング両対応
- Claude 形式のツール呼び出しと結果返却をサポート
- マルチアカウント管理と負荷分散で可用性とスループットを向上
技術的なポイント
q2api は入ってくる Amazon Q の呼び出しを受け、内部で OpenAI/Claude のメッセージフォーマットに変換してバックエンドに中継するアダプタ層を実装しています。ストリーミング対応では、バックエンドからのチャンク(イベントストリーム)をクライアントが期待する形式に逐次変換・転送し、遅延を抑えたレスポンスを実現します。Claude のツール呼び出しは専用のメタデータやツール結果フォーマットが必要ですが、本プロジェクトはそのシリアライズ/デシリアライズをハンドルし、ツール実行結果を正しく返す仕組みを持ちます。マルチアカウント管理により複数の API キーやエンドポイントをプールし、負荷や失敗に応じてルーティングすることでスループットと耐障害性を確保します。auth_flow.py は認証フローやトークン管理(リフレッシュや取得)を担い、.env で API キーや動作設定を外部化します。設計上は小さな Python サービス(app.py がエントリ)として軽量に動作し、プロキシ/ゲートウェイとして既存クライアントの互換性を維持しつつバックエンドを差し替え可能にします。
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file
- .gitignore: file
- README.md: file
- app.py: file
- auth_flow.py: file
…他 9 ファイル
まとめ
Amazon Q と OpenAI/Claude をつなぐ軽量で実用的なブリッジ実装です。
リポジトリ情報:
- 名前: q2api
- 説明: 説明なし
- スター数: 48
- 言語: Python
- URL: https://github.com/CassiopeiaCode/q2api
- オーナー: CassiopeiaCode
- アバター: https://avatars.githubusercontent.com/u/212207110?v=4
READMEの抜粋:
Amazon Q to API Bridge
将 Amazon Q Developer 转换为兼容 OpenAI 和 Claude API 的服务,支持多账号管理、流式响应和智能负载均衡。
项目地址:
致谢:
- 感谢 amq2api 项目提供的 Claude 消息格式转换参考
✨ 核心特性
API 兼容性
- OpenAI Chat Completions API - 完全兼容
/v1/chat/completions端点 - Claude Messages API - 完全兼容
/v1/messages端点,支持流式和非流式 - Tool Use 支持 - 完整支持 Claude 格式的工具调用和结果返回
- **System P…