
人工智能AI Agent代碼智能體Agent 編排CLIAI 應用【免費下載鏈接】gsd-2A powerful meta-prompting, context engineering and spec-driven development system that enables agents to work for long periods of time autonomously without losing track of the big picture項目地址https://gitcode.com/gh_mirrors/gs/gsd-2點擊查看免費下載GSDGet Shit Done是一款面向長時自主運行的 meta-prompting 與 spec-driven 開發(fā)系統(tǒng)其 Auto Mode 可以在無人盯守的情況下持續(xù)推進 Milestone、Slice 與 Task。本文圍繞 GSD 的桌面通知Notifications功能展開如何通過 YAML 配置啟用/關閉五類通知事件如何在 macOS 上正確安裝terminal-notifier以保障通知穩(wěn)定送達以及在通知不出現(xiàn)時如何系統(tǒng)化排查。讀完本文你將掌握 GSD 通知配置的完整參數(shù)語義、跨平臺發(fā)送原理macOS / Linux / Windows并理解通知在預算告警、上下文窗口暫停、里程碑完成等關鍵節(jié)點上的實際觸發(fā)路徑。通知機制概述Auto Mode 的遠程儀表盤GSD 的 Auto Mode 允許 Agent 長時間自主運行但用戶不可能一直盯著終端。桌面通知正是為此設計當 Agent 完成單元、遇到錯誤、觸及預算閾值、完成里程碑或需要人工介入時系統(tǒng)會彈出系統(tǒng)級通知讓你無需盯著屏幕也能掌握進度。從源碼結構看這一能力由 GSD 擴展的通知助手模塊 統(tǒng)一提供。其入口函數(shù)sendDesktopNotification的設計目標是非阻塞、非致命non-blocking, non-fatal即使通知發(fā)送失敗也絕不會影響 Auto Mode 主流程的執(zhí)行。它支持五種通知事件類型源碼中以NotificationKind聯(lián)合類型定義notifications.tsexport type NotifyLevel info | success | warning | error; export type NotificationKind complete | error | budget | milestone | attention;這五個kind與配置項一一對應構成了通知系統(tǒng)的開關矩陣。配置參數(shù)與完整示例在 GSD 的項目配置文件中通知通過notifications塊控制。原文檔給出的完整配置如下notifications: enabled: true on_complete: true # notify on unit completion on_error: true # notify on errors on_budget: true # notify on budget thresholds on_milestone: true # notify when milestone finishes on_attention: true # notify when manual attention needed各參數(shù)語義與源碼默認值types.ts 中NotificationPreferences接口定義匯總如下參數(shù)含義源碼默認值enabled總開關設為false時所有類別全部靜默trueon_complete每個單元Task/Slice完成時通知trueon_error運行出錯時通知trueon_budget觸發(fā)預算閾值時通知trueon_milestone里程碑Milestone完成時通知trueon_attention需要人工介入如被阻塞恢復、上下文窗口暫停時通知true值得注意的是各開關的生效邏輯并非簡單非黑即白。在 notifications.ts 的shouldSendDesktopNotification中判斷順序是若enabled false直接返回false所有類別一律不發(fā)送否則按kind分別讀取對應開關未顯式配置的類別默認視為開啟?? true。這意味著你可以只關閉個別不關心的類別例如在長跑預算類任務時僅保留錯誤通知notifications: enabled: true on_complete: false on_budget: false on_milestone: false配置的合并邏輯位于 preferences.tsnotifications采用淺合并shallow mergebase 與 override 逐字段覆蓋因此全局偏好與項目級偏好可以分層組合未覆蓋的字段自動繼承??缙脚_支持macOS / Linux / Windows雖然原文檔聚焦 macOS但 GSD 的通知實現(xiàn)是跨平臺的。從 notifications.ts 的buildDesktopNotificationCommand可以看到按process.platform分發(fā)的三條路徑平臺發(fā)送命令說明macOS (darwin)優(yōu)先terminal-notifier缺失時回退osascript聲音按級別區(qū)分error用Basso其余用GlassLinuxnotify-sendurgency 按級別映射error→criticalwarning→normal其余 →lowWindows (win32)無直接返回null桌面通知被跳過不報錯、不影響流程此外通知文本在發(fā)送前會經(jīng)過 規(guī)范化處理換行符被替換為空格保證系統(tǒng)通知單行顯示AppleScript 路徑還會對反斜杠與雙引號做轉義避免腳本注入或語法錯誤。測試用例也驗證了這一點Linux 下line 1\nline 2會被規(guī)范化為line 1 line 2且$PATH等字面字符被原樣保留notifications.test.ts。macOS 設置詳解為什么推薦 terminal-notifierGSD 在 macOS 上優(yōu)先使用terminal-notifier找不到時才回退到系統(tǒng)自帶的osascript。推薦做法安裝 terminal-notifierbrew install terminal-notifier為什么這是原文檔與源碼注釋共同強調的關鍵點osascript的通知歸屬于調用它的終端應用Ghostty、iTerm2、Terminal.app 等。如果該終端應用本身沒有在系統(tǒng)設置 → 通知中獲取通知權限osascript的通知會被系統(tǒng)靜默吞掉——而且進程仍以退出碼 0 結束不會有任何報錯排查起來非常隱蔽。源碼注釋明確記載了這一場景notifications.ts。而terminal-notifier會以獨立的 App 身份注冊到通知中心首次使用時系統(tǒng)會彈出權限請求授予后即可穩(wěn)定送達不依賴終端應用的權限狀態(tài)。安裝后的自測命令原文檔提供terminal-notifier -title GSD -message working! -sound Glass執(zhí)行后若能在屏幕右上角看到通知并聽到提示音說明鏈路正常。通知不出現(xiàn)三步排查法原文檔給出了系統(tǒng)的排查順序檢查系統(tǒng)設置打開系統(tǒng)設置 → 通知確認你的終端應用或已安裝的terminal-notifier在列表中且允許通知安裝 terminal-notifier如上所述這是最可靠的一步可繞開終端應用的權限黑洞命令行自測運行terminal-notifier -title GSD -message working! -sound Glass確認工具本身可用。若終端應用未出現(xiàn)在通知列表中可能是它尚未發(fā)送過任何通知、未完成注冊——讓它先主動發(fā)送一次通知即可觸發(fā)注冊。更完整的疑難排查可參考 Troubleshooting其中亦指引回看本文的 Notifications 配置說明。源碼縱深通知發(fā)送鏈路與觸發(fā)節(jié)點sendDesktopNotification的完整鏈路notifications.ts遠比彈一個系統(tǒng)通知復雜按優(yōu)先級依次為標題項目化當調用方傳入projectName且默認標題為GSD時標題會被改寫為GSD — 項目名formatNotificationTitle在多項目并行工作區(qū)中一眼區(qū)分通知來自哪個項目遠程通知sendRemoteNotification獨立觸發(fā)且不受桌面通知偏好的約束——它處理未配置場景時優(yōu)雅返回也就是說遠程推送與桌面通知是兩條并行通道notifications.tscmux 通道若啟用了 cmux 集成cmux.notifications優(yōu)先經(jīng)CmuxClient.notify投遞投遞失敗則回退到 OSC 777 終端通知notifications.ts桌面通知僅當 cmux 未投遞成功時才構造系統(tǒng)命令terminal-notifier / osascript / notify-send執(zhí)行帶 3 秒超時任何異常都靜默吞掉notifications.ts。在 Auto Mode 的調用端各kind的典型觸發(fā)節(jié)點清晰可查milestone里程碑完成在里程碑推進邏輯中Milestone id complete!以success級別、milestone類型發(fā)送auto/phases.tsbudget預算閾值預算閾值采用數(shù)據(jù)驅動定義auto/types.ts四檔閾值依次為100%error / 強制處理、90%warning、80%warning、75%info。其中 100% 閾值根據(jù)enforcement策略halt / pause / warn分別觸發(fā)停止 Auto Mode暫停待用戶/gsd auto繼續(xù)僅警告繼續(xù)運行三種行為且都會伴隨桌面通知auto/phases.tsattention人工介入包括被阻塞后的恢復提示blocked resumewarning級別以及上下文窗口達到context_pause_threshold而自動暫停的場景——Context percent% — pausedauto/phases.tscomplete單元完成例如執(zhí)行/gsd undo撤銷單元后發(fā)送Undone: unitType (unitId)undo.ts。測試保障偏好開關與命令構造均被覆蓋通知模塊有專門的單元測試 notifications.test.ts驗證了以下關鍵行為細粒度開關enabled: true時on_complete: false關閉完成通知、on_error: true保留錯誤通知各 kind 互不干擾L11-L26總開關enabled: false時即使個別類別為true也全部靜默L28-L33macOS 回退無terminal-notifier時回退osascript并對Bobs Milestone、C:\temp等特殊字符做正確轉義L35-L61聲音分級非 error 級別使用GlassL63-L71平臺邊界win32返回null不做無謂報錯L88-L90項目標題formatNotificationTitle對空值、空白、真實項目名的處理以及 macOS / Linux 命令中均攜帶GSD — 項目名標題L94-L134。小結與最佳實踐GSD 的桌面通知是 Auto Mode 無人值守體驗的關鍵一環(huán)配置輕量、實現(xiàn)穩(wěn)健。實踐建議macOS 用戶務必安裝terminal-notifier這是規(guī)避終端應用通知權限問題的根本手段按工作負載裁剪通知類別預算敏感的里程碑跑批可只保留on_error與on_attention減少打擾首次接入時用terminal-notifier -title GSD -message working! -sound Glass自測再進入真實任務若通知仍不出現(xiàn)按系統(tǒng)設置 → 安裝工具 → 命令行自測的順序排查并留意通知中心對終端應用的注冊狀態(tài)。整體來看通知系統(tǒng)將Agent 自主推進與人類保持感知無縫銜接——你只管離開終端GSD 會在需要你的時候叫醒你。贊分享人工智能AI Agent代碼智能體Agent 編排CLIAI 應用【免費下載鏈接】gsd-2A powerful meta-prompting, context engineering and spec-driven development system that enables agents to work for long periods of time autonomously without losing track of the big picture項目地址https://gitcode.com/gh_mirrors/gs/gsd-2點擊查看免費下載相關推薦Deep-Live-Cam 實時換臉部署教程沒有顯卡一張照片也能快速跑通Deep Live Cam 實時換臉部署教程沒有顯卡一張照片也能快速跑通 Deep Live Cam 是開源實時換臉工具一張正臉照片就能把視頻或攝像頭畫人工智能AI Agent代碼智能體Agent 編排CLIAI 應用UnattendGeneratorWindows無人值守安裝配置終極指南UnattendGeneratorWindows無人值守安裝配置終極指南 在現(xiàn)代IT運維中自動化部署是提高效率、減少人工干預的重要手段。UnattendGeCodeBurn Windows 桌面開發(fā) VM基于 cloud-init 的 Ubuntu 24.04 無人值守安裝與一鍵配置指南CodeBurn Windows 桌面開發(fā) VM基于 cloud init 的 Ubuntu 24.04 無人值守安裝與一鍵配置指南 本指南講解 CodeBu上一篇Qwen3-Coder-30B-A3B-Instruct終極代碼生成AI模型完全指南下一篇探索Kubicorn打造和管理Kubernetes基礎設施的新紀元創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考