erha19/ping-island

A Dynamic Island-style command center for managing all your AI coding agents on macOS.

Ping Island – macOS用のAIコーディングセッション監視ツール

何ができるか – Claude、Codex、Gemini CLI、Hermes、Pi、Qwen、Kimi、OpenClaw、Cursor、Qoder、GitHub Copilotなど、多数のAIコーディングアシスタントの活動を監視するネイティブmacOSのメニュー項目(およびノッチ)アプリ。アシスタントが注目を要する場合(たとえば、ツール承認リクエスト、フォローアップ質問、完了通知など)、アプリはメニュー項目または画面のノッチから展開され、関連するコンテキストを表示し、リクエストを発行したターミナルやIDEタブを探す手間なく、即座に対応できます。


クイックスタート

ステップ コマンド / 操作
インストール brew install --cask ping-island (またはウェブサイトからDMGをダウンロード)
実行 Applications から Ping Island.app を開き、要求されたアクセシビリティ/Apple‐Events権限を付与
クライアントの接続 サポートされているAIコーディングクライアント(例:Claude、Codex、Gemini CLI)を起動。クライアントのフックファイルは自動的にバンドルされた PingIslandBridge を指し、イベントをアプリに転送します
操作 リクエストが表示されたら、ノッチUIで承認/拒否、または直接返信を入力。"return"ボタンをクリックして、リクエストを発行した元のiTerm2、Terminal、tmuxパネル、またはIDEウィンドウにジャンプ

コア機能

  • 注目優先UI – AIセッションに入力が必要な場合にのみ表示され、メニュー項目または画面のノッチからポップアップします。
  • ワンクリック戻り – リクエストを発行した正確なターミナル/IDEウィンドウにジャンプします。
  • Claude Code用の自動承認 – セッションごとにオプションで自動承認を有効化し、Claudeが毎回の権限リクエストで一時停止するのを防ぎます。
  • リモートホスト対応 – 軽量な PingIslandBridge をLinux SSHホストにインストール可能。ブリッジはリモートのフックイベントをmacOS UIに転送します。
  • マルチエージェント対応 – 12種類以上のエージェントとプラグイン(Claude、Codex、Gemini CLI、Antigravity CLI、Hermes、Pi、Qwen、Kimi、OpenClaw、OpenCode、Cursor、Qoderファミリー、GitHub Copilotなど)を1つのパネルで追跡します。
  • カスタマイズ可能 – 3つの組み込みビジュアルテーマ(ネイティブ、macOS、Pixel)と3つのサウンドモード(システムサウンド、組み込み8ビット、ユーザー提供サウンドパック)。各クライアントごとに独自のアニメーションマスコットを設定可能。
  • バディ分離(v0.5+) – アクティブなマスコットをノッチからドラッグして、画面に浮かぶコンパニオンを維持できます。

サポートされるクライアント(イングレス → フォーカスパス)

クライアント アプリがイベントを受信する方法 フォーカスを戻す方法
Claude Code PingIslandBridge を通じたClaude互換フックファイル Terminal.app、iTerm2、Ghostty、tmux、またはIDEターミナル
Codex (CLI + app‑server) Codex CLIフック + Codex app‑serverへのライブWebSocket Codexアプリ、ターミナル、tmux、IDE
Gemini CLI ~/.gemini/settings.json にフックエントリ 任意のターミナルホスト
Antigravity CLI ~/.gemini/antigravity-cli/plugins/ping‑island/ に生成されたプラグイン ターミナルホストおよびリモートSSH
Hermes Agent ~/.hermes/plugins/ping_island/ にプラグインフック Hermes CLIターミナル
Pi Agent ~/.pi/agent/extensions/ping_island/ に拡張機能 Piターミナルホスト
Qwen Code ~/.qwen/settings.json にフックファイル ターミナルホストおよびリモートSSH
Kimi CLI ~/.kimi/config.toml[[hooks]] エントリ ターミナルホスト
OpenClaw 管理された内部フック + ローカルトランスクリプトのバックフィル OpenClawターミナル
OpenCode ~/.config/opencode/plugins/ にプラグインファイル OpenCodeアプリおよびターミナル
Cursor Claude互換フック + オプションのVS Codeフォーカス拡張 Cursorプロジェクトウィンドウおよびターミナル
Qoderファミリー(IDE / CLI) ~/.qoder* にフックプロファイル Qoder IDEウィンドウ、ターミナル、またはVS Code互換拡張
CodeBuddy / WorkBuddy 管理されたフック + オプションのVS Codeフォーカス拡張 アプリウィンドウ、ターミナル、IDE
GitHub Copilot Copilotフックプロトコル 互換ターミナルホスト

動作原理(概要フロー)

AIクライアント(Claude、Codex、Gemini…) → フックまたはアプリサーバーイベント
    → Ping Islandモニタ(異なるペイロードを統一化)
        → SessionStore(クライアントごとのセッション状態を保持)
            → SessionMonitor / NotchViewModel
                → UI:ノッチバー、セッションリスト、ホバー表示、完了ポップアップ
  • モニタは各クライアントのネイティブフック形式を共通の内部モデルに変換します。
  • SessionStoreはイベント(ツール承認、ユーザーのプロンプト、完了など)を集約し、UIが簡潔なタイムラインを表示できるようにします。
  • NotchViewModelは、メニュー項目/ノッチに常駐するコンパクトなUIを制御し、必要に応じて展開します。
  • リモートLinuxホストの場合、PingIslandBridgeバイナリがSSH経由で実行され、リモートフックをMacに戻すように書き換え、リモートのCodexアプリサーバーストリームを転送します。

ビルド/テスト(カスタマイズしたい場合)

# クローンしてビルド(macOS 14+ および Swift 6.1 対応 Xcode 必須)
git clone https://github.com/erha19/ping-island.git && cd ping-island
xcodebuild -project PingIsland.xcodeproj -scheme PingIsland -configuration Release build

# ローカルテスト用の署名なしDMGをパッケージ化
./scripts/package-unsigned.sh

# 全テストスイートの実行
./scripts/test.sh   # SwiftパッケージテストとXcodeのユニット/UIテストを実行
  • CIスクリプトは、署名済み・ノタライズ済みリリースとLinux用 PingIslandBridge アセットも生成します。

設定スナップショット

カテゴリ 設定可能な項目
一般 ログイン時に起動、デフォルト動作
表示 使用するノッチ(ある場合)、配置
マスコット クライアントごとのマスコットオーバーライド、アニメーション状態
サウンド エクスペリエンステーマの選択、システムサウンドまたはカスタムサウンドパックのインポート

どんな人に向いているか?

  • 複数のAIコーディングアシスタントを使用する開発者で、頻繁に権限や説明のリクエストを受けている人。
  • ノッチ搭載Macを使用している人で、ウィンドウ切り替えを避け、常に小さな表示を維持したい人。
  • リモート開発者で、SSH経由でLinuxサーバー上でAIエージェントを動かしているが、ローカルでの可視性を維持したい人。
  • ビジュアルカスタマイズが好きなパワーユーザー – マスコット、レトロピクセルテーマ、カスタムオーディオ。

ライセンスとコミュニティ

  • ライセンス:Apache 2.0(許容性が高く、商用利用も可)。
  • 貢献者:リポジトリには CONTRIBUTORS.md が記載されており、新しいエクスペリエンステーマの追加や、追加のAIクライアントのサポートに関するドキュメントも提供されています。
  • プライバシー:ヘッダーに短いプライバシーポリシーのリンクあり。アプリはローカルのフックイベントのみ処理し、データを外部に送信しません。

結論:Ping Islandは、AIコーディングアシスタントの通知をメニュー項目/ノッチに統合する、集中型でオープンソースのmacOSユーティリティです。作業の流れを保ちつつ、承認やフォローアップ質問の完全な制御を可能にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト