前言¶
在 DSH 裏跑智能體時,常見做法是交給 Shell 或腳本去改文件、調命令。真正要「看屏幕、點窗口、填表單」時,純文本通道往往不夠用:要麼只能描述座標,要麼把鍵鼠交給模型直接模擬,風險和可驗證性都成問題。
dsh-computer-use 是社區維護的 DSH 插件,把桌面與瀏覽器操作收成一整套工具,並固定爲「觀察 → 計劃 → 執行 → 驗證 → 留痕」的流程。不可逆動作走 Windows 原生模態確認;默認儘量不搶你的鼠標和鍵盤。下文按安裝、能力、安全與配置說明用法。
這是什麼¶
插件全名 dsh-computer-use(npm 包名同),倉庫 mount9527/dsh-computer-use,作者李峯(GitHub:mount9527)。當前發佈版本 0.4.1,許可證 MIT,僅支持 Windows(package.json 中 os: ["win32"])。
定位不是「一鍵代點鼠標」,而是把結構化讀屏(UI Automation、OCR)、受控鍵鼠注入、文件批量與審計撤銷,以及 CDP 瀏覽器通道,掛到 DSH 的 ctx.tools 與系統提示詞槽位 TOOL_COMPUTER_USE 上。其它 harness(如 WorkBuddy)不能直接裝;需改造成 MCP 等形態才談得上移植,README 已寫明。
核心功能¶
工具一覽¶
README 列出 17 個工具,按風險分級(L0–L3)。常用分組如下。
| 類別 | 代表工具 | 作用摘要 |
|---|---|---|
| 環境與讀屏 | computer_status、computer_screenshot、computer_windows |
系統/屏幕/前臺窗口自檢;截圖 + Windows OCR 出帶座標文字 |
| UI 與等待 | computer_ui、computer_wait |
讀可訪問性樹,按 role/name 操作元素;輪詢等待窗口/控件/文件 |
| 鍵鼠與應用 | computer_input、computer_app |
注入鍵鼠(L1/L2);啓動/切前臺/關窗/結束進程(含 L3) |
| 文件與審計 | computer_files、computer_audit |
list/mkdir/copy/move/rename/delete/undo;讀審計與可撤銷批次 |
| 治理 | computer_pause、computer_tools |
總閘凍結改動類動作;lite/lazy 預設下按需加載工具組 |
| 瀏覽器(CDP) | browser_status、browser_open、browser_read、browser_act、browser_wait、browser_close |
獨立瀏覽器內 DOM 操作,不碰系統鼠標鍵盤 |
裝好後可直接用自然語言驅動,README「30 秒上手」表示不必背工具名,例如:查本機狀態、按月份歸檔下載夾發票、用 UI 自動化點「確定」、在瀏覽器裏填表但不提交、按 runId 查審計並撤銷。
工具集預設¶
上下文成本高時,可在 state.json 的 toolMode 或頁面右下角設置裏切換:
full(默認):17 個工具全註冊lite:核心 + 桌面 + 文件,不含瀏覽器/審計/真鍵鼠lazy:僅computer_status、computer_pause、computer_tools,需要時再computer_tools action=enable group=...當場加載
改 toolMode 需重載插件;只啓用某個分組不必重載。
界面與急停¶
Web 會話刷新後,頁面右下角有「停止」與「設置」浮鈕(依賴 webServer.tapIndex;缺失時隻影響浮鈕,工具仍可用)。設置頁可調總開關、急停時長、確認與批量閾值、文件作用域、應用白名單、瀏覽器路徑、審計/截圖/隔離區保留期等;安全硬紅線不能被設置頁關掉。
按 Esc 或點「停止」,當前任務中斷,默認 60 秒內改動類動作被拒(stopHoldMs 可配)。
安全模型¶
四級風險在 README 中有明確定義:
L0 只讀 → 直接執行
L1 可逆 → 直接執行
L2 有副作用 → 先說明再執行並報告
L3 不可逆 → 原生模態確認,用戶點「執行」才繼續;30 秒無操作視爲拒絕
L3 確認由 scripts/desk.ps1 的 confirm 動作彈出 WinForms 模態窗:完整路徑/清單、默認焦點在「取消」、一次性 SHA256 憑證防「所見非所執行」、無交互桌面則 fail closed。
代碼層硬紅線包括:系統目錄路徑拒絕、危險組合鍵拒絕、密碼框鍵入拒絕、未觀察過的座標點擊拒絕、受保護進程禁止結束、刪除默認移入隔離區可 undo(permanent:true 纔不可撤銷)等。插件還向模型注入 Operator 行爲契約(四級風險、執行循環、反模式禁令等)。
桌面動作通過宿主進程派生 PowerShell 子進程 執行:DSH 自帶的 pwsh/bash 工具處於低完整性沙箱,無法可靠 SetCursorPos 或跨進程 UIA;這是架構上的刻意選擇。
安裝與啓用¶
環境要求:Windows 10/11、系統自帶 Windows PowerShell 5.1、.NET Framework 4.x;OCR 依賴系統語言包(中文環境通常已有 zh-Hans-CN)。Node >= 20(見 package.json)。
從 npm(推薦):
dsh plugin --profile web add @li666/dsh-computer-use
從 GitHub 倉庫:
dsh plugin --profile web add github:mount9527/dsh-computer-use
桌面版 DSH 將 --profile web 換成 --profile desktop。
安裝後須 完全退出 DSH 再啓動(僅關窗口、托盤仍運行則不會加載新插件),瀏覽器會話 F5 刷新。建議讓智能體調用一次 computer_status,確認輸出中含:能力:UI 自動化=可用 OCR=可用 原生彈窗=可用 鼠標鍵盤注入=可用(以你本機實際自檢爲準)。
開發時改 index.js / lib/*.mjs 可用 plugin_manager set_plugin 開關插件做熱重載;只改 scripts/desk.ps1 每次調用會重讀腳本,無需重載。
配置要點¶
運行期配置寫在 %DSH_HOME%\computer-use\state.json(插件未聲明 schemastery Config,因本地符號鏈接安裝時解析不到 asar 內包)。README 節選字段含義如下:
paused:總閘,true時只讀工具仍可用nonIntrusive:默認 true,不移動物理指針、不搶焦點toolMode:full/lite/lazystopHoldMs:急停保持時長(默認 60000)confirmTimeoutMs:確認窗超時(默認 30000,超時=拒絕)allowedApps、protectedProcesses、allowRoots、browser等
設置頁保存即時生效;改 toolMode 仍需按上文重載插件。
典型用法與注意¶
適合誰:在 DSH Desktop 或帶 tools + webServer 的 web/CLI profile 上,需要智能體可讀屏、管文件、控窗口或在隔離瀏覽器裏填表的 Windows 用戶。
使用前請自知:
- 插件以 當前 DSH 進程權限 運行,安裝前宜閱讀倉庫源碼與 MIT 許可證。
- 星標、目錄簡介等以 SkillHub 目錄頁 與 GitHub 爲準;社區目錄爲獨立站點,不等同於 DeepSeek 官方應用商店。
- 拿不準時先做只讀操作(
computer_status、列窗口、讀 UI 樹),無副作用。 - L3 刪除、關窗、殺進程、表單提交等,必須你在彈窗點「執行」;不信任時可保持
computer_pause或nonIntrusive。
結尾¶
dsh-computer-use 把 Windows 桌面自動化收進 DSH 插件形態:結構化觀察優先於盲點座標,驗證與審計優先於假設成功,高危動作交給原生確認而不是模型自覺。若你在 Harness 生態裏做「能做事、能留痕、能急停」的本機智能體,可從官方 README 的安裝命令起步,再用 computer_status 做一次能力自檢。