桌面兜底橋:給 DSH 接上 Codex 級的 Computer Use

前言

DeepSeek Harness(DSH)擅長寫代碼、跑 shell,但默認看不見屏幕上的界面,也點不到窗口裏的按鈕。若任務只能靠「看一眼、點一下、跨應用串起來」才能完成,單靠讀文件和命令輸出往往不夠。

社區裏 dsh-orb 已經提供了截屏、鼠標、鍵盤和 13 個 GUI 工具等執行能力。缺的是會話層:多會話誰在用桌面、用戶點停止後桌面是否還在動、依賴沒裝好時如何提示。桌面兜底橋(倉庫 advance-lion/dsh-computer-use-bridge,npm 包名 dsh-desktop-bridge)由 advance-lion 維護,就是這一層橋接——讓每個 DSH 會話都能通過統一入口把「只能用手做」的一段交給桌面工作會話,並保證同一時刻只有一個人在動鼠標。

這是什麼

一句話:本插件不含 Computer Use 的實現;截屏、點擊、輸入全部由 dsh-orb 提供,這裏負責任務調度、排隊、跨進程獨佔、隨停止中斷和啓動自檢。

數據流可以概括爲:

你的會話 ──computer_task──▶ 桌面工作會話 ──▶ 截屏 / 點擊 / 輸入
   │                              │
   └──── 結果 + 驗證證據 ◀───────┘

與 Codex 的 Computer Use 在「看見屏幕、點擊輸入、跨應用、顯式 @computer」等執行能力上對齊;調度與安全模型按 DSH 實際情況重做(任務租約、FIFO 隊列、Windows 前臺獨佔等)。文檔明確寫出的邊界包括:無 macOS 式獨立光標與後臺操作、無逐動作彈窗確認(敏感動作靠預算與停止)。

核心功能

下面介紹 README 中已覈實的能力,均依賴 dsh-orb ≥ 0.2.0(提供 computer-use 預設)。

會話與調度

  • 任務級租約:桌面忙時排隊或超時,默認 FIFO,模型不能插隊。
  • 跨進程獨佔:Windows 命名管道聲明控制權,搶不到則拒絕執行,而不是搶鼠標。
  • 與 dsh-orb 懸浮球互斥:橋接工作時懸浮球會話讓位,反之亦然。
  • 聊天裏點停止,桌面工作會話一併中斷。

觸發方式

  • mode 爲 auto 時按判據判斷是否走 GUI;也可用顯式標記 @computer、@desktop、@電腦 立刻動手。
  • 結構化路徑優先:有插件、MCP、API、Skill 時仍應走結構化接口;只在「光看文件和命令輸出無法確認」的圖形界面任務上佔用桌面。

工具與兼容

  • 執行端爲 dsh-orb 的 13 個 GUI 工具;工作會話模型必須支持圖片輸入(workerProvider / workerModel 可繼承主會話或單獨配置)。
  • 插件只依賴預設 id 與 screen-owner 記錄,不 import dsh-orb 代碼;預設缺失時啓動自檢會說明原因與修復方式。
  • 平臺:Windows 首發(README 標註 platform Windows);DSH 0.2.x 桌面版實測。狀態可通過 computer_desktop_status 查詢(無原生狀態面板)。

單任務預算(可配):步數/時長上限對應 maxRunSeconds(默認 600)、排隊 maxWaitSeconds(默認 300)、每會話同時在飛任務數 maxTasksPerSession(默認 1)。

安裝與啓用

先做執行後端,再裝橋;安裝命令來自倉庫 README,順序如下。

dsh plugin add dsh-orb              # 1. 執行後端(必須)
dsh plugin add dsh-desktop-bridge  # 2. 橋(本倉庫)

未安裝 dsh-orb 時,computer_task 會拒絕執行並提示安裝。裝完後在 DSH 插件頁應能看到 dsh-orb 與本插件兩張卡片,橋顯示「運行中」。

可選配置寫在 cordis.patch.yml 的 config 段,常用字段如下。

字段 默認 說明
mode auto auto 按判據判斷;explicit_only 只認 @computer;off 關閉
workerPreset computer-use 工作會話預設,由 dsh-orb 提供
maxWaitSeconds 300 桌面繁忙時最長排隊時間
maxRunSeconds 600 單任務最長佔用桌面時間
maxTasksPerSession 1 每會話同時在飛的任務數
workerProvider / workerModel 繼承 工作會話模型,必須支持圖片輸入

插件以當前 DSH 進程權限運行,安裝前請自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的安全策略。

典型用法

日常可以直接用自然語言描述 GUI 任務,例如:

幫我在計算器裏算一下 7×8

若希望立刻動手、不再權衡是否走桌面,加上顯式標記:

@computer 把那個彈窗點掉

README 中的真實示例是:任務交給桌面工作會話後,依次按下 C → 7 → × → 8 → =,結果從計算器界面讀回(如 56),而不是模型心算。已知問題裏提到:目標窗口被遮擋時,點擊可能落到別的窗口;首次運行前宜把目標窗口帶到最前。

適用場景與注意

適合走本插件的情況(與 Codex 判據一致):只能點界面才能改的設置、只在 GUI 能復現的 bug、跨多個應用串起來的流程。

不必佔用桌面的情況:改代碼、讀文件、批量重命名走文件/shell;有 MCP/API 走結構化接口;網頁內容走抓取或瀏覽器自動化;「我現在在幹嘛」類觀察用 shell 截屏 + 讀圖即可。

README 強調:在 full-access 的 Windows 上,pwsh 能調 Win32、截屏、讀 UI Automation,本插件會被用得比想像中少——設計意圖是隻在真正需要「一隻手」時佔用桌面。

邊界摘要

  • 不跨機器;控制的是宿主桌面,不是瀏覽器所在設備。
  • 不搶佔正在跑的任務;不自動化終端類應用、DSH 自身、需管理員授權的系統彈窗。
  • Windows 前臺獨佔:會真的接管指針和鍵盤。
  • 沒有「停止當前任務並立即交接」,只有排隊取消、預算超時與隨對話停止。

DeepSeek Harness 的生態理念是「一切皆插件」;社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

桌面兜底橋把 dsh-orb 的執行能力與 DSH 多會話場景下的排隊、獨佔和中斷串起來,在 Windows 上補齊「看得見、點得到」的 GUI 委託路徑。需要細節、設計取捨與測試說明時,見倉庫 docs/design-notes.md。

  • 目錄頁:https://www.skillhub.cn/plugins/advance-lion/dsh-computer-use-bridge
  • GitHub:https://github.com/advance-lion/dsh-computer-use-bridge
羽毛球分组比赛记分
小程序二维码

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

小夜