前言¶
在 DSH 里做 Agent 自动化,遇到 Windows 桌面程序时常见的问题是:Agent 能读写文件、能跑命令,但拿不到窗口里的内容,也没法代替人点击和输入。拼脚本可以解决一部分,但每套界面写一套自动化很容易脆。这个插件把这件事作为一个 DSH 插件提供:左侧栏加一个「电脑」页,Agent 通过它观察窗口并对窗口操作。
它由 Kinfxhk 维护,分类是工作流,许可证 MIT,仓库地址 https://github.com/Kinfxhk/dsh-computer-use 。下面是已核实的内容,文中命令和路径均来自插件 README 与 package.json。
它是什么¶
一句话:这是一个 Windows 限定的 DSH 插件,在左侧栏增加一个「电脑」页,Agent 借助本地 Cua driver 观察并操作窗口。
它解决的是:在 Windows 上,让 Agent 能够看到某个窗口、定位可点元素、点击、输入、按键和滚动,同时由人控制开关。
当前版本 1.0.1(见 package.json,name 是 @local/computer-use),要求 DSH 0.2.1-rc.5 或以上。
核心功能¶
侧栏「电脑」页包含开关、driver 状态和最近操作记录。Agent 侧暴露一个 computer_use 工具,动作如下:
| 动作 | 作用 |
|---|---|
status |
查看开关与 driver 状态 |
windows |
列出顶层窗口,默认只列 on-screen |
observe |
读取一个窗口:截图,最多 80 个可点元素,可加 query 筛选 |
click |
点击元素(elementToken)或截图坐标(x、y) |
type |
在指定窗口输入,最多 2,000 字 |
key |
按一个键:字母、数字、Enter、Tab、Esc、方向键、F1–F12 |
scroll |
滚动 1–20 格 |
有几条实现细节值得说明:
- 每次操作都要指定
pid+windowId,目标始终是你指定的那个窗口。 observe会返回elementToken,优先用 token 定位,坐标只是后备。- 背景输入优先,背景不行才要求前景;前景会短暂抢焦点。
- 插件自己起一个私有进程,通信走命名管道
\\.\pipe\dsh-computer-use,使用--permission-mode standard,不会连接其他 Agent 的 driver,也不使用 unrestricted mode。 - 打字内容不写入页面记录,只记录长度;页面保留最近 24 条操作,最多 8 张截图预览。
明确不支持的能力:剪贴板、杀 process、全桌面输入、密码/付款/权限对话框。
安装与启用¶
先装依赖,再装插件。
插件本身是 Windows 限定,并且需要 Cua driver(cua-driver.exe)。官方安装器:
irm https://cua.ai/driver/install.ps1 | iex
安装后插件默认查找:
%LOCALAPPDATA%\Programs\Cua\cua-driver\bin\cua-driver.exe
如果 driver 放在别的地方,设置环境变量 CUA_DRIVER_BIN 指向该 exe 即可。
仓库不收录第三方
cua-driver.exe(28 MB、非本插件著作),因此要用上面的官方安装器,后续更新也方便。
插件安装走 DSH 的 plugin_manager,target 填下载目录的绝对路径:
plugin_manager(action: "install_bundle", target: "C:\\path\\to\\dsh-computer-use")
可以 git clone 仓库,或直接在 GitHub 上选择 Code → Download ZIP。装完后重启 DSH,左侧栏会出现「电脑」。
典型用法¶
装好 driver 后,在「电脑」页点「启动 driver」,确认开关已开,Agent 就可以调用工具。一个常见的调用顺序如下:
1、computer_use 的 status:确认开关和 driver 状态。
2、windows:找到目标窗口的 windowId。
3、observe 该 pid + windowId:拿到截图和元素 token。
4、click 带上 elementToken 定位的元素;需要输入时用 type,需要按键时用 key,需要翻页时用 scroll。
注意 observe 的 query 参数可用于筛选元素,不确定要点哪个元素时可先加筛选,再从返回的可点元素里选 token。
click 里的 elementToken 应优先于坐标;坐标方式属于后备,确认截图和窗口当时位置一致再传。
安全与适用场景¶
开关默认是开的。点击即可关闭:关闭后 Agent 的 click/type/key/scroll 会被直接拒绝,observe 也要重新打开后才会执行。只有「电脑」页能改开关和启动 driver,Agent 自身改不了。
插件只会操作你指定的一个窗口,没有全桌面输入、没有剪贴板、没有 process kill,也不会读取密码栏。README 明确说明不应把它用于付款或权限对话框操作。
适用情况:需要在 Windows 上让 Agent 稳定完成窗口内操作,且你希望随时能一键切断。不适用:需要跨窗口全局输入、剪贴板搬运、进程管理,或需要处理关键权限弹窗的场景。
另外要注意,插件以当前 DSH 进程的权限运行。安装前建议先读一遍源码(MIT 许可),确认来源后再安装;Cua driver 是第三方 28 MB 二进制,来自 https://cua.ai/driver/install.ps1,安装行为按该安装器的说明走,不属于本插件代码。
结尾¶
这个插件的价值在于:把 Windows 窗口操作从”写脚本”变成 DSH 侧栏里一个可开关的工具页,Agent 有明确、可审计的操作面,人可以随时关掉。版本 1.0.1 修复了 undefined 导致整个工具报错、driver session 结束后未重连、以及 attach 到已运行 daemon 时状态判断错误这三项。
目录页:https://www.skillhub.cn/plugins/Kinfxhk/dsh-computer-use
GitHub:https://github.com/Kinfxhk/dsh-computer-use