Notification evidence

通知を設定し、結果を確認

Mac通知、iPhoneの予定通知、Discord通知は役割が異なります。ここではDiscordの設定から、通知対象、再試行、届かない場合の確認まで順に説明します。

4つの役割

Macの実測通知

低残量、0%、通常・早期リセット、リセット券の付与と期限を観測値から検知します。

iPhoneの予定通知

最後に同期したresetAtに基づく一回限りの予定です。実測完了ではありません。

Discord

Webhookの受付・保存確認と、利用者の端末表示・閲覧は別です。

Widget

状態を表示しますが、iPhoneの予定通知を書き換える主体ではありません。

Discord通知を設定する

Discordの通知先チャンネルにWebhookを作り、Mac版へ保存します。Botの追加やiPhone側での設定は不要です。

  1. DiscordでWebhookを作成通知先サーバーの「サーバー設定」から「連携サービス」→「ウェブフック」を開き、新しいWebhookを作成します。投稿先チャンネルを選び、「Webhook URLをコピー」を実行します。作成にはサーバーの管理権限が必要です。
  2. Mac版へ安全に保存AI使用状況の「設定」→「Discord」で、コピーしたWebhook URLを貼り付けて「保存」を押します。URLはMacのKeychainへ保存され、iPhone、Widget、iCloud同期データには含まれません。
  3. 通知対象を選択「Discord通知」をONにし、CodexとClaudeごとに残量低下、実測リセット、取得状態など必要な項目を選びます。Codexではリセット券の付与と期限通知も設定できます。
  4. プレビュー後にテスト送信「テスト送信の確認」を押し、合成データの本文と送信先を確認してから実送信します。テスト送信では@everyoneを含むすべてのメンションが無効です。本文末尾には起動中のVersion・Buildが表示されます。
Webhook URLはパスワードと同じ秘密情報です。 スクリーンショット、問い合わせ、チャット、公開リポジトリへ貼らないでください。漏れた場合はDiscord側でWebhookを削除して作り直します。

Discord公式: Webhookの作成Webhook送信仕様送信制限

通知される条件

対象検知条件通知の扱い
残量20%未満信頼できる取得値が20%未満へ低下macOSの早めの警告です。Discordはまだ送信しません。
残量10%以下信頼できる取得値が10%以下へ低下対象設定がONならmacOSとDiscordへ通知します。
0%到達信頼できる取得値が実際に0%10%以下の警告とは別のイベントとして一度通知します。
通常・早期リセット残量が実測で回復。予定前なら早期回復として分類予定時刻だけで「リセット済み」とは通知しません。
リセット券Codexの券付与、残り回数、設定日数以内へ近づいた期限残数と確認できた期限を通知します。未知の明細を使用済みとは断定しません。
取得状態設定したサービスで取得・認証の問題を検知短い復旧案内を表示し、秘密情報や生の応答は載せません。

同じ残量警告は毎回送らず、値が25%以上へ回復すると次回の警告に備えて再び有効になります。未知の利用枠、取得失敗、丸め表示は0%やリセットへ変換しません。

Discordの送信状態

通知OFF・対象外検知対象ではないか、サービス・通知種別・Discord通知のいずれかがOFFです。
送信待ち検知済みで、通信回復または再試行時刻を待っています。待機中は同じ通知を毎分作り直しません。
Discord保存を確認wait=trueで返されたメッセージ情報から、Discord側に保存されたことを最小確認しました。端末表示、プッシュ通知、閲覧までは保証しません。
結果不明送信後タイムアウトや不完全な応答で、保存の有無を確定できません。再送すると重複する可能性があります。
取消再送前の最新状態で回復済み、設定OFF、期限経過などを確認し、不要になった送信を取り消しました。

HTTP 429ではDiscordのRetry-Afterまたはretry_afterを尊重し、その時刻より前には再送しません。401・403・404では自動再送を止め、Webhookの確認と再保存を案内します。

送信待ちは最大128件、原則3日まで保持します。再送直前にも現在の残量、期間、設定、リセット券を確認し、古くなった通知は送らない設計です。通常の通知本文にも起動中のVersion・Buildを付記します。

@everyoneの安全設定

新しく設定した環境では「全員通知」は初期状態でOFFです。ONにすると、本文先頭の@everyoneとDiscordのallowed_mentionsを両方明示します。OFF時は全員、ユーザー、ロールへの意図しないメンションを無効化します。

以前の設定から全員通知ONを引き継いだ場合は、設定画面にその旨を表示します。不要なら「全員通知(@everyone)」をOFFにしてください。全員通知がONでも、Discord側の権限や各利用者の通知設定によりプッシュ通知されない場合があります。

テスト送信は全員通知設定に関係なくメンションなしです。本番通知と同じ扱いで全員へ通知するテストは行いません。

iPhoneの予定通知

予定通知は、最後に同期した未来のリセット日時を知らせます。予定時刻に達しても「リセットされました」とは断定しません。アプリ本体が新しいSnapshotを採用したときに予定を見直し、Widgetだけの更新では予約を変更しません。

通知が届かない場合の4手順

検知、OSへの登録、Discordでの保存、端末表示、閲覧はそれぞれ別の状態です。

  1. 通知したい種類をONにする

    Macの初回設定または設定で、macOS通知、Discord通知、リセット券の期限通知を選びます。

    確認:対象サービスと通知種別の両方がON
    Mac版のmacOS通知、Discord通知、リセット券期限通知の設定画面
    必要な通知だけを選択
  2. iPhoneの予定通知を選ぶ

    CodexとClaudeの5時間枠・週間枠を個別に選び、通知する時刻を設定します。予定時刻が未取得の枠には通知を作りません。

    注意:予定通知は「リセットされました」とは断定しない
    Dynamic Island搭載iPhoneで表示したCodexとClaudeのリセット予定通知設定画面
    サービス・期間ごとに予定通知を選択
  3. Discordテストの本文を送信前に確認

    テストは合成データを使い、全員・ユーザー・ロールへのメンションを無効にします。プレビューと実送信は別操作です。

    確認:本文と宛先を見てから「この内容を送信」
    Mac版のDiscord通知テスト送信前プレビュー画面
    メンションなしの合成本文を事前確認
  4. MacとiPhoneの履歴を分けて確認

    Discordの送信待ち、保存確認、結果不明、取消はMac版の通知履歴で確認します。iPhoneの「通知履歴」は予定通知の履歴で、Discordの送信証跡ではありません。

    注意:「結果不明」の再送は重複する可能性がある
    Dynamic Island搭載iPhoneで利用履歴と通知履歴を切り替える画面
    iPhoneでは予定通知の履歴を確認