朋友給我展示了一個macOS獨占的菜單欄小工具,能列出本地開發端口。我是那幾十個把Linux(具體是Fedora KDE)當主力系統的人之一。我用OpenCode把它fork成了一個能用的KDE Plasma插件,叫Portmanteau。
我一直遇到同一個問題:看到某個很酷的AI或開發者工具想試試,結果它們全是macOS獨占。幾年前這種情況通常意味著算了,換下一個。現在我傾向于想:"我應該能fork那個。"
![]()
這次這個工具是Port Menu,一個簡單的macOS菜單欄應用,用來查看本地開發服務器。如果你白天要跑一堆Vite、Rails、Django、Flask、Next.js之類的服務器,核心需求很明顯:給我看端口,告訴我是哪個項目的,讓我能打開或殺掉它們,不用在終端標簽頁里翻來找去。
但又是macOS獨占,所以我做了任何一個有進取心的vibe coder都會做的事。我開了個OpenCode會話,問了個風險很低的問題:
"這看起來是macOS獨占的。移植到Linux有多可行?"
第一個回答很樂觀,就像AI和agent常有的那種樂觀。端口掃描的想法很可移植。Linux有ss、lsof、/proc//cwd、git、kill,所有原材料都有了。
但應用本身不會是個正常的移植。原版是SwiftUI/AppKit菜單欄應用。KDE版本得是個Plasma插件。這意味著QML、Plasma打包、面板展示、彈出窗口,還有一套不同的桌面集成邊界。
折騰了一番、追加提問之后,回答變得沒那么光鮮但更有用了。這其實不是移植,而是同一個想法的KDE重新實現:
這就成了項目的形態:一個Linux掃描器加一個Plasma 6插件。
接下來我要了個計劃。然后用ticket tk記錄下來。我真的很喜歡ticket,推薦你跟agent一起工作時用。
"你能規劃一下創建這個需要的步驟/工單嗎?我們用tk(ticket)來創建epics/tasks之類的。"
我的agent提了五個epics:
agent在這五個epics下創建了38個工單,加了依賴關系,tk直接給了我們一個實現順序。這時候項目就從"探索性聊天"變成了"工作隊列"。
然后我提了個不負責任的請求:
"你能開始實現這個嗎?理想情況下別停,直到所有工單都完成 :)"
agent把Linux版本建成了一個單獨的linux/目錄,這樣原版macOS應用完全沒動。這感覺是對的形態:保留想法,別假裝SwiftUI應用會跟我們一起走。
核心部件是一個Python掃描器、一個JSON契約、一個Plasma插件。掃描器搞清楚本地在監聽什么,插件把它變成我真正能用的面板彈出窗口。
它還加了第一組操作:打開、復制URL、復制端口、殺掉。有些留下來了。復制端口沒有。
agent自己也關掉了所有工單。我不覺得"所有工單關閉"是
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.