AIエージェントのための画面共有・操作インターフェース (macOS専用)
Spectraは、AIエージェント(Claude, Gemini, Codexなど)がPCの画面を「見て」、操作対象を「選ぶ」ためのブリッジアプリケーションです。 Electron製のGUIでキャプチャ対象(ウィンドウやディスプレイ)を選択し、MCP (Model Context Protocol) サーバーを通じてAIに画像を提供します。
- Discord風GUI: 直感的なインターフェースでキャプチャ対象(ウィンドウ/画面)を選択
- MCPサーバー: AIクライアントからのリクエストに応じて画面キャプチャを提供
- マルチクライアント対応: Claude, Gemini, Codexなど複数のAIツールに対応
| クライアント | 対応状況 | 備考 |
|---|---|---|
| Claude CLI | ✅ 完璧 | 推奨クライアント |
| Claude Desktop | ✅ 完璧 | GUIで利用可能 |
| Claude Code | ✅ 完璧 | VS Code拡張機能 |
| Gemini CLI | ✅ 動作 | APIクォータ制限に注意 |
| Codex CLI | ✅ 動作 | キャプチャできない可能性あり(環境・モデル依存) |
このプロジェクトは3つの層で構成されています:
- GUI (Electron + React): ユーザーがキャプチャ対象を選択するための設定画面。
- MCP Server (Node.js): AIクライアントからのリクエストを受け付け、キャプチャを実行するサーバー。
- Capture Layer (Swift): macOSのネイティブAPIを使用して画面キャプチャを行うCLIツール。
詳細なセットアップ手順は README_MCP_SETUP.md を参照してください。
GitHub Releases から最新の .dmg ファイルをダウンロードしてインストールしてください。
AIエージェントがSpectraを利用するには、MCPサーバーをローカルで実行する必要があります。npm経由で簡単にインストールできます。
npm install -g spectra-mcp※ まだnpmに公開されていない場合は、リポジトリをクローンして npm install -g . でインストールしてください。
インストールした「Spectra」アプリを起動し、キャプチャしたいウィンドウまたは画面を選択します。
Claude CLIの場合:
# 初回設定
claude mcp add spectra spectra-mcp --scope user
# 使う
claude "画面を見て、何が表示されているか教えて"Gemini CLIの場合:
# 初回設定
gemini mcp add spectra spectra-mcp
# 使う
gemini "画面を見て"- 画面収録の許可: システム設定 > プライバシーとセキュリティ > 画面収録 で、ターミナル(iTerm2など)やSpectra(ビルド後のアプリ)が許可されているか確認してください。
- 別スペースのウィンドウ: macOSの制限により、現在表示されているスペース(デスクトップ)にあるウィンドウのみがリストアップされます。
- DRM保護されたコンテンツ(Netflixなど)はキャプチャできません。
- 画面収録の許可がない場合も真っ黒になることがあります。
- 設定ファイル:
settings.jsonに現在のキャプチャ対象IDが保存されます。 - Swiftソース:
capture/mac/Sources/mac/mac.swift - Electronメインプロセス:
gui/electron/main.ts