DeepSeek Harness (DSH) 採用插件化架構,旨在擴展智能體的能力邊界。在 macOS 環境下實現“計算機使用”能力,通常涉及複雜的權限申請、分辨率適配和進程通信。@wangyong1972/dsh-computer-use-macos 插件提供了原生實現方案,利用 macOS 系統內置工具(screencapture、sips、osascript)直接驅動真實屏幕,無需額外安裝依賴或網絡調用。
核心功能¶
該插件在 DSH 中註冊了 computer 工具,提供以下能力:
- 截圖與查看:截取真實屏幕並在對話流中內聯顯示。
- 鼠標控制:支持移動鼠標、左鍵點擊、右鍵點擊、雙擊,以及讀取當前光標位置(盡力而爲)。
- 輸入控制:支持文本輸入和快捷鍵組合(如
Return、cmd+c、ctrl+shift+t)。 - 滾動與等待:支持上下左右滾動,以及等待指定時長。
- 多顯示器支持:支持選擇特定的顯示器索引進行操作。
安裝與啓用¶
使用 DSH 官方插件命令安裝:
dsh plugin --profile <name> add @wangyong1972/dsh-computer-use-macos
安裝後,插件會自動註冊 computer 工具。默認配置下,該工具處於啓用狀態。
配置項¶
插件支持以下配置項(部分默認值如下):
enabled: 主開關,設爲false可完全禁用該工具。requireConfirmation: 是否對修改性動作(點擊/輸入等)進行審批攔截。allowedDisplayIndex: 默認顯示器索引(0-based)。screenshotFormat: 截圖格式,當前僅支持'png'。actionTimeoutMs: 子進程調用的超時時間(默認 10000ms)。maxTypeTextLength: 單次輸入文本的最大長度限制(默認 4096)。enableMachineLock: 啓用機器級鎖,防止同一 Mac 上的多個 DSH 進程併發操作。hideOtherAppsWhileActing: 操作時是否隱藏其他可見應用。excludeHostFromScreenshots: 截圖時是否排除主機進程(避免截圖顯示終端而非目標應用)。enableSessionNotifications: 是否發送 macOS 通知提示操作開始/結束。enableAppRiskWarnings: 當操作目標爲終端/IDE/系統設置時,是否在審批提示中增加警告文本。
前置要求與權限設置¶
- 系統要求:僅支持 macOS (
"os": ["darwin"])。 - DSH 主機:DSH 主機必須掛載
tools和attachments服務。 - 權限申請:
macOS 需要手動授予兩個權限,插件無法自動申請:- 輔助功能:用於鼠標移動、點擊、輸入等操作。在「系統設置 → 隱私與安全性 → 輔助功能」中開啓。
- 屏幕錄製:用於截圖。在「系統設置 → 隱私與安全性 → 屏幕錄製」中開啓。
- 注意:權限列表中通常顯示爲
osascript或當前啓動 DSH 的終端應用,需先嚐試一次computer操作(會報錯提示權限缺失),隨後再去系統設置中查找並勾選。
技術特點¶
- 零依賴:不安裝任何額外的系統二進制文件或編譯依賴。
- 零網絡:所有交互均在本地完成,無網絡調用。
- 自動縮放:截圖會自動按比例縮小(最長邊限制爲 1568px),以適配視覺模型的像素限制,無需手動調整系統分辨率。
注意事項¶
- 插件未實現全局
Esc中斷熱鍵。 - 截圖座標基於縮放後的圖片像素空間,而非屏幕原生像素空間。