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