前言¶
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