DSH 电脑控制:Playwright/CDP 后台操作 Chromium,Accessibility 优先控制 macOS;动作锁定到正确进程与窗口,不抢前台、不移动鼠标,提供已签名公证的 Universal 2 DMG 安装包。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ZRui-C/dsh-computer-use
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
安装
Homebrew
brew tap zrui-c/tap
brew trust zrui-c/tap
brew install --cask dsh-computer-use
open -a "DSH Computer Use"
DMG
- 从 Releases 下载最新版
DSH-Computer-Use-*-universal.dmg。 - 将 DSH Computer Use 拖入“应用程序”并打开。
两种方式都需要按设置中心引导授权“辅助功能”和“屏幕录制”,在“DSH 插件”一行点击“安装”,然后重启正在运行的 DSH Host。
Homebrew Cask 与官方 DMG 安装的是同一份 Universal 2 App,均经过 Developer ID 签名和 Apple 公证。普通用户不需要安装 Xcode、Swift,也不需要下载源码;系统中需要已有 DSH 和 Google Chrome。
能做什么
| 控制面 | 感知 | 输入 |
|---|---|---|
| Chromium | Playwright、CDP Accessibility/DOM、frame、标签页、可选 OCR | 基于 ref 的导航、鼠标、键盘、表单、滚动、拖拽、上传 |
| macOS | Accessibility 树优先,Vision OCR 补语义,独立窗口捕获 | AX 语义动作、定向 SkyLight/CoreGraphics,无目标时才用全局 HID |
每次动作都会返回新的、有预算上限的文本观察。模型读取 role、name、value、状态、几何和稳定 snapshot ref,不会假装自己能看懂截图。页面文字与 OCR 内容统一视为不可信 UI 数据。
macOS 后台控制
- 每个动作贯通 PID、WindowServer window ID、AX 窗口 frame 和元素身份。
- 坐标输入前优先尝试 AX 语义动作。
- 支持时把鼠标和键盘事件直接投递到目标进程/窗口。
- 使用可穿透的软件光标;定向动作不移动物理鼠标。
- 即使其他 App 保持前台,动作后观察仍锁定上一个目标窗口。
- 私有能力不可用时回退公开 CoreGraphics,或明确失败关闭。
平台边界
ScreenCaptureKit 是公开 API。可选的后台输入路径会动态加载 SkyLight 私有符号,适合 Developer ID 分发,不适合 Mac App Store。私有 API 不受 Apple 支持,macOS 升级后可能变化。
在 macOS 26 上,Stage Manager 可能只向 WindowServer 暴露架上窗口的缩略图;为这种表示创建捕获 filter 甚至可能在 SkyLight 内直接 abort。DSH Computer Use 会先比较 AX 与 WindowServer 几何,避开崩溃路径,保留 AX 观察并返回明确 warning,绝不会把缩略图拉伸成伪造的全窗口截图。
DSH 集成
App 内嵌包已在 package.json 声明 DSH bundle。设置中心执行的官方命令等价于:
dsh plugin --profile web add --save-exact file:/path/to/DSH\ Computer\ Use.app/Contents/Resources/Plugin
cordis.patch.yml 会安装 Host runtime,并将 computer_observe / computer_action 注册到 DSH 的 global tool layer,由所有 agent preset 继承。不要求用户手改 profile YAML 或复制 preset。设置中心会识别旧版“只有 dependency、没有启用 bundle”的状态并提供修复。安装、修复或升级后需要重启正在运行的 DSH Host。
从源码构建
要求:macOS 14+、Xcode/Swift 5.9+、Node.js 22+、pnpm 11+、DSH 和 Google Chrome。
pnpm install
pnpm run typecheck
pnpm run test
pnpm run test:native
pnpm run build
pnpm run build 生成:
native/macos-helper/dist/DSH Computer Use.app
默认构建 Universal 2。本地快速迭代可只编译当前架构:
COMPUTER_USE_ARCHS=arm64 pnpm run build
生成本地拖拽安装 DMG:
pnpm run package:dmg
公开发布需要 Developer ID Application 证书和 Apple 公证。完整的本地与 GitHub Actions 流程见 documentation/distribution.zh.md。
工具协议
computer_observe 返回 browser 或 desktop 的 interactive、full、changes 文本快照,支持 query 过滤和 auto | always | never OCR。
computer_action 每次只执行一个浏览器或桌面动作,并返回动作后的语义状态。ref/坐标动作必须携带最新 snapshot_id;过期目标会失败关闭并要求重新观察。上传文件严格限制在当前 DSH Session workspace 内。
项目资料
社区
- GitHub Discussions — 提问、分享用法、反馈想法
- DeepSeek Harness Discord — 更大的 DSH 生态
- 觉得好用就点个 Star ⭐,让更多人发现它
项目采用 Apache-2.0 许可证。本项目不受 Apple 背书;“DeepSeek”等名称归各自权利人所有,本文仅用于说明与 DeepSeek Harness/DSH 的兼容关系。
链接
同类插件
liustack/modlens★ 1252
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
Anionex/dsh-vision-toolkit★ 317
让纯文本模型更好地做视觉任务:带意图的图片问答、长截图 OCR、UI 还原等。
zhaoolee/notes★ 138
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。
liustack/modsearch★ 88
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。
Lum1104/dsh-browser★ 88
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
taxueseek/argo★ 69
专为 agent 打造的搜索工具:多语言,覆盖中文/英文/学术/代码/购物/金融/新闻/百科。