前言¶
在构建 DSH 代理时,模型通常只能通过网页内容(Edge 扩展)进行操作,无法直接控制浏览器框架(如地址栏、搜索栏)或其他任意窗口。dsh-desktop 插件通过提供操作系统级控制能力,填补了这一空白,让模型能够操作整个浏览器和桌面上的任意程序。
这是什么¶
这是一个宿主插件(Host Plugin),由 Hyna-hla 维护。它的核心价值是提供操作系统级的桌面控制能力,使模型能够控制浏览器框架、进行窗口操作以及管理任意应用程序。
核心功能¶
插件提供以下工具:
desktop_ocr:截屏并调用 Windows OCR,返回每个词的坐标框,用于定位界面元素。desktop_screen:获取虚拟屏幕尺寸与原点。desktop_click(x, y, button?, double?):移动鼠标并点击,支持左键、右键、中键以及双击。desktop_drag(x1,y1,x2,y2):按住鼠标从坐标点拖动到另一坐标点。desktop_type(text):输入 Unicode 文本,支持中文输入。desktop_press(combo):模拟组合键,如ctrl+l(聚焦地址栏)、enter、alt+tab、f5、ctrl+t等。desktop_cursor:获取当前光标位置。desktop_screenshot(path?):截屏并保存为 PNG 文件。
安装与启用¶
在克隆仓库后,按顺序执行以下命令:
pnpm install
pnpm build
.\scripts\install-to-profile.ps1 -Name dsh-desktop -SourceDir .
# 重启 DeepSeek Harness
典型用法¶
打开网址:
1. 调用 desktop_press "ctrl+l" 聚焦地址栏。
2. 调用 desktop_type "https://..." 输入目标地址。
3. 调用 desktop_press "enter" 执行跳转。
任意界面点击:
1. 调用 desktop_ocr 获取屏幕上文本的坐标框。
2. 根据返回的坐标调用 desktop_click 进行点击。
原理与边界¶
- 运行机制:插件在宿主进程中 spawn
powershell.exe并执行lib/desktop.ps1,使用 Win32 API(如SetCursorPos、mouse_event、SendInput)和 Windows 自带 OCR,完全不受 DSH 沙盒限制。 - 职责分工:与 Edge 扩展互补,扩展负责管理网页内容,桌面层负责管理浏览器框架和所有程序。
- 权限与边界:模型只有在收到你的指令时才会调用这些高权限工具。模型可以“看”屏幕上的一切(OCR),也能对屏幕上的一切进行操作。
注意事项¶
- 插件以宿主进程的权限运行,安装前应检查源码与许可证(MIT)。
- 该插件与现有的 Edge 扩展能力不冲突,属于桌面层面的补充。