dsh-computer-use:让智能体操控 macOS 桌面应用

前言

DeepSeek Harness(DSH)的插件化架构允许开发者通过工具扩展智能体的能力。在桌面场景下,让智能体“看”到窗口、“点”按钮、“打”字、“截”图,是很多工作流落地时常见的诉求。传统做法通常需要自建跨平台主机、维护一套运行时环境,或者单独部署 CLI 工具,增加复杂度和维护成本。dsh-computer-use 插件通过复用本地已安装的 ChatGPT 桌面应用内置的 computer-use 运行时,将这一能力以插件形式接入 DSH,避免重复造轮子。

是什么

dsh-computer-use 是一个自包含的 DeepSeek Harness 插件,为智能体提供 computer use 能力:读取窗口、点击、输入文字并截屏,操控 macOS 上的任意桌面应用。它直接复用本机已安装的 ChatGPT 桌面应用自带的 computer-use 运行时,无需额外部署。插件通过 DSH 的工具注册机制暴露 js 与 js_reset 两个工具,让智能体能够调用这些能力。插件仅支持 Apple Silicon 版 macOS,DeepSeek Harness 版本要求为 >=0.2.1-rc.2 <0.3。

核心功能

  • 工具:提供 js 与 js_reset 两个工具,供智能体调用。
  • 能力:通过 computer-use 运行时,实现读取窗口、点击、输入文字、截屏等操作。
  • 依赖复用:使用本地 ChatGPT 桌面应用的 CUA 运行时,不下载、不修改该应用。
  • 权限与授权:应用授权通过 DSH 的提问卡片流转,每轮结束后自动清理上游状态。

工作原理

插件在 DSH 主进程(插件)中启动一个子进程,该子进程调用 ChatGPT 应用内的 cua_node/bin/node 运行时。启动流程包含以下步骤:

  1. resolveInstalledMacApp():校验 ChatGPT.app 的签名、团队、架构与清单文件。
  2. environment():构建 CUA REPL 的环境变量(NODE_REPL_* 与 SKY_*)。
  3. configureMacosLifecycle():用 runtime/macos_sky_service.mjs 包装 Sky,注入 turn-ended 回调。
  4. startOriginalHost():启动带有生命周期 socket 与控制桥接的 runtime/macos_host.mjs。
  5. spawn the original cua-repl.mjs:以继承 stdio 的方式启动原始 CUA REPL(MCP 服务器)。

插件随后通过 MCP 与 CUA REPL 通信,将 js / js_reset 工具注册到 DSH 工具注册表,将运行时指令注入系统提示,通过 DSH 的提问卡片转发原生应用授权,并在 DSH 的 turn/end 上结束上游轮次(Stop/Interrupt)。

配置

插件通过 cordis patch 插入一行配置:

appPath: /Applications/ChatGPT.app   # path to the installed ChatGPT app

该配置指定 ChatGPT 桌面应用在本机的路径,插件将在此路径下读取运行时。

依赖说明

插件 vendored 依赖 @modelcontextprotocol/sdk@1.30.0,位于 node_modules/ 目录。DSH 使用 link: 安装本地 bundle,不自动安装其 npm dependencies,因此需要将特定版本 SDK 链接并提交到仓库。如果通过 file: 安装或发布到 npm,package.json 中 dependencies 已声明正确版本。

适用场景与注意事项

  • 适用场景:需要在 DSH 工作流中调用计算机操作能力(如自动化测试、桌面应用辅助操作)的 Apple Silicon macOS 环境。
  • 注意事项:插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证。确保已安装官方 ChatGPT 桌面应用,且版本符合预期。

小结

dsh-computer-use 通过复用 ChatGPT 桌面应用内置的 computer-use 运行时,在 DeepSeek Harness 中为智能体提供了读取窗口、点击、输入与截屏的能力。它简化了本地运行时部署,专注于插件层面的集成与生命周期管理。项目仓库与目录页见下:

  • GitHub:https://github.com/Shang-ZZ/dsh-computer-use
  • 目录页:https://www.skillhub.cn/plugins/Shang-ZZ/dsh-computer-use
羽毛球分组比赛记分
小程序二维码

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

小夜