有一件事我最近越來越受不了,
就是長時間Vibe coding的時候電腦是盒蓋還是不合蓋,
不合蓋吧,純啞鈴來的,一只手捏著3斤的電腦,過于吸引周圍人的視角了,合蓋吧也有招,用Amphetamine能精確控制Codex或者Claude在運行的時候合蓋不休眠,我把這個方法安利給了周圍很多人,但他們還是擔心合蓋之后總有點忐忑之感,不知道程序是不是還在跑。
為了消除這種未知感帶來的焦慮,我vibe coding出了一個macOS菜單欄應用,
Bugu,中文名叫布谷。
如果說這個App有什么功能是我最重視的,那一定是音效。尤其是我習慣性給Codex和Claude用Goal布置那種一跑跑幾個小時甚至跑一天的任務,中間我又要帶著電腦出門幾個小時的時候,我就很希望不打開電腦也能直接確認任務的狀態。
所以這就是bugu的主界面了,長度的原因分開截圖了,實際上就是在一個界面。
![]()
![]()
github. com/LearnPrompt/bugu
用法很簡單,開啟「Keep Mac awake」,就是防止agent工作時電腦休眠。開啟「Watch coding agents」,就是開始監聽Agent們的對話,右邊圖就是最近對話,還戴上了運行時間和輸入的提示語,當然是可以點擊跳轉到具體對話框的。接著就是選一個心跳間隔,我的建議是5分鐘,選個音效包(System是蘋果自帶音,Bugu Pack是游戲音),最后合上Mac。去做別的事。
就這么簡單,來看看我的超好看logo
![]()
Bugu會像布谷鳥一樣,只要任務還在正常運行,它就可以每隔五分鐘十分鐘叫一聲,那我們在合上Mac的時候也能通過聲音知道Agent的五個狀態。
Accept是接收任務,也就是說,如果我用手機發一個新的任務到Mac,我可以通過音效來確認有沒有收到。Running就是固定時間間隔發出的任務正常運行提示聲。剩下三個就是任務成功(Done),任務被意外中斷(Interrupted)以及任務需要授權(Permission)了。
大家可以猜一猜,需要手動授權的時候用的音效是哪一個?猜對了的有獎。
當然,Bugu還有兩個我搓了挺久的功能,
保持整臺Mac處于喚醒狀態,盒蓋也不會休眠。
我沒有做得像Amphetamine 那么復雜,是因為我覺得與其去設置觸發器,低于什么電量自動關閉會話等一大堆,我更想把它做成一個簡單的開關,點開就是喚醒,再點一下就是關閉。
還有就是在Bugu里會顯示每個對話是在多少時間之前運行的,以及輸入的簡要內容。通過這個功能,我們可以看到正在運行的對話(運行中的對話會變成綠色),還可以點擊這個對話,直接跳到正在跑的任務窗口。
![]()
本來想這樣1個App,按照我過去的經驗,用Codex開Goal,一晚上就能搓個七七八八。但最近OpenAI像是在24小時偷我的額度一樣。我一個Pro,28號就把下個月6號之前的額度全部用完了,比便宜十倍的Claude Pro還不耐用。
積分損耗太快,我只能把它從1.5倍速、2.5倍積分的高速度模式切回慢速,再給Codex找了一個六倍速的coding搭子,Kimi Code來從零搭建原型。
前段時間,Kimi剛發了Kimi K2.7 Code Highspeed,性能不變的基礎上速度提升6倍。中等長度編碼任務180 token/s,短上下文任務260 token/s。這次我用多Agent做產品調研時候的速度,是完全沒有加速的。
![]()
關鍵是,Kimi Code跟Claude Code,Codex一樣有goal模式和多agent能力,還能把Claude Code和Codex的skill和MCP都導入進來,不用我從零開始教它怎么跟我協作。
![]()
我給Kimi Code的第一個任務就是先接手Codex開發了一半的Bugu,再做了一輪信息收集,瀏覽器自動化搜索Mac防睡眠工具、Apple系統音、App Store上架要求,把搜索結果拿回本地整理成建議,再決定下一步怎么改。
這也是我最近非常喜歡用的信息搜索技巧,
我會在整個提示語的最后加一句,用瀏覽器自動化去我的 X上用Gork補充搜索。大家都知道X上帖子的時效性非常強,但API又特別貴,之前我都是手動去做,現在都成了我測Agent的標準case了。
![]()
簡單來說,這次信息搜索我得到的結論就是,我們最好在GitHub上發布Bugu。
因為如果要把它上傳到App Store的話對話跳轉的功能會要被刪掉了,Bugu要知道你Mac上有沒有agent在跑,靠的是掃描正在運行的進程。但App Store需要遵守一個叫沙箱的機制,用人話說就是商店里的app不應該知道你電腦上還跑著什么別的東西。
OK,邊界有了,下面就是來個頭腦風暴來補充App的細節了。
我常用的產品調研提示語現在已經是這這樣子的,
用superpower的頭腦風暴,office hour,魯班skill和last 30 day來看看這個app目前有啥值得優化的點,我覺得我們的優勢可能就在于多音效,以及可以自定義。因為在合蓋場景下,聲音就是我們唯一的界面。
這個四個skill其實是有能力重疊的,不過我真的習慣飽和式做信息搜索了。
真的,每一頁的信息量都超級多,所以我甚至都有點難選擇,最后還是選擇放了幾張長圖給大家看
![]()
![]()
![]()
![]()
這里額外說一下goal這個功能我是怎么用的,
我們不需要在開頭的第一句就給它一個你可能打磨了十幾分鐘的提示語,預計讓它會開發一兩天的指令,這大概率跑十幾分鐘就結束了,還不如直接對話。
我用goal就是在長期對話過程中,明確了開發方向,積累了足夠上下文之后,從對話里輸出的一個長時間任務。
比方說,在做UI設計的時候,我就把自己用下來覺得印象很深刻的幾個UI界面發給Kimi Code,讓它去設計Bugu的整體頁面,這里有些界面挺復雜的,但它能根據我們前面的調研結果判斷,我想要Bugu整體來說是比較克制的。畢竟在開關那里我們就已經做了取舍,不想要復雜的觸發器,只想要一個按鈕開關。
所以我們的對話挑戰和音效的切換,也是持續「能在一個界面,就都在一個界面」的想法。
![]()
上面這些都不是開發時間最久的。
真正占了Kimi Code開發大頭的部分,是怎么去識別Agent的進程,讓它能夠精準地跳到對話的界面。
這個功能做起來一堆坑。簡單來說,Mac上同時開著好幾個終端或者codex app,claude app,每個界面里跑著不同的任務。Bugu要做的事情是,知道在哪個窗口里,然后切過去。
我本來想用macOS的腳本去查「終端現在開著嗎」,結果macOS的邏輯是,你一問它就直接給你拉了個新窗口出來。
這種情況也適合用Goal,
讓Kimi Code去讀macOS的文檔,去試不同終端的行為差異,去一個一個排查哪種方案在哪種情況下能用,加上有六倍速,這種試一個方案不行、換一個再試的循環跑得飛快。所以最終的方案是Bugu會在對應的Agent里加一個鉤子hook,這樣對話激活的時候就能第一時間收到輸入,運行時間和狀態了。
最后想說說為什么會有做Bugu這個念頭。
之前用的是Amphetamine,我設了非常多的觸發器,直到一次我把Claude Code打開后沒關,也沒調音量,結果有人打我電話的時候,鈴聲自動接到了電腦揚聲器上。
我當時正在電梯里,
那是我今年最漫長的10秒鐘,也是打開電腦最快的10秒。
在那之后我就想,我需要一個專門為Agent設計的提醒工具。
它一定不是一個通用的防休眠軟件,也不是系統通知,這些都有了,
要就要做一個能讓我不打開蓋子也能知道Agent狀態的App,聲音可以單獨調,行為可預期,不會在電梯里社死。
所以就有了Bugu。
這次用Kimi Code接手Codex開發的一半的項目也是讓我想清楚了一件事,
雞蛋還真不能放在一個籃子里,
Fable 5現在都需要我們有美國護照才能用了,別提還有我們看得見摸不著的GPT-5.6了,
既然有些過程可以被國產模型和國產Agent框架代替,那為什么不呢?
Kimi Code可能不是我的主力開發agent。
但在目前Claude Code只能省著點用,甚至不敢把額度打滿,Codex額度究極不耐用的情況下,
它是一個非常好的補充位,
能導入各種skill,能跑goal,還有六倍速。
這次Bugu的開發過程已經證明了,
拿它來推進一個真實的小項目,完全夠用。
之前開源了那么多skill,
我發現其實還是可以有一些小應用,
來提升日常幸福度的,
不用大而全,
像Bugu一樣小而美就挺好。
@ 作者 / 卡爾
最后,感謝你看到這里如果喜歡這篇文章,不妨順手給我們點贊|在看|轉發|評論
如果想要第一時間收到推送,不妨給我個星標
如果你有更有趣的玩法,歡迎在評論區聊聊
更多的內容正在不斷填坑中……
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.