前言¶
在 DeepSeek Harness(DSH)裏做桌面自動化,常見做法是調用系統 API 或依賴截圖 + 座標點擊。前者對模型不友好,後者容易點偏、也難以表達「先看再動」的流程。dsh-computer-use 是社區維護的工作流插件,給 harness-desktop 補上「虛擬鼠標真人操作」:模型先觀察屏幕,再通過獨立光標滑行、點擊、輸入,過程可見,跨 macOS / Windows / Linux。
下面介紹插件定位、11 個工具、安裝步驟與使用注意。
這是什麼¶
- 名稱:dsh-computer-use(GitHub:
988hj7tczd-oss/dsh-computer-use) - 維護者:988hj7tczd-oss
- 分類:工作流(SkillHub 目錄頁標註「可安裝 · 工作流」,當前版本 v0.1.0)
- 許可證:MIT
- 引擎:基於 cua-driver(MIT,MCP 標準接口)
插件向 DSH 註冊 11 個模型友好工具。核心設計是:用無障礙(AX)樹「看」屏幕、定位元素座標(零視覺 token 成本);所有操作走像素級虛擬光標,帶滑行動畫與真實點擊,模擬真人操作。
核心功能¶
觀察與操作工具¶
| 工具 | 功能 |
|---|---|
screen_observe |
看屏幕:AX 編號樹 + 座標;AX 樹爲空時自動降級視覺 |
computer_click / computer_double_click / computer_right_click |
獨立光標滑行到目標 + 像素級點擊 |
computer_type |
文本輸入(密碼框自動拒絕) |
computer_key |
按鍵 / 快捷鍵(如 return、cmd+c;聊天窗口回車發送) |
computer_scroll |
滾動 |
computer_drag |
拖拽 |
computer_wait |
等待 |
app_list / app_launch |
列出 / 啓動應用 |
安全設計¶
- 虛擬光標隔離:操作走 cua-driver 獨立 Agent 光標,不搶佔真實鼠標。
- 觀察快照 TTL:快照約 15 秒過期,過期後動作被拒絕,須重新
screen_observe。 - 區域限制:可選
allowedApps白名單,名單外應用操作一律拒絕。 - 危險操作審批:目標標籤命中「刪除 / 支付 / 轉賬 / 退出登錄」等危險詞時,經 DSH 審批服務徵詢用戶。
- 敏感輸入保護:密碼框(AXSecureTextField)拒絕自動輸入。
- 無快照拒絕:任何動作必須先
screen_observe,杜絕盲操作。
座標模式(x/y)與無目標輸入(computer_type / computer_key 落到前臺應用)無法預知目標內容,安全兜底依賴快照 TTL 與操作可見性;computer_key 不校驗快捷鍵本身,請勿授予不可信模型。
可選能力¶
視覺兜底:遊戲、Canvas 等無 AX 樹界面,可設置 ZHIPU_API_KEY 後由 screen_observe 在 AX 爲空時降級爲視覺理解(glm-4.6v-flash 等,見 README)。
光標主題:內置彩虹漸變指針主題 com.dsh.computeruse.rainbow;可通過 cursorTheme 配置,未安裝時回退引擎默認光標。
安裝與啓用¶
前提¶
- harness-desktop(含 dsh rc 運行時)
- cua-driver 已安裝且權限已授權(macOS:Accessibility + Screen Recording;Windows:普通用戶權限)
- 插件默認從 PATH 查找
cua-driver;若不在 PATH,設置CUA_DRIVER_BIN=/path/to/cua-driver
一鍵安裝¶
倉庫提供 install.sh,在 home 級用戶 patch 層注入,不修改 profile 配置:
# 預演
./install.sh --dry-run
# 安裝
./install.sh
# 卸載
./uninstall.sh
安裝後重啓 harness-desktop 生效。
Windows / Linux 用戶:install.sh 默認 DSH_HOME 爲 macOS 路徑,請先 export DSH_HOME=<你的 dsh home 目錄> 再運行;或手動兩步:
ln -sfn <插件目錄> "$DSH_HOME/profiles/web/node_modules/dsh-computer-use"- 在
$DSH_HOME/cordis.patch.yml中 insert 插件註冊(見倉庫cordis.patch.yml)
可選配置¶
在 $DSH_HOME/cordis.patch.yml 中覆蓋:
- id: dsh-computer-use
config:
ttlMs: 15000 # 快照有效期(毫秒)
maxElements: 500 # screen_observe 最大編號元素數
allowedApps: [] # 區域限制白名單(空 = 不限制)
cursorTheme: com.dsh.computeruse.rainbow # 虛擬光標主題(空 = 引擎默認)
視覺模式(可選):
export ZHIPU_API_KEY=你的key
Key 可在智譜開放平臺申請:https://open.bigmodel.cn
典型用法¶
開發驗證可採用隔離 profile,不改動真實 GUI 配置。README 示例:
DSH_HOME=$PWD/.dsh-p0 ELECTRON_RUN_AS_NODE=1 \
/Applications/harness-desktop.app/Contents/MacOS/harness-desktop --expose-internals \
/Applications/harness-desktop.app/Contents/Resources/app/node_modules/@deepseek-ai/dsh/lib/bin.js \
--profile test "請調用 screen_observe 觀察當前窗口並報告"
日常流程:先 screen_observe 獲取編號元素與座標,再調用 computer_click 等工具;任何操作前須有未過期的觀察快照。
適用場景與注意¶
適合:需要在 DSH 對話中讓模型「看桌面、點界面、輸文字」的工作流;希望操作過程可見、與真實鼠標隔離的場景。
侷限(README 自述):
- Windows / Linux 待真機實測(引擎官方支持)
- 像素座標校準爲近似,首次點擊偏移可用視覺模式或引擎截圖對比校準
- 視覺讀屏對小字體精度一般;macOS 計算器等窗口可能不在 AX 樹
權限與安全:插件以當前 dsh 進程權限運行,安裝前應閱讀源碼與 MIT 許可證,確認 allowedApps、審批策略是否符合你的環境。SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
鏈接¶
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/988hj7tczd-oss/dsh-computer-use
- GitHub:https://github.com/988hj7tczd-oss/dsh-computer-use
- npm:https://www.npmjs.com/package/dsh-computer-use