description: "通过原生 npm SDK 运行 Cua Driver 的电脑操作工具,持久化截图,并明确主机桌面权限要求。"
English | 中文
使用 Cua Driver 检查和操作桌面窗口,无需安装其独立 CLI 或应用。原生 npm 依赖在 DSH 主机进程内运行,提供 Cua Driver 自己的工具。截图通过持久化附件传给支持图像的模型。此实验性软件包会发布到 npm,需要启动主机的桌面权限,并且必须在组合配置中显式启用。
在已经提供工具注册表和系统提示词的组合中挂载此提供者。
- name: '@deepseek-ai/dsh-computer-use'
- name: '@deepseek-ai/dsh-experimental-computer-use-cua-driver-native'
此提供者没有配置字段。它加载 package.json 声明的确切 Cua Driver npm 版本,并采用其进程内默认配置。原生模块导入、运行时初始化、目录格式、工具重名或电脑操作注册冲突会使激活失败,并回滚所拥有的资源。注册的提供者名称为 cua-driver-native。
挂载附件存储并使用明确声明支持图像输入的模型路由,才能接收截图。MCP 结果适配器 负责图像接纳和诊断行为;模型无法接收图像时,程序调用方仍保留规范原始结果。调用采用 Cua Driver 上游的工具参数和结果。
原生依赖通过 npm 可选依赖提供各平台二进制文件,因此必须保留可选依赖安装。请向启动 DSH 的应用授予桌面权限;此提供者既不安装独立持有权限的应用,也不更改操作系统授权。原生运行时与主机共享进程,因此原生崩溃可能终止该进程。如果需要由独立的 Cua Driver 应用持有权限并执行操作,请使用已安装的 MCP 提供者。
在仓库根目录运行这项显式启用的检查,验证已安装的原生依赖。它发现工具、通过 prompt: false 读取权限状态,并验证卸载;它不截图、不发送输入,也不请求操作系统权限。清除 NODE_USE_ENV_PROXY 可防止 Node 在测试初始化之前采用启动 shell 的代理设置。
env -u NODE_USE_ENV_PROXY DSH_COMPUTER_USE_NATIVE_E2E=1 node node_modules/vitest/vitest.mjs run --config vitest.e2e.config.ts packages/experimental/computer-use-cua-driver-native/tests/native.e2e.ts
在原生工具挂载期间,此提供者加入以下电脑操作指导文本。
Cua Driver native computer-use tools operate the host desktop. Discover the exact app and window, then get a fresh window snapshot before acting. Use element_token from that snapshot, or coordinates from its screenshot. A new snapshot of that window invalidates its earlier element tokens. Select either target or the legacy pid/window_id fields; do not combine them.
Prefer background delivery. A refusal does not authorize a foreground retry. Verify the requested outcome from fresh state after an action; a delivered click alone does not prove the outcome. After cancellation, inspect current state before retrying because completed input is not rolled back. Other sessions and applications may change the same desktop.
On macOS, cursor-overlay operations may return facility_unavailable even when screenshots and input work.
提供者挂载期间,这段固定指导文本增加系统提示词 token。上游指导资源不会自动加载。
指导文本不变时,其重复提示词前缀保持稳定。挂载、移除或编辑它会改变此前缀,并可能减少缓存复用。
工具名称使用 cua_driver_native__ 前缀并附加上游名称,保留上游描述和输入 schema。上游工具拒绝转为工具错误。支持的截图作为持久化图像引用出现在结果文本旁;程序调用方仍可读取规范原始结果。
发现的目录为每个请求加入工具定义。无障碍树、结果文本和获准接纳的截图增加每次调用的上下文。原始 base64 保留在执行期间的规范值中,不复制到模型历史。
目录不变时,工具定义前缀保持稳定。工具结果追加到 Session 历史。替换提供者或其目录会改变模型可见工具,并可能减少前缀复用。
此软件包保留上游驱动的平台和应用限制。
facility_unavailable,同时截图和后台输入仍可用。