Skip to content

Repository files navigation

parallel-gais

image

並列AI CLI実行ツール - 複数のAI CLI(Claude Code、Gemini CLI、Copilot CLIなど)に対して同じプロンプトを並列実行し、すべてのAIからの回答を一度に比較できるCLIツール。

Features

  • 並列実行: 複数のAI CLIに同じプロンプトを並列で送信し、応答時間を大幅に短縮
  • 柔軟な設定: YAML設定ファイルでAI CLIを簡単に追加・削除
  • 耐障害性: 一部のAI CLIが失敗しても、他のAIからの回答は正常に取得
  • 複数の出力形式: テキスト形式またはJSON形式で結果を出力
  • クロスプラットフォーム: macOS、Linux、Windows対応

Quick Start

Installation

# Clone the repository
git clone https://github.com/tatsuosakurai/parallel-gais.git
cd parallel-gais

# Build and install
make build
make install

Configuration

  1. 設定ファイルのサンプルをコピー:
cp .parallel-gais.yaml.example .parallel-gais.yaml
  1. .parallel-gais.yaml を編集して、使用したいAI CLIを設定:
default_timeout: 300
log_level: info
output_format: text

providers:
  - name: claude
    command: claude-code
    args: ["--prompt", "{{.Prompt}}"]

  - name: gemini
    command: gemini
    args: ["-q", "{{.Prompt}}"]
  1. 環境変数を設定:
export CLAUDE_API_KEY="your-claude-api-key"
export GEMINI_API_KEY="your-gemini-api-key"

Usage

基本的な使い方:

parallel-gais "Hello, who are you?"

JSON形式で出力:

parallel-gais --json "Explain quantum computing"

カスタム設定ファイルを使用:

parallel-gais --config custom.yaml "What is Docker?"

詳細ログを有効化:

parallel-gais --verbose "Compare Python and Go"

Command Line Options

parallel-gais [options] "<prompt>"

Options:
  --config <file>      設定ファイルのパス(デフォルト: .parallel-gais.yaml)
  --json               JSON形式で出力
  --verbose            詳細ログを表示(デバッグ用)
  --timeout <seconds>  グローバルタイムアウト(秒)
  --help               ヘルプを表示
  --version            バージョンを表示

Development

Prerequisites

  • Go 1.21以上
  • 使用したいAI CLI(Claude Code、Gemini CLI、Copilot CLI等)

Build

make build

Test

make test

Test with Coverage

make test-coverage

Architecture

parallel-gais/
├── cmd/parallel-gais/    # CLIエントリーポイント
├── internal/             # 内部パッケージ
│   ├── config/           # 設定ファイル読み込み
│   ├── provider/         # プロバイダーインターフェース
│   ├── orchestrator/     # 並列実行オーケストレーション
│   └── output/           # 出力フォーマット
└── tests/                # テスト
    ├── contract/         # コントラクトテスト
    ├── integration/      # 統合テスト
    └── testdata/         # テストデータ

License

MIT License

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

Acknowledgments

このプロジェクトはspec-kitを使用して設計・実装されました。

About

並列でClaude Code, Gemini CLI, Copilot CLI に相談したい

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages