前言¶
在 DeepSeek Harness(DSH)里做「电脑使用」类能力时,常见做法是接浏览器自动化或外部 RPA 运行时:模型要么只能看网页,要么还要再装一层中间件。若目标是让智能体直接面对用户正在用的 Windows 桌面——截屏、点按、敲键、切窗口、读写剪贴板——就需要在 Harness 里以插件形式接入原生输入输出,并处理好「真人是否同意、真人是否还能抢回控制权」这类问题。
下面介绍社区插件 @restregular/dsh-computer-use(GitHub:RestRegular/dsh-computer-use)。它在 Windows 上通过内置的 Rust 原生 helper 完成截屏与输入注入,不依赖浏览器或额外自动化运行时;操作前有人工审批(全权限模式下可豁免),接管期间用半透明遮罩与小型聊天面板让人类仍可发消息或取消接管。
这是什么¶
- 定位:Windows 下的 DSH 客户端插件,为智能体提供桌面截屏、鼠标键盘、窗口管理与剪贴板工具。
- 维护者:RestRegular;包名
@restregular/dsh-computer-use,当前资料中版本为 0.3.3,许可证 MIT。 - 分类:客户端(仅 Windows 10/11 x64;
package.json中os为win32,cpu为x64)。 - 引擎要求:DSH 0.2.1 或更新(README 表述);
package.json的engines.dsh为>=0.2.1-rc.3 <0.3.0,安装前请以你本机 DSH 版本与插件声明为准。
插件首次使用会把原生 helper 复制到 %LOCALAPPDATA%\dsh-computer-use\ 并从该路径运行,因此即使插件装在低完整性工作区,仍可能具备向桌面注入输入的能力——使用前请阅读源码与许可证,并理解其以当前 DSH 进程权限运行。
核心功能¶
插件向会话暴露三类工具(名称以 README 为准):
| 工具 | 作用 |
|---|---|
computer_screenshot |
截取整个虚拟桌面、单显示器、指定窗口或区域;返回图像与坐标元数据 |
computer_action |
鼠标移动/单击/双击/右键/拖拽/滚轮,键盘按键/组合键/文本,等待,剪贴板读写,release 释放控制等 |
computer_windows |
列出顶层窗口(id、标题、进程、边界、状态、是否前台),聚焦窗口,或最小化/最大化/还原 |
坐标:截图可能被缩小;computer_action 默认坐标在该截图图像的像素空间。结果中会给出桌面捕获矩形(capture)与模型可见图像尺寸(image),插件会把图像坐标映射回桌面。若未先截屏却在图像空间发坐标,会失败并返回 SCREENSHOT_REQUIRED;需要绝对桌面像素时可传 coordinate_space: "screen"。所有会话共享同一桌面,同一时刻只有一个智能体能持有接管。
同意与接管(摘要):在审批策略为 ask 时,每轮第一次鼠标/键盘操作会走 Harness 审批;full access(danger-full-access 预设、审批策略 never)下不再弹窗,插件将用户的全权限选择视为同意并直接执行。批准后 helper 在首次注入输入前接管:半透明遮罩覆盖虚拟桌面,低级键盘/鼠标钩子拦截物理输入,遮罩上绘制模拟指针并提供聊天面板(可向请求接管的会话发消息或 Cancel takeover)。智能体用 SendInput 注入的输入带 injected 标志可穿透遮罩。紧急热键默认 Ctrl+Alt+Shift+F12 可立即结束接管;仅一个智能体可同时接管,其他会话会收到 TAKEOVER_BUSY。配置项如 consent.scope、consent.requireApproval、takeover.idleEndMs 等详见仓库 README。
安全:输入是真实桌面操作且不可撤销;README 强调应在受控环境使用并理解风险(正文截断处亦指向安全说明,完整内容以 GitHub 为准)。
安装与启用¶
命令行安装(资料原文):
dsh plugin --profile web add @restregular/dsh-computer-use
在 DSH Desktop 中也可打开 Plugins → Plugin Manager,安装 @restregular/dsh-computer-use 并启用。
要求:Windows 10/11 x64,DSH 0.2.1 或更新(见上文与 package.json 的差异说明)。
典型用法¶
README 推荐的循环如下,适合「找窗口 → 看屏幕 → 动一次 → 再验证」:
- 用
computer_windows找到目标窗口; - 用
computer_screenshot观察(可选window_id只截该窗口); - 执行一次或一组
computer_action(例如聚焦窗口、点击输入框再type); - 再截一张图核对结果——已发出的点击并不能证明 UI 已按预期变化。
坐标与 SCREENSHOT_REQUIRED、coordinate_space: "screen" 的说明见上一节。
结束接管的方式包括:智能体回合结束、computer_action 的 action: "release"、智能体销毁、遮罩上取消接管、紧急热键、helper 退出,以及可选的 takeover.idleEndMs 空闲释放。
适用场景与注意¶
适合:在 Windows 上为 DSH 智能体做桌面自动化演示、辅助操作重复 GUI 流程、在明确审批与接管机制下做 computer-use 实验。
注意:
- 仅 Windows x64;Linux/macOS 不适用。
- 插件能力等同于高权限本地自动化,安装前请审查 GitHub 仓库 源码与 MIT 许可证。
- DSH 生态是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系,不要当作官方应用商店。
- 星标等统计以仓库页面为准(线索中为 1 star,会随时间变化)。
结尾¶
@restregular/dsh-computer-use 把 Windows 桌面的看与控收进 DSH 插件:原生 helper、三类 computer 工具,以及带遮罩与面板的人工同意与接管流程。需要安装命令、工具参数与安全细节时,以 README 为准。
- 目录页:https://www.skillhub.cn/plugins/RestRegular/dsh-computer-use
- GitHub:https://github.com/RestRegular/dsh-computer-use