前言¶
在 macOS 上做智能體與自動化開發時,任務往往分散在多處:DSH 的定時指令、用戶的 LaunchAgents、Codex version-1 定義,以及部分 Claude 相關目錄。要判斷「現在本機到底登記了哪些自動化、狀態大致如何」,通常需要分別打開系統目錄、查 launchd、或翻 DSH 調度界面,既不統一,也容易把「投遞」「運行中」誤解成「業務已完成」。
dsh-local-task-observer 是社區維護者 MatteoCui001 發佈的 DSH 客戶端插件(MIT,alpha),在官方 DeepSeek Harness 桌面應用裏增加 設置 → 本機任務總覽(只讀) 入口,把上述來源的元數據聚合成一頁只讀視圖,不執行任務、不調用模型、不訪問外網。
這是什麼¶
插件全名 dsh-local-task-observer,獨立於官方 DSH 組件,也不是任務運行器或安全審計產品。當前發行版本爲 0.1.0-alpha.1,僅通過 GitHub 分發;package 標記 private: true 僅爲避免誤發 npm,不影響 MIT 與源碼再分發。
兼容性(資料原文要求,勿繞過版本門):
- DSH:0.2.2-rc.1(僅此版本,不宣稱兼容其它 DSH)
- Node.js:24+
- 平臺:僅 macOS
Plain ESM,零依賴,無 install/build 腳本。
核心功能¶
只讀聚合¶
下面介紹插件實際會讀什麼、明確不做什麼。
- DSH 定時指令:通過當前 Host 的
schedule.list({ limit: 150, offset: 0 })讀取一頁有界結果;讀操作不會激活 Sessions。 - macOS LaunchAgents:在當前用戶 LaunchAgents 範圍內採集有界元數據。
- Codex:僅支持 version-1 自動化定義的保守 TOML 子集,非完整 TOML 解析器。
- Claude 候選目錄:僅識別資料中明確列出的候選路徑;普通 Claude 任務不按調度任務處理,schema 尚未獨立覈驗,相關項多爲
partial/ 運行狀態unknown。
不會創建、編輯、啓動、暫停或投遞任務;不會執行定義中的程序、命令參數或 shell;不會使用 agent 工具、提示注入、模型調用、遙測、SSH、外部網絡或後臺輪詢;不會寫入任務文件或持久化快照。瀏覽器側請求僅發往已鑑權的本地應用。
解析手段固定爲 plutil 與 launchctl print,不跑定義裏的可執行體。
狀態字段怎麼理解¶
頁面上看到的 loaded、active、paused、ended、running 等是觀測描述,不是「輸出有效」或「業務完成」的證明。DSH inbox 的「最後投遞」字段是收件回執,不是最後一次成功運行。插件不從日誌、mtime 或 JSON 日期推斷執行成功,本地來源也不算「下次運行時間」。
| 狀態或字段 | 含義 |
|---|---|
ok |
在掃描邊界內讀到了受支持的元數據;不表示工作一定成功 |
empty |
枚舉了受支持來源但未發現定義;缺源或截斷不會標 empty |
partial |
覆蓋或元數據不完整、未驗證、截斷或部分失敗 |
unavailable |
無法讀取、缺失或掃描超時;不表示零任務 |
unsupported |
平臺或格式不支持,不做猜測 |
unknown / null |
無受支持觀測;未知退出碼不是 0 或成功 |
未知不等於零,投遞不等於執行,更不等於完成。
隱私與請求邊界¶
唯一數據接口爲本機 owner 鑑權下的 GET /api-ext/dsh-local-task-observer/v1/snapshot。非 owner、跨站、非 GET 或帶 query 的請求會被拒絕,不面向遠程共享或反代濫用。
不枚舉原始 session、鑑權文件或業務數據目錄;有界定義文件與子進程輸出在內存中解析,提示詞、命令參數、環境變量、路徑、原始錯誤等非白名單字段不返回、不持久化。標題以 React 文本展示,不是 HTML 脫敏系統,任務名仍可能敏感。
打開頁面或點刷新會觸發一次讀取;併發 HTTP 共享同一次掃描。內存緩存 5 秒 複用 TTL(舊快照可能仍在內存直至替換)。全掃描響應截止時間 8 秒;本地採集單操作/子進程約 1.5 秒 有界,順序遍歷,文件與行數上限分別爲 100 與 150。取消瀏覽器請求不會取消共享掃描;Host 的 schedule.list 無取消參數。
插件複用官方 settings 插槽、Host 主題、locale 與 Host React 運行時,無需獨立服務或 bundled React。
安裝與啓用¶
發佈 tag 可用後,在 DSH 插件管理器中使用資料給出的 GitHub tag 規格(勿手寫其它 install 形式):
{
"action": "install_bundle",
"target": "github:MatteoCui001/dsh-local-task-observer#v0.1.0-alpha.1"
}
這是安裝目標說明,不表示 tag 已存在或你本機一定安裝成功;以管理器返回結果爲準,若提示需重啓則按官方流程操作。禁用或移除亦通過同一管理器完成,不要手改 active profile、另起服務或申請版本豁免。
安裝後入口爲 設置 → 本機任務總覽(只讀)(英文界面爲 Settings → Local task observer)。命名空間爲獨立的 dsh-local-task-observer,不替換既有任務中心插件。
典型用法¶
經過上面的步驟完成安裝並重啓(若需要)後:
- 打開 DSH 桌面應用,進入 設置。
- 打開 本機任務總覽(只讀) 頁面。
- 頁面加載或點擊 Refresh 時觸發只讀掃描,在表格中對照各來源的任務元數據與狀態字段。
- 看到
partial、unavailable、unsupported時,按 README 語義理解爲覆蓋缺失或格式不支持,不要當成「沒有任務」。
倉庫維護者自檢(需 Node.js 24+,在倉庫根目錄執行,僅供覈對語法與合成測試):
node --check index.js
node --check client.js
node --test test/*.test.mjs
資料註明:新公共命名空間尚未在真實環境完成 live 安裝驗收;合成測試不能替代完整 UI、瀏覽器鑑權與長期 native 資源穩定性驗證。
適用場景與注意¶
適合誰:
- 已在 DSH 0.2.2-rc.1 + macOS + Node 24+ 環境使用官方桌面 Harness 的開發者,需要在一屏內對照 DSH 調度與本機 LaunchAgents / Codex / Claude 候選目錄的只讀元數據。
- 希望明確邊界、不接受插件代爲「啓停任務」或調用模型的團隊。
務必注意:
- 插件以當前 DSH 進程權限運行;安裝前請自行閱讀 GitHub 源碼 與 MIT 許可證,alpha 階段不代表完整安全審計。
- 僅 macOS;其它 DSH 版本不要強行安裝。
- Claude 與 Codex 支持範圍刻意保守,界面上的
unknown應保留爲未知,不要自行腦補執行結果。
DeepSeek Harness 生態遵循「一切皆插件」;社區目錄站 SkillHub 插件頁 爲獨立收錄,與 DeepSeek / 幻方無官方從屬關係,本文亦不代表官方背書。
結尾¶
dsh-local-task-observer 把分散的本機自動化元數據收成一頁只讀總覽,並反覆強調觀測與執行、完成之間的界限。若你的環境符合版本與平臺約束,可通過插件管理器按 tag 安裝後在設置中打開使用。