dsh-computer-use-fixes:桌面 Computer Use 的社区修复分支

前言

在 DeepSeek Harness(DSH)里做智能体工作流时,若要让模型「看屏幕、点界面、输文字」,通常会挂上 Computer Use 类插件,由宿主调用 cua-driver 驱动本机桌面。上游 dsh-computer-use 已提供观察与键鼠模拟等能力,但在真实指针干扰、浏览器内操作、引擎调用延迟等方面,社区使用者仍会碰到可感知的体验问题。dsh-computer-use-fixes 是维护者 SFlyee 基于上游 0.3.2(MIT)维护的 fork,在 Skillhub 分类为「工作流」,侧重修补与优化上述路径,并保留 13 个与上游语义一致的工具接口。下文介绍其定位、相对上游的改动、安装方式与使用注意。

这是什么

sflyee/dsh-computer-use-fixes(插件 id:dsh-computer-use-fixes)是 988hj7tczd-oss/dsh-computer-use 的社区修复分支,同样以 MIT 发布。npm 包当前版本为 0.4.3;完整的功能说明、配置项与安全模型仍以上游 README 为准,本仓库 README 主要说明「改了什么、怎么安装、怎么验证」。

生态上,DSH 奉行「一切皆插件」;Skillhub(https://www.skillhub.cn/plugins/SFlyee/dsh-computer-use-fixes)是独立的插件目录站点,与 DeepSeek / 幻方无官方从属关系,下文安装命令均来自该插件 GitHub README,而非凭仓库名拼接。

相对上游改了什么

README 以表格归纳了相对上游 0.3.2 的改动,核心包括:

  1. 真实指针隔离:仅显式前台投递(或引擎报后台不可达后的重投)才启用指针守卫;动作返回后立即还原,后台操作不移动用户鼠标,前台点击后指针约在 3–4ms 内回到原位。
  2. Chromium CDP 通道:网页内容经 DevTools 协议在渲染进程内完成元素编号与点击/输入/滚动;无授权时退回 UIA/视觉路径。
  3. 常驻 MCP 引擎通道:由每次 spawn CLI 改为常驻 cua-driver mcp,README 记载单次调用约 4–10ms(对比旧路径约 0.8–2.6s)。
  4. 元素优先点击:坐标命中按钮、菜单、链接等可调用元素时,自动改用 UIA 元素调用,减少真实指针与焦点抢占。
  5. 单段缓动滑行:去掉插件侧多段弧线插值,改为引擎侧约 240ms 的单段 move_cursor 缓动。
  6. 第 13 个工具:新增 screen_desktop,整屏截图并含虚拟光标位置。
  7. 0.4.3 通道修复:MCP 截图字段归一为 screenshot_png_b64;computer_type 支持 replace 与 x/y 像素定位等(详见 CHANGELOG)。
  8. 稳健性:token 失效自愈、快照过期拒绝、会话自愈等,便于长时运行。

逐项细节见仓库 CHANGELOG.md;引擎行为探针见 docs/engine-notes.md。

13 个工具

与上游工具名一致,本分支未改动这些接口的语义;观察模式与配置项(如 ttlMs、allowedApps、preferElement、browserCdp、engineChannel、restoreRealPointer 等)请查上游文档。

工具 说明
screen_observe 观察窗口:AX/UIA、坐标或截图;Chromium 窗口可走 CDP 返回页面元素
screen_zoom 截取并放大窗口局部
screen_desktop 整屏截图(含虚拟光标)
computer_click 点击元素或坐标(元素优先,可后台)
computer_double_click 双击
computer_right_click 右键
computer_type 输入文本
computer_key 按键 / 快捷键
computer_scroll 滚动
computer_drag 拖拽
computer_wait 等待界面加载或动画
app_list 列出运行中的应用
app_launch 启动应用

安装与启用

环境要求(来自 README 与 package.json):

  • DeepSeek Harness(兼容声明:dsh >= 0.1.2-rc.1)
  • Node.js >= 22.18.0
  • cua-driver(README 实测 0.28.2;可通过 CUA_DRIVER_BIN 或 PATH 解析)

安装方式(任选其一,勿与上游同名插件并存):

npm install -g dsh-computer-use-fixes

或按宿主版本:

dsh plugin add dsh-computer-use-fixes

在 macOS / Linux 上也可使用仓库内脚本(先预演再安装到 home 级 patch 层):

./install.sh --dry-run   # 预演,不写文件
./install.sh             # 正式安装

Windows 路径见仓库 docs/windows.md。

安装后需重启宿主生效。验证是否注册成功:让智能体执行一次 app_list 或 screen_observe。

⚠️ 插件 id 为 dsh-computer-use-fixes,不要与上游 dsh-computer-use 同时安装,两者会注册同名工具导致冲突;切换前先卸载或禁用另一个。0.4.2 起插件不再声明 @deepseek-ai/dsh-tools 依赖,改为动态加载宿主实现,用插件管理器安装时不应再因缺 peer 导致 DSH 启动失败。

典型用法与验证

在 DSH 中的用法:将插件启用后,在工作流或对话中由模型调用上表工具即可;具体参数、审批流与安全护栏遵循上游 README 与本分支 PERMISSIONS.md、SECURITY.md。

仓库内离线验证(不依赖真实鼠标):

npm run check   # 12 个文件的语法检查
npm test        # 177 项离线回归(引擎桩化)

CI 在每次 push / PR 时运行上述检查;真机探针数据见 docs/engine-notes.md。更多材料:VERIFICATION.md、PERMISSIONS.md、SECURITY.md。

适用场景与注意

适合谁:已在 DSH 中使用或评估 Computer Use、需要更稳的指针隔离、更低延迟的 MCP 引擎通道、Chromium 内 CDP 操作,以及整屏截图 screen_desktop 的开发者。

权限与安全:插件通过宿主以非 shell、固定 argv 调用 cua-driver,进行屏幕观测与虚拟键鼠模拟;Chromium CDP 需 daemon 以 --grant existing-profile 等方式启动并由用户显式授权。插件在当前 DSH 进程权限下运行,安装前请阅读源码、MIT 许可证与 NOTICE,并核对 PERMISSIONS.md 中的写入路径与可选外部服务(如视觉 fallback 的 GLM API)说明。

与上游关系:本分支从 0.4.0 起独立版本号,不自动跟随上游 0.3.x;上游缺陷应反馈上游,本分支问题在 SFlyee/dsh-computer-use-fixes 处理。分发渠道包括 GitHub Release 与 npm 包 dsh-computer-use-fixes。

结尾

dsh-computer-use-fixes 在保留上游 13 工具语义的前提下,针对指针隔离、CDP 浏览器通道、常驻 MCP 与元素优先点击等路径做了社区向修复,适合作为 DSH「工作流」类桌面自动化插件的替代安装项。目录页:https://www.skillhub.cn/plugins/SFlyee/dsh-computer-use-fixes;源码与安装说明:https://github.com/SFlyee/dsh-computer-use-fixes。

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

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

小夜