DSH Computer Use Next
macOS 全局跨应用桌面控制插件。默认隐藏虚拟光标,在后台选定窗口;窗口操作后自动回读界面,供 DSH 模型继续判断。
基于 MIT 授权的 dsh-computer-use 0.3.1 修改,保留原许可,变更见 NOTICE。本项目与 OpenAI、Codex 无隶属关系,不包含其内部实现或模型。
要求
- macOS;其他操作系统未验证。
- Node.js 22.18+;兼容 @deepseek-ai/dsh-tools 0.2.0-rc.2 接口的 DSH 宿主。
- 已安装 CuaDriver,并授予其辅助功能和屏幕录制权限;实测版本 0.35.2。
- 原生图片和整屏观察需要对话模型支持图片输入,否则使用窗口 AX 控件树。
安装
发布后可通过 GitHub Release 中的 dsh-computer-use-next.tgz 安装,或由收录后的 DSH 插件市场安装。仓库自带 dsh.bundle manifest 和运行时 JavaScript,不需要编译。
本机桌面 profile 的手动安装:
python3 install.py
脚本只针对已有 ~/.dsh/profiles/desktop 的桌面版,复制插件、备份并追加配置,不重启应用、不更改模型账号。其他 profile 使用宿主的插件安装方式。
如已启用旧版 dsh-computer-use,先禁用旧版,避免同名工具重复注册;本插件不会擅自禁用其他插件。
工具
| 工具 | 用途 |
|---|
| desktop_windows | 全局应用窗口列表及精确窗口 ID。 |
| app_switch | 后台选定并观察目标窗口,不主动前置。 |
| desktop_observe | 主显示器整屏图片,包括 Dock 和菜单栏。 |
| desktop_click | 全局坐标点击及回读;后台模式默认禁用。 |
| screen_observe | 窗口 AX 控件树及可用截图。 |
| screen_zoom | 局部截图。 |
| computer_click / computer_double_click / computer_right_click | 窗口点击、双击、右键。 |
| computer_type / computer_key | 目标窗口文本输入及快捷键。 |
| computer_scroll / computer_drag | 窗口内滚动及拖拽。 |
| computer_wait | 等待加载。 |
| app_list / app_launch | 应用列表及启动。 |
合计 16 个工具。窗口点击、输入、按键、滚动和拖拽后自动回读原窗口,模型需要检查实际变化。不同 agent 的观察缓存隔离,插件内调用串行执行。
示例:
使用 desktop_windows 查看窗口,选定计算器计算 12+34,再观察另一个应用,最后回到计算器核对结果。保持后台,每步检查界面,不重复执行结果未知的动作。
后台与前台
默认 backgroundOnly=true、animateCursor=false。驱动会话初始化和恢复时关闭虚拟光标,不隐藏用户自己的鼠标。
后台模式禁止主动前置及 desktop_click;使用 app_launch 和 app_switch 跨应用工作。不支持后台的操作会失败,不自动前置重试;应用自身弹窗仍可能改变焦点,不能保证所有软件完全后台运行。
如需 Dock/菜单栏点击,可显式设置 backgroundOnly=false,允许前台交互。整屏坐标和窗口坐标不能混用。
未验证多屏、其他 Space、最小化窗口及完整模型驱动的跨应用长任务;未实现跨窗口拖拽、视频流或独立无人值守规划。
数据和权限
截图经 DSH attachments 服务处理,可能按模型路由发送给模型服务商。显式 vision 模式继承上游观察者及可选 GLM fallback,其密钥查找和请求见 lib/vision.js。默认 native/AX 路径不新增密钥。
快照 TTL、应用白名单和部分按钮审批规则不是完整安全保障,坐标点击及快捷键不能可靠推断业务后果。详见 PERMISSIONS.md。
验证和卸载
node --test tests/*.test.mjs
python3 install.py --uninstall
16 项自动测试通过。实际验证了计算器点击与截图回读、计算器与 DSH 的后台窗口观察、1568×1014 整屏读取及虚拟光标关闭。完整模型任务尚未验证。
卸载只移除本插件的配置块,保留其他配置及插件文件。下一次启动或宿主重新加载配置后生效。