昨天看完如何建立自己的 Hooks 之後,今天要來分享一個不厲害但很有趣的 Hooks 功能。
你在和 Claude Code pair 的時候有沒有遇過這個狀況呢?
你開啟了 auto accept 的模式,很愜意地去泡了杯茶,結果回來發現 Claude Code 還靜靜的停在一開始要 search web 的許可請求視窗。
也許你這次加入了 search web,但難保下次沒有其他東西需要權限,這時候 Hooks 就會是你的好夥伴了。
根據官網的描述,Claude Code 會在以下兩種情況的時候發送通知,也就是觸發 Hooks 的 Notifications hook event:
Claude needs your permission to use Bash
Claude is waiting for your input
第一種情況就是讓我常常很困擾的情境,有時候多開 Claude Code 做不同的事情,結果卻因為做得太認真忘記回頭檢視一下第一個 Claude Code 的狀態,導致他們沒有因為並行而處理的比較快。
如果你是使用 Mac 的話,想必對 Raycast 不陌生。他是一個可以快速在任何地方打開的視窗,不管是要開 App、查檔案、算數學、查剪貼簿歷史,都可以透過這個視窗完成。同時他的社群也很活躍,有許多好用的套件可以搭配。
今天要實作的功能就是透過 Raycast 的 Random Fart 這個套件來進行的。首先我們要先去官網的 store 找到這個套件,或是透過 raycast 直接安裝:
在搜尋的欄位中輸入 Random Fart 後按下 Installed 就好了。
根據 Raycast 的手冊,有一篇關於 deeplinks 的教學。如果你和我一樣是寫網頁的,可能對這個詞有點陌生,簡單來說,deeplinks 是一種可以讓使用者透過連結,直接開啟某個應用程式特定頁面的方法。
在教學中有提到,一般來說,Raycast deeplinks 會像下面這樣:
raycast://extensions/<author-or-owner>/<extension-name>/<command-name>
但要自己寫太麻煩了。我們其實只要打開 Raycast 輸入我們要找的 Random Fart,並透過 Raycast 視窗中右下角的 Actions,找到 Copy Deeplinks 就可以複製到這個打開 Raycast 套件的地址囉:
接著我們回到 Claude Code 的視窗中,透過 /hooks
開啟介面,並選擇 Notifications,然後在對話匡中輸入 open 'raycast://extensions/szy.fr/random-fart/index'
,你就會得到 Claude Code 在需要你授權的時候發出放屁的聲音提醒你囉:
Hooks 可以處理很多自動化的檢查,也能玩出很多不同的花樣。希望今天的文章可以幫助到你,我們明天見囉 👋