產生 Claude Code、Codex 與 Gemini CLI 的通知設定。

鉤子(hook)是一小段指令,AI 代理會在指定時機執行,例如完成回覆時。這個免費工具會幫你寫好鉤子或內建通知設定。

選擇你的代理、想收到通知的時機(工作完成,或需要你核准),以及通知方式。本頁會產生確切的設定片段,告訴你該放在哪個檔案,也能將它合併到該檔案的副本中。Claude Code 使用 Stop 和 Notification 鉤子;Codex 與 Gemini CLI 則使用各自的鉤子。你輸入的內容都不會離開瀏覽器。

最後更新:

Cowork Island

macOS 14 或以上版本。
Apple 晶片與 Intel。
免費版不需要帳號。

免費下載

選擇通知方式。

下方選項需要 JavaScript。未啟用時,本頁會顯示最常用的設定:Claude Code 完成工作或需要你處理時,顯示 Mac 橫幅通知。

使用哪個代理?
在以下時機通知我
用什麼方式?
音效

這些音效都在你 Mac 的系統音效資料夾中。

你的設定。

放在 ~/.claude/settings.json 中

將這些項目加入檔案的 "hooks" 物件中,與現有項目並列。請勿取代整個檔案,因為裡面可能還有你的其他設定與其他工具的鉤子。設定檔必須遵守嚴格的 JSON 格式,不能有註解或尾端逗號。更簡單的方式是將目前的檔案內容貼到下方合併欄位。

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Glass\"' -e 'end run' 'Claude Code finished' 'Claude Code' \"${PWD##*/}\""
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "permission_prompt|elicitation_dialog|elicitation_url_dialog",
        "hooks": [
          {
            "type": "command",
            "command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Funk\"' -e 'end run' 'Claude Code needs you' 'Claude Code' \"${PWD##*/}\""
          }
        ]
      }
    ]
  }
}
  • 在 Claude Code 中,權限通知與已連接工具的輸入請求,會在提示出現約 6 秒後送達;輸入文字會延後通知。這是 Claude Code 的 Notification 鉤子的運作方式。其他問題不一定會觸發這個鉤子。
  • 完成通知使用 Stop,每次 Claude 完成回覆時都會觸發,不只是在長任務結束時。當你中斷 Claude 時,它不會觸發。
  • 在你接受工作區信任對話框之前,Claude Code 不會執行該資料夾中的鉤子。如果使用公司的 Mac,你的組織可能只允許使用自己的鉤子。
  • 如果已開啟的工作階段沒有套用變更,請重新啟動該工作階段。

測試通知。

將這一行貼到 Terminal,然後按 Return。它會執行與鉤子相同的指令。

/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name "Glass"' -e 'end run' 'Claude Code finished' 'Claude Code' "${PWD##*/}"

允許 Script Editor 顯示通知。這些橫幅通知來自 macOS 的 Script Editor App,而且 macOS 不會先詢問權限。在你允許之前,通知不會出現,也不會有任何訊息說明原因。先執行一次測試指令,再開啟「系統設定」>「通知」,找到 Script Editor,並開啟「允許通知」。

合併到你目前的檔案。

在這裡貼上目前檔案的完整內容,本頁就會加入新項目。檔案中既有的鉤子項目會保持原樣,包括其他工具與 Cowork Island 的項目。如果你選了內建設定,新值會取代舊值,頁面也會指出變更的是哪一項。同一個選項合併兩次,也不會重複新增。你貼上的內容只會留在本頁。

合併功能需要 JavaScript。未啟用時,請依照上方說明手動加入項目。

如果你也使用 Cowork Island。

Cowork Island 是本工具開發者製作的 Mac App。它連接 Claude Code、Codex 或 Gemini CLI 時,會在相同的檔案中加入自己的項目,與你現有的鉤子並存。只要項目中的指令在任何位置包含 /.perch/(不分大小寫),App 就會將該項目視為自己的項目。它移除或重新加入的是整個項目,而非單一指令。

  • 這裡的每段設定都是獨立項目,且絕不指向 ~/.perch/ 內部,因此重新安裝或關閉 Cowork Island 都不會影響它。
  • 請勿將這裡的指令貼進 Cowork Island 的項目中,也不要把自己的指令稿放在 ~/.perch/,否則 App 會將它們視為自己的內容。
  • Cowork Island 的整合開啟時,請勿手動刪除它的項目;App 下次啟動時會重新加入。
  • 兩者會並行運作。Claude Code 與 Codex 會同時執行所有符合條件的鉤子,Gemini CLI 則會等待所有鉤子執行完畢。
  • 在 Claude Code 中,權限提示的通知使用 Notification 事件,絕不使用 PermissionRequest 鉤子,因此絕不會代你回應請求。
  • 在 Gemini CLI 中,本工具會產生 AfterAgent 與 Notification 鉤子,絕不產生 BeforeTool 鉤子。

本頁如何處理你輸入的內容。

所有處理都在你的瀏覽器中完成。產生器不會發出網路請求、不儲存任何內容,也不設定 Cookie;你選擇、輸入或貼上的內容都不會離開本頁。只有在你點按「複製」時,才會將內容寫入剪貼簿。ntfy 主題名稱由瀏覽器內建的亂數產生器產生。與本站其他頁面一樣,這次造訪本身會依照隱私權政策(英文)的說明計入統計。

免設定的方案。

Cowork Island 是本工具開發者製作的 Mac App。它會將你的 AI 代理工作階段集中在瀏海下方的面板中,顯示每個工作階段的狀態,讓你一眼看出哪個需要你處理。有沒有瀏海都能使用。

  • Claude Code 與 App 在你 Mac 上找到的工具會自動連線。Codex 會保持關閉,直到你在「設定」中開啟,並在 Codex 中允許 Cowork Island 的鉤子。
  • 每個工作階段都會顯示狀態,等待你回應時會顯示「需要你處理」。預設情況下,小島這時會自動展開;但如果該工作階段的終端機或 App 已在前景,就不會展開。
  • 工作階段完成時,小島預設會展開 5 秒。
  • 使用 Claude Code 時,你可以在小島中允許或拒絕某項操作,或回答選擇題。在小島中回答是免費的。使用其他工具時,你可能需要在該工具自己的 App 或終端機中回應。
  • 音效預設關閉,需要你自行開啟。「需要審核」音效可免費使用;「工作階段完成」提示音則包含在 Pro 中。App 本身不會顯示 macOS 橫幅通知。

免費版一次顯示一張工作階段卡片。Pro 會顯示所有工作階段;跳轉回工作階段的視窗、標籤頁或窗格,也是 Pro 的功能。7 天 Pro 試用會自動開始,每台 Mac 限一次,不需要付款資訊。請參閱方案與安裝指南。

免費下載

資料來源。

把下載連結寄給自己,之後再用。