- CLI
- 0.2.17
- プレビュー ref
- a2c45c8
3〜4個のエージェントセッションをプロジェクトの別々の部分で並列に動かしていると、どれかが止まって承認を待っている瞬間を見逃しがちです。気づいたときには 20 分たっています。
セッションは進んでいるのに、ボトルネックは自分です。
要点
- 設定(Settings)→ 通知(Notifications) でプッシュ通知を有効にする
- 権限リクエストの通知を有効にする
- 受信箱(Inbox)で保留中のリクエストを1か所で確認する
- 通知アクション(許可/拒否)で、アプリを開かずに応答する
- セッションが多いときは、個々のセッションではなく受信箱を定期的に確認する
課題
複数のエージェントを動かすということは:
- どのセッションも権限プロンプトで止まりうる
- すべてのセッションを同時には見られない
- 状態を確認するためにセッションを行き来すると時間を無駄にする
- 止まったセッションに気づく頃には、遅れが積み重なっている
ボトルネックはエージェントではありません。エージェントが待っていることに自分が気づくことです。
よくある方法とトレードオフ
- 各セッションを手作業で確認する: 面倒で、どれを確認済みか忘れがちです。
- ターミナルウィンドウを複数開いておく: どれにプロンプトが出ているか見えにくいです。
- SSH で状態確認を実行する: ましですが、確認すること自体を覚えておく必要があります。
Happier の受信箱と通知はこれを解決します。
- 保留中のリクエストをすべて1か所で確認できる
- どのセッションでも対応が必要になるとプッシュ通知が届く
- 通知アクションですばやく応答できる
Happier を初めて使う場合
Happier は、Claude Code、Codex、OpenCode などの AI コーディングエージェント向けのオープンソースのコンパニオンアプリです。
ここでのワークフローは、複数のエージェントを並列で動かし、Happier がどれに対応が必要かを追跡してスマホに通知する、というものです。
セットアップ:
- スマホから Happier を使う方法
- GitHub: https://github.com/happier-dev/happier
- インストール/ダウンロード: https://github.com/happier-dev/happier#how-it-works
- Discord(コミュニティとサポート): https://discord.gg/W6Pb8KuHfg
手順: 待っているエージェントの通知を有効にする
1) プッシュ通知を有効にする
Happier アプリで:
- 設定(Settings)→ 通知(Notifications) を開く
- プッシュ通知(Push notifications)を有効にする
- 求められたら通知の許可を与える(iOS/Android)
これで、アプリを開いていなくても通知を送れるようになります。
2) 通知の種類を設定する
同じ設定画面で、次を有効にします。
- 権限リクエスト(Permission requests): エージェントがツールの権限を求めたときに通知
- 準備完了通知(Ready notifications): ターンが終わってエージェントがアイドルになったときに通知
これが「エージェントが待っている」主な2つの状態です。
3) 通知の詳細度を設定する
リクエストのプレビュー(Request previews)を選びます。
- オン(On): 求められているコマンドやファイルが通知に含まれる(コンテキストが多い)
- オフ(Off): 一般的な「権限が必要です」という通知(プライバシーが高い)
プレビューを有効にすると、権限の通知には求められたコマンドまたはファイルパスと、添えられた説明が含まれます。
並列セッションでは、すべてのセッションを開かずに振り分けられるよう、オン をおすすめします。
4) 動作を確認する
- Claude Code か Codex のセッションを始める
- 権限プロンプトが出るまで進める
- スマホに通知が届くはずです
通知から:
- タップしてセッションを開く
- または 許可(Allow)/ 拒否(Deny)を押してすぐに応答する
受信箱で複数の待機中セッションを振り分ける
並列セッションが多いとき、受信箱が振り分け用の画面になります。
受信箱に表示されるもの
Happier アプリで:
- 受信箱(Inbox)をタップ(ホーム画面または下部ナビゲーション)
- 対応が必要なすべての項目が表示されます:
- 権限リクエスト
- 承認リクエスト
- ユーザー操作のリクエスト(「Exit Plan Mode」など)
- 共有セッションのアクティビティ
並列セッションで受信箱が重要な理由
こうする代わりに:
Session 1 → check for prompts → back
Session 2 → check for prompts → back
Session 3 → check for prompts → back
Session 4 → check for prompts → backこうします:
Inbox → see 2 pending requests → handle them → done受信箱は、承認リクエスト、保留中の権限リクエスト、届いたフレンド関連の要対応項目のためのアクションセンターです。
受信箱から応答する
受信箱の項目をタップすると:
- リクエストにフォーカスした状態でセッションが開く
- リクエストのコンテキストが表示される
- 許可/拒否/承認ができる
対応した項目は受信箱から消えます。
通知アクション: アプリを開かずに応答する
iOS と Android では、権限の通知でアクションが使えます。
- 許可(Allow): リクエストをすぐに承認
- 拒否(Deny): リクエストをすぐに拒否
これらのアクションが動くのは:
- 通知の対象が、アプリですでにアクティブなサーバーのとき
- または、通知の対象が保存済みのサーバープロファイルのとき
Happier が権限の応答を自動送信するのは、通知のサーバーがデバイス上ですでにアクティブか、すでに保存されている場合だけです。
Happier を開いてパソコンの前にいるときは、0.2.16 で追加された通知設定により、パソコンで Happier にフォーカスしている間はスマホへのプッシュがミュートされます。パソコンのフォーカスを確認できないときは、プッシュはスマホに届きます。
安全のため、通知の対象が未知のサーバーなら、Happier は黙って承認せず、サーバーの追加/切り替え画面に案内します。
多数の並列セッション向けのワークフロー
朝のセットアップ
- すべてのエージェントセッション(Claude Code、Codex など)を始める
- 各セッションが最初のプロンプトを受け取るか、作業を始める
- Happier の受信箱を開く: 空(良い状態)
日中
- エージェントが判断を求めると通知が届く
- 通知のプレビューを確認する:
- 単純なら: 許可 か 拒否 を押す
- コンテキストが必要なら: 通知をタップ → セッションを開く → 確認 → 応答
- 受信箱を定期的に確認する(1時間ごと、またはタスクを切り替えるとき)
- 読んだけれど後で戻りたいセッションには、その行の リマインド(Remind me)を使う(0.2.13 で追加)。リマインドの時刻まで 確認が必要(Needs attention)から外れ、その後は新しい動きがなくても戻ってきます。リマインドはアプリ内の要対応状態を変えるだけで、プッシュは送りません。
- 保留中のリクエストにまとめて応答する
1日の終わり
- 受信箱を開く: 止まったままのセッションを確認する
- 振り分ける: 正当なリクエストは承認し、探索的なものは拒否する
- セッションは夜の間も続く(終わったなら停止する)
通知と受信箱の定期確認の使い分け
通知を使うのは:
- リアルタイムで把握したい
- 判断に時間的な制約がある
- 外出中で頻繁に確認できない
受信箱の定期確認を使うのは:
- 承認を1時間ごとにまとめて処理する
- 通知がうるさすぎる
- 決まった時間に確認したい
両方を使うのは:
- 急ぎのリクエストは通知で知りたい
- 振り分けるときは受信箱で全体を見たい
複数サーバーをまたぐ通知のルーティング
セルフホストの Relay や複数の Relay プロファイルを使っている場合:
- 通知には、リクエスト元のサーバーが含まれる
- タップすると正しいサーバーに移動する
- サーバーがまだ保存されていなければ、Happier が追加を促す
通知の対象が、現在アクティブではない保存済みのサーバープロファイルの場合、ディープリンクが動くように Happier はそのプロファイルに自動で切り替えます。
トラブルシューティング
症状: 通知が届かない
考えられる原因:
- アプリの設定でプッシュ通知が無効
- アプリに通知の許可が与えられていない
- デバイスに有効なプッシュトークンがない
対処:
- 設定(Settings)→ 通知(Notifications)→ プッシュ通知(Push notifications) が有効か確認する
- デバイスの設定を確認する: 通知 → Happier → 通知を許可
- アプリを再起動して新しいプッシュトークンを登録する
- セッション1つで試して確認する
症状: 通知は届くがアクションが動かない
考えられる原因:
- 通知の対象が未知または非アクティブのサーバー
- アプリのバージョンが古く、通知アクションに対応していない
対処:
- サーバープロファイルが 設定(Settings)→ Relay(Relays) に保存されているか確認する
- Happier アプリを最新バージョンに更新する
- アクションの代わりに通知をタップしてみる
症状: 受信箱は空なのに、待っているセッションがあるはず
考えられる原因:
- セッションが別の Relay/サーバーにある
- 違うアカウント/プロファイルを見ている
- リクエストはすでに対応済み
対処:
- どのサーバーがアクティブか確認する: 設定(Settings)→ Relay(Relays)
- 必要なら正しいサーバーに切り替える
- 各セッションを手作業で開いて状態を確認する
- 対応したリクエストは受信箱から消えます
症状: 通知が多すぎる
考えられる原因:
- すべての種類の通知が有効
- 多くのセッションが頻繁にプロンプトを出している
対処:
- 設定(Settings)→ 通知(Notifications) で、急ぎでない種類を無効にする
- リクエストのプレビュー を オフ にして、ロック画面の情報を減らす
- アプリ内通知(In-app notifications)を サイレント(Silent)か オフ にすることを検討する
- プッシュよりも受信箱の定期確認に頼る
よくある質問
セルフホストの Relay でも通知は使えますか?
はい。Relay は Expo のプッシュサービス経由で通知を送ります。
セルフホストの Relay は Expo の API に届くようインターネットに接続できる必要がありますが、特別なファイアウォールのルールは不要です。
デスクトップでも通知を受け取れますか?
デスクトップアプリはアプリ内通知を表示しますが、現在はシステムのプッシュ通知には対応していません。
プッシュにはモバイルアプリを使うか、デスクトップから受信箱を定期的に確認しましょう。
通知を見逃したら?
見逃した通知は消えません。対応するまで、リクエストは受信箱に残ります。
ほかにも:
- 受信箱を手作業で確認する
- セッションを直接開く
承認リクエストを webhook に送れますか?
はい。設定(Settings)→ 通知(Notifications)→ Webhook 通知(Webhook notifications) から、同じイベントを HTTP エンドポイントに送れます。
次のような用途に便利です:
- 社内ダッシュボード
- Slack/Discord のボット
- ホームオートメーションのトリガー
webhook の設定は通知設定のドキュメント(英語)を参照してください。
セッションが 10 個以上でも使えますか?
はい。ただし次の点を考えましょう:
- 受信箱は、個々のセッションの確認よりもスケールする
- 通知のプレビューがあれば、各セッションを開かずに振り分けられる
- うるさくならないよう、通知の種類を調整するとよい