dsh-computer-use:在 Windows 上讓 DSH 智能體看見並操作真實桌面

前言

在 DeepSeek Harness(DSH)裏做桌面自動化,常見做法是寫腳本或接 RPA,模型側往往只能「描述步驟」而不能直接對照當前屏幕座標點擊。若你希望智能體像 Codex computer use 那樣讀截圖、動鼠標鍵盤,又要在 Windows 上可控、可急停,就需要把能力做成 DSH 插件 bundle,而不是零散腳本。

下面介紹社區維護者 Iroul1212 發佈的 dsh-computer-use(倉庫 DSH-Computer-Use)。它在 DSH 的 tools 通道註冊五類面向模型的工具,通過長駐 PowerShell 主機驅動本機桌面,並帶有 Codex 風格的可見 overlay 與全局 Esc 急停。插件歸類爲工作流,可在社區目錄 DSH-Computer-Use 查看條目(該站點爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係)。

這是什麼

dsh-computer-use 是面向 Windows 10 / 11(x64)的 DSH 插件包(當前 package 版本 0.2.0,MIT 許可證)。它解決的核心問題是:讓會話中的智能體操作對話對象所在機器的真實桌面——截圖、鼠標鍵盤、窗口管理、UI Automation(UIA)、剪貼板——並在執行變更動作時讓人眼可見、可按 Esc 立刻凍結。

非 Windows 平臺上 bundle 行保持 inactive(patch 中的 disabled: 守衛),不會註冊工具。

核心功能

五個模型工具

工具 作用(據 README)
computer 對齊 Codex computer-use 動作面:截圖、點擊、輸入等
app_window 啓動、聚焦、枚舉窗口等
ui_element 按無障礙路徑尋址控件,不依賴像素
clipboard 讀寫剪貼板
app_skill 按應用下發短 recipe(快捷鍵、菜單路徑、常見坑)

實現上,Node 側僅依賴內置模塊,桌面操作由 單次拉起、長駐 的 win-host.ps1 經 stdin/stdout 傳 NDJSON 完成;首次工具調用才啓動 PowerShell,避免拖慢 DSH 啓動。

設計與安全要點

  1. 截圖走 DSH attachment 管道:結果裏是 attachment 引用,不是 base64,會話日誌更小;插件在 attach 前將捕獲壓到 ≤600000 像素並 JPEG 編碼,避免與 DeepSeek 請求路徑二次縮放導致「看圖座標」與「實際點擊」不一致。
  2. 純文本模型可用:截圖可附帶 UIA 文本摘要;ui_element 按無障礙路徑操作;app_skill 在碰應用前給出操作要點。
  3. 安全可見:變更動作時 overlay 顯示邊框與提示;全局 Esc 凍結變更(STOPPED_BY_HUMAN);還支持 dryRun、requireApproval、blocklist 等(詳見倉庫文檔)。

內置應用技能

倉庫 skills/ 目錄附帶 8 個應用技能文件:chrome、excel、explorer、notepad、powerpoint、terminal、vscode、word,供 app_skill 調用。

環境要求

項 說明
系統 Windows 10 / 11(x64)
Node.js ≥ 20(package.json engines)
PowerShell pwsh 7 優先,或 Windows PowerShell 5.1
DSH ≥ 0.1.5(README 寫明在 0.1.5-rc.2 / 0.1.5-rc.3 驗證)
pnpm dsh plugin add 需要;可用倉庫 scripts/install.ps1 生成 shim

安裝與啓用

DSH 不必在 PATH 上,可用 npx @deepseek-ai/dsh。Profile 位於 $DSH_HOME\profiles\<name>,常用 web 或 desktop。

1、把 bundle 加入 profile。 路徑請寫絕對路徑;相對路徑以當前工作目錄爲錨點。

本地目錄示例:

npx @deepseek-ai/dsh plugin --profile web add "file:C:\path\to\dsh-computer-use"

從 GitHub 指定版本(README 原文):

npx @deepseek-ai/dsh plugin --profile web add "github:Iroul1212/DSH-Computer-Use#v0.2.0"

也可使用自建 tgz(先 npm run pack:check)或倉庫提供的安裝腳本:

pwsh -NoProfile -File scripts\install.ps1 -Profile web

2、重啓 DSH。 新增依賴在啓動時解析 bundle 列表,加包後需重啓(改 cordis.patch.yml 在 web profile 可熱更,但加包不行)。

3、確認配置已掛載。

npx @deepseek-ai/dsh --profile web --dump-config

輸出中應在 # == dsh-computer-use 下看到 id: computer-use。若要驗證工具已註冊,開新會話讓智能體截圖,或運行:

node test\plugin-selftest.mjs

卸載:

npx @deepseek-ai/dsh plugin --profile web remove dsh-computer-use

然後重啓 DSH;若 CLI 不支持 remove,需手動編輯 profile 的 package.json 中 dependencies 與 dsh.profile.bundles 並 pnpm install。

典型用法

README Quick start 以記事本爲例:先 app_window 啓動應用拿到 hwnd,再用 computer 輸入文本。你可以在 DSH 會話裏用自然語言觸發,例如:

  • 「幫我在記事本里寫一段會議紀要」
  • 「Write a short meeting note in Notepad」

模型側典型序列(非唯一路徑,工具描述會引導模型):

  1. app_window — { action: "launch", command: "notepad.exe" }:啓動並報告新窗口 hwnd。
  2. computer — { action: "type", text: "..." } 等:在已聚焦窗口內輸入(具體字段以工具 schema 爲準)。

複雜桌面任務可組合 computer 截圖與點擊、ui_element 按標籤找按鈕、clipboard 搬運文本,並在打開 Office / 瀏覽器等前調用 app_skill 讀取對應 skills/*.md 中的 recipe。

適用場景與注意

適合: 在 Windows 上用 DSH 做 vibe coding 式桌面協助——填表、記筆記、按 UI 操作 legacy 應用、或需要「看見屏幕再點」的工作流實驗。

務必注意:

  • 插件以當前 DSH 進程權限操作本機桌面,安裝前請閱讀源碼與 MIT 許可證,確認 overlay、Esc、requireApproval、blocklist 等策略符合你的環境。
  • 僅 Windows 可用;Linux / macOS 上不會註冊工具。
  • npm 名 dsh-computer-use 已被無關包占用,本倉庫 README 說明未以該名發佈到 npm;安裝以上述 file: / github: / tgz 方式爲準。

結尾

dsh-computer-use 把 Codex 風格的 computer use、UIA 與剪貼板通道、8 個應用技能和安全 overlay 收進一個 DSH bundle,適合在 Windows 上讓智能體真正「看屏動手」。進一步細節見倉庫 README(含 README.zh.md)。

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

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

小夜