dsh-computer-use-fixes:桌面 Computer Use 的社區修復分支

前言

在 DeepSeek Harness(DSH)裏做智能體工作流時,若要讓模型「看屏幕、點界面、輸文字」,通常會掛上 Computer Use 類插件,由宿主調用 cua-driver 驅動本機桌面。上游 dsh-computer-use 已提供觀察與鍵鼠模擬等能力,但在真實指針干擾、瀏覽器內操作、引擎調用延遲等方面,社區使用者仍會碰到可感知的體驗問題。dsh-computer-use-fixes 是維護者 SFlyee 基於上游 0.3.2(MIT)維護的 fork,在 Skillhub 分類爲「工作流」,側重修補與優化上述路徑,並保留 13 個與上游語義一致的工具接口。下文介紹其定位、相對上游的改動、安裝方式與使用注意。

這是什麼

sflyee/dsh-computer-use-fixes(插件 id:dsh-computer-use-fixes)是 988hj7tczd-oss/dsh-computer-use 的社區修復分支,同樣以 MIT 發佈。npm 包當前版本爲 0.4.3;完整的功能說明、配置項與安全模型仍以上游 README 爲準,本倉庫 README 主要說明「改了什麼、怎麼安裝、怎麼驗證」。

生態上,DSH 奉行「一切皆插件」;Skillhub(https://www.skillhub.cn/plugins/SFlyee/dsh-computer-use-fixes)是獨立的插件目錄站點,與 DeepSeek / 幻方無官方從屬關係,下文安裝命令均來自該插件 GitHub README,而非憑倉庫名拼接。

相對上游改了什麼

README 以表格歸納了相對上游 0.3.2 的改動,核心包括:

  1. 真實指針隔離:僅顯式前臺投遞(或引擎報後臺不可達後的重投)才啓用指針守衛;動作返回後立即還原,後臺操作不移動用戶鼠標,前臺點擊後指針約在 3–4ms 內回到原位。
  2. Chromium CDP 通道:網頁內容經 DevTools 協議在渲染進程內完成元素編號與點擊/輸入/滾動;無授權時退回 UIA/視覺路徑。
  3. 常駐 MCP 引擎通道:由每次 spawn CLI 改爲常駐 cua-driver mcp,README 記載單次調用約 4–10ms(對比舊路徑約 0.8–2.6s)。
  4. 元素優先點擊:座標命中按鈕、菜單、鏈接等可調用元素時,自動改用 UIA 元素調用,減少真實指針與焦點搶佔。
  5. 單段緩動滑行:去掉插件側多段弧線插值,改爲引擎側約 240ms 的單段 move_cursor 緩動。
  6. 第 13 個工具:新增 screen_desktop,整屏截圖並含虛擬光標位置。
  7. 0.4.3 通道修復:MCP 截圖字段歸一爲 screenshot_png_b64;computer_type 支持 replace 與 x/y 像素定位等(詳見 CHANGELOG)。
  8. 穩健性:token 失效自愈、快照過期拒絕、會話自愈等,便於長時運行。

逐項細節見倉庫 CHANGELOG.md;引擎行爲探針見 docs/engine-notes.md。

13 個工具

與上游工具名一致,本分支未改動這些接口的語義;觀察模式與配置項(如 ttlMs、allowedApps、preferElement、browserCdp、engineChannel、restoreRealPointer 等)請查上游文檔。

工具 說明
screen_observe 觀察窗口:AX/UIA、座標或截圖;Chromium 窗口可走 CDP 返回頁面元素
screen_zoom 截取並放大窗口局部
screen_desktop 整屏截圖(含虛擬光標)
computer_click 點擊元素或座標(元素優先,可後臺)
computer_double_click 雙擊
computer_right_click 右鍵
computer_type 輸入文本
computer_key 按鍵 / 快捷鍵
computer_scroll 滾動
computer_drag 拖拽
computer_wait 等待界面加載或動畫
app_list 列出運行中的應用
app_launch 啓動應用

安裝與啓用

環境要求(來自 README 與 package.json):

  • DeepSeek Harness(兼容聲明:dsh >= 0.1.2-rc.1)
  • Node.js >= 22.18.0
  • cua-driver(README 實測 0.28.2;可通過 CUA_DRIVER_BIN 或 PATH 解析)

安裝方式(任選其一,勿與上游同名插件並存):

npm install -g dsh-computer-use-fixes

或按宿主版本:

dsh plugin add dsh-computer-use-fixes

在 macOS / Linux 上也可使用倉庫內腳本(先預演再安裝到 home 級 patch 層):

./install.sh --dry-run   # 預演,不寫文件
./install.sh             # 正式安裝

Windows 路徑見倉庫 docs/windows.md。

安裝後需重啓宿主生效。驗證是否註冊成功:讓智能體執行一次 app_list 或 screen_observe。

⚠️ 插件 id 爲 dsh-computer-use-fixes,不要與上游 dsh-computer-use 同時安裝,兩者會註冊同名工具導致衝突;切換前先卸載或禁用另一個。0.4.2 起插件不再聲明 @deepseek-ai/dsh-tools 依賴,改爲動態加載宿主實現,用插件管理器安裝時不應再因缺 peer 導致 DSH 啓動失敗。

典型用法與驗證

在 DSH 中的用法:將插件啓用後,在工作流或對話中由模型調用上表工具即可;具體參數、審批流與安全護欄遵循上游 README 與本分支 PERMISSIONS.md、SECURITY.md。

倉庫內離線驗證(不依賴真實鼠標):

npm run check   # 12 個文件的語法檢查
npm test        # 177 項離線迴歸(引擎樁化)

CI 在每次 push / PR 時運行上述檢查;真機探針數據見 docs/engine-notes.md。更多材料:VERIFICATION.md、PERMISSIONS.md、SECURITY.md。

適用場景與注意

適合誰:已在 DSH 中使用或評估 Computer Use、需要更穩的指針隔離、更低延遲的 MCP 引擎通道、Chromium 內 CDP 操作,以及整屏截圖 screen_desktop 的開發者。

權限與安全:插件通過宿主以非 shell、固定 argv 調用 cua-driver,進行屏幕觀測與虛擬鍵鼠模擬;Chromium CDP 需 daemon 以 --grant existing-profile 等方式啓動並由用戶顯式授權。插件在當前 DSH 進程權限下運行,安裝前請閱讀源碼、MIT 許可證與 NOTICE,並覈對 PERMISSIONS.md 中的寫入路徑與可選外部服務(如視覺 fallback 的 GLM API)說明。

與上游關係:本分支從 0.4.0 起獨立版本號,不自動跟隨上游 0.3.x;上游缺陷應反饋上游,本分支問題在 SFlyee/dsh-computer-use-fixes 處理。分發渠道包括 GitHub Release 與 npm 包 dsh-computer-use-fixes。

結尾

dsh-computer-use-fixes 在保留上游 13 工具語義的前提下,針對指針隔離、CDP 瀏覽器通道、常駐 MCP 與元素優先點擊等路徑做了社區向修復,適合作爲 DSH「工作流」類桌面自動化插件的替代安裝項。目錄頁:https://www.skillhub.cn/plugins/SFlyee/dsh-computer-use-fixes;源碼與安裝說明:https://github.com/SFlyee/dsh-computer-use-fixes。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜