---
title: エージェントが呼んだらスマホに通知する
nav_title: スマホ通知
layout: default
parent: 日本語
nav_order: 11
description: タスク完了・入力待ちをスマホへ Web Push で通知する設定。並列エージェントを回しながら席を立つための仕組み。
---

# スマホ通知（Web Push）
{: .no_toc }

- TOC
{:toc}

**タスクが終わったとき、または許可・質問で止まったとき、スマホに通知が届きます。**
長いタスクを投げて席を立っても、手が空いたら呼び戻してもらえます。設定は「ターミナル側」と「スマホ側」の 2 か所です。

![スマホのロック画面に届いた通知 — タスク完了✅ と「Claude is waiting for your input」](../images/push-lock-screen.jpg)

- 通知は **2 種類**：ターンの**完了**と、**入力待ち**（許可プロンプト・質問）。
- **見ているペインのターンでも送られます**（要対応の[通知音](features.html)が「見ているペインでは鳴らない」のと違い、Push は端末が手元にない前提で常に飛びます）。除外されるのは内部のバックグラウンドワーカーだけ。
- 送信はサーバー側で行い、宛先の管理は別サービス（`mulmoserver`）が担当します。**RemoteHost に接続している間だけ**送信されます。

---

## ① ターミナル側の設定（mulmoterminal）

1. ツールバーの **RemoteHost**（`phonelink` アイコン）を開き、**Connect（Google サインイン）**を
   クリックします。Google のサインインポップアップが開くので、スマホと**同じ Google アカウント**で
   サインインします。
2. **Settings → Web Push notifications** の
   **「Notify my devices when a task finishes」** を ON にします（既定は OFF）。

> ⚠️ Settings にある **Google account**（カレンダー連携用）とは**別物**です。
> 通知に使うのは RemoteHost パネルの **Connect** のほうです。

これで、バックグラウンドのタスクが完了するたびにスマホへ通知が飛びます。

> 💡 ログインはサーバーを再起動しても維持されます（0.9.3〜。セッションをブラウザ側に保持し、
> 再読込・タブ復帰・ネットワーク復旧のいずれでも自動再接続します）。

## ② スマホ側の設定（mulmoserver PWA）

スマホ側の入口はどちらも同じ **[https://mulmoserver.web.app](https://mulmoserver.web.app)** です
（RemoteHost のパネルに表示される **QR コード**をスマホのカメラで読み取ってもOK）。
ターミナル側と**同じ Google アカウント**でサインインするのがポイント。
ただし **iPhone と Android で手順が違います**。

### iPhone / iPad（iOS 16.4 以降）

iOS では、**ホーム画面に追加した PWA からしか Web Push を受け取れません**。
Safari のタブで開いたままでは有効化できないので、**先にインストール**します。

1. Safari で [https://mulmoserver.web.app](https://mulmoserver.web.app) を開きます。
2. **共有ボタン →「ホーム画面に追加」**で PWA としてインストールします。
3. **ホーム画面のアイコンから起動**し、ターミナル側と同じ Google アカウントでサインインします。
4. **「通知を有効にする」**をタップし、通知を許可します（この端末が通知先として登録されます）。

### Android

Android（Chrome）は、ブラウザで開いたまま有効化できます。

1. Chrome で [https://mulmoserver.web.app](https://mulmoserver.web.app) を開きます。
2. ターミナル側と同じ Google アカウントでサインインします。
3. **「通知を有効にする」**をタップし、通知を許可します。
4. （推奨）メニューの**「ホーム画面に追加」**で PWA としてインストールしておくと、
   起動も通知の受け取りもより安定します。

## 通知だけじゃない：スマホから見る・返す

mulmoserver PWA は通知の受け口であるだけでなく、**リモコン**でもあります。
「通知に呼ばれる → スマホで画面を確認 → 一言返して続行」までが外出先で完結します。
セッションの dir で新しいターミナルを起動したり、よく送る文をワンタップのチップとして
登録したりもできます。

→ **[スマホから使う](phone.html)** にまとめてあります。

![スマホから見たターミナル — ライブ画面と yes / no / ok / continue / stop のクイック返信](../images/remote-phone-terminal.jpg)

---

## 通知が来る条件

次の4つがすべて満たされたときです。

- ✅ ターミナル側で **RemoteHost 接続中**
- ✅ **「Notify my devices」トグルが ON**
- ✅ スマホ側で**通知を有効化した端末が 1 台以上**登録済み
- ✅ その瞬間が**あなたが選んだ種類**であること — 下記

今見ているペインでも届きます（スマホは手元にないので）。内部ワーカー（隠しセッション・翻訳ワーカー）は
対象外です。

## どの瞬間に飛ぶか・どう選ぶか {#kinds}

Push が飛ぶ瞬間は2種類あり、**Settings → Web Push notifications** にそれぞれのチェックボックスが
あります。片方を外せばその瞬間だけ通知が止まり、もう片方は生きたままです。

| 設定 | 飛ぶタイミング | 見た目 | 頻度 |
|---|---|---|---|
| **Turn finished** | エージェントが返答を終え、出力が未読 | ✅ `<dir>` — 返答の冒頭 | **ターンごとに1回** |
| **Waiting for you** | エージェントが**質問して止まった** — 許可プロンプトや確認 | ❓ `<dir>` — 何を聞かれているか | **プロンプトごとに1回** |

{: .warning }
> **「頻繁に来る」と感じるのは Waiting for you です。** エージェントが止まって聞くたびに飛ぶので、
> 許可を何度も求める長いタスクでは、そのたびに通知が来ます。1件ずつは正しい（実際にセッションは
> 止まっている）のですが、**完了だけ知りたい場合はこれを外して Turn finished だけ残してください**。

master トグルを OFF にすれば全部止まりますが、**選んだ種類は失われません**。

将来のバージョンで種類が追加されても、**チェックを入れるまでは OFF のまま**です。アップデートで
頼んでいない通知が勝手に鳴り出すことはありません。

### `config.json` では

チェックボックスは [`pushEnabled` と `pushKinds`](config.html) に書き込まれます。

```json
{ "pushEnabled": true, "pushKinds": ["finished"] }
```

`pushKinds: []` は「どの種類も対象外」＝トグルを OFF にしたのと同じ静けさですが、選択は何も残りません。
`pushKinds` を**書かなければ両方**が対象になります（この設定ができる前に書かれた config がこれです）。

## 来ないときは

- **RemoteHost が未接続**になっていませんか？ → もう一度 Connect。
- スマホ側で**通知が有効化されていない**／端末未登録。 → PWA で有効化。
- **iPhone で有効化できない**。 → Safari のタブからではなく、**ホーム画面に追加したアイコンから起動**して有効化してください（iOS の仕様）。
- **通知の許可をブロック**してしまった。 → ブラウザのサイト設定（アドレスバー左のアイコン →「通知」）で「許可」に変更します。
- **ターミナルとスマホで別の Google アカウント**になっていませんか？ → 両方とも同じアカウントでサインインし直してください。
- **同じ通知が 2 回**届く場合は、スマホに**古い登録が残っている**可能性があります（mulmoserver 側で登録し直すと解消します）。

---

← [設定方法](config.html) ／ [日本語ガイドの目次](index.html)
