peon-ping
PeonPing/peon-ping — AI コーディングエージェントのイベントを音声・大画面オーバーレイ・タブタイトルで知らせる(MIT)
公式サイトは peonping.com。ソースは GitHub: PeonPing/peon-ping。各 IDE のフックから共通の peon.sh 経由で再生・通知し、Coding Event Sound Pack Specification(CESP) に沿ったカテゴリでパックを差し替えられる。
エージェントがバックグラウンドで完了・エラー・権限要求に至っても、別アプリにフォーカスがあると気づきにくい。peon-ping は 聴覚と視覚(オーバーレイ/システム通知)とターミナルタブのタイトルを組み合わせ、状態変化を短いループで取りこぼしにくくする。
flowchart LR E[IDE / CLI イベント] --> A[アダプタ] A --> P[peon.sh] P --> S[音声再生] P --> O[オーバーレイ / 通知] P --> T[タブタイトル]
README に列挙されている主な方法。OS は macOS・Linux・WSL2・Windows(PowerShell)に対応。
| 方法 | コマンド / 手順 | 備考 |
|---|---|---|
| Homebrew(macOS) | brew install peonping/tap/peon-ping | tap 追加が必要な場合あり |
| ワンライナー(Unix) | curl -fsSL https://peonping.com/install | bash | 公式インストーラ |
| Windows | irm https://peonping.com/install.ps1 | iex | PowerShell |
| 手動クローン | リポジトリを取得し ./install.sh | 開発・カスタム向け |
| Nix | flake / home-manager の例は README 参照 | installPacks でパック取得も可 |
peon relay で中継する想定。
adapters/ 直下の *.sh がエントリ。IDE の設定からイベントごとに呼び出す。代表的な ID は次のとおり(README の Cursor 例と同様に …/adapters/<id>.sh <イベント> で指定)。
| アダプタ ID | 想定ツール |
|---|---|
cursor | Cursor |
codex | Codex CLI |
copilot | GitHub Copilot 系 |
windsurf | Windsurf |
gemini | Gemini CLI |
kimi / kiro / kilo | 各種 CLI |
opencode / openclaw / rovodev / deepagents | エージェント/オープンソース IDE 連携 |
antigravity / amp | その他 README 記載の対象 |
Claude Code は hooks のマージが深いため、専用の home-manager オプションや ~/.claude/hooks/peon-ping/ への配置が README で案内されている。
README の「What you'll hear」に相当するマッピングの要約。カテゴリはパックのマニフェストと一致させる。
| イベント | CESP カテゴリ | 例(台詞の雰囲気) |
|---|---|---|
| セッション開始 | session.start | 作業開始の合図 |
| タスク完了 | task.complete | 完了の合図 |
| タスク受理(任意) | task.acknowledge | 既定ではオフになりがち |
| 権限・入力待ち | input.required | ユーザー操作が必要 |
| ツール/コマンド失敗 | task.error | エラー系ボイス |
| レート・トークン上限 | resource.limit | リソース枯渇 |
| 短時間に多発プロンプト | user.spam | スパム検知 |
macOS では JXA ベースの大画面オーバーレイ、テーマ(neon / glass / sakura / jarvis など)、通知位置・自動消去が peon setup や CLI で切り替え可能。標準通知モードでは terminal-notifier 等との連携も README に記載。
実行ファイル名は peon。ミュートは /peon-ping-toggle(Claude Code)または peon toggle。対話セットアップは peon setup。設定はグローバルなら $CLAUDE_CONFIG_DIR/hooks/peon-ping/config.json(省略時は ~/.claude/hooks/peon-ping/config.json)、ローカルインストール時は ./.claude/hooks/peon-ping/config.json。
# 例: 音量と通知の確認
peon status
peon volume 0.7
peon notifications overlay独立した 3 スイッチ: enabled(音声マスタ)、desktop_notifications(デスクトップ)、mobile_notify.enabled(モバイル push)。README の表どおり、音だけ・通知だけといった組み合わせが可能。
リポジトリ内の mcp/ に Node 製サーバがある。エージェントから play_sound でキー(例: duke_nukem/Groovy)を指定して再生。カタログは MCP Resource として公開され、モデルが一覧を一度読める設計。
| MCP 機能 | 役割 |
|---|---|
Tool play_sound | sound または sounds 配列で再生 |
Resource peon-ping://catalog | 全パック・全サウンドのカタログ |
Resource peon-ping://pack/{name} | 指定パックのカテゴリ別一覧 |
要件は Node.js 18+ と、ホストに peon-ping が入っていること。MCP クライアントの設定では node と peon-mcp.js へのパス(クローンしたプロジェクト内の絶対パス、またはインストール先)を指定する。
リポジトリの skills/ に 5 ディレクトリ。トグル・設定・セッション名・ログ・利用ガイドをエージェントが読み取れる。
peon-ping-toggle— ミュート切替peon-ping-config— 設定変更の手引きpeon-ping-rename— セッション表示名peon-ping-use— 利用パターンpeon-ping-log— ログ確認
- GitHub: PeonPing/peon-ping
- peonping.com
- openpeon(CESP)
- openpeon.com — パックレジストリの案内
- og-packs — Nix の
installPacks用参照