Skip to content
FunCoding

Search

Search docs, Skills and MCP

桌面 Computer Use

了解外部包安装、原生权限、状态刷新和远程会话借用本机桌面。

This page has not been translated into English yet. The original Chinese version is shown below.

computer-use Skill 通过 Node REPL MCP、CUA SDK 和原生可访问性驱动操作桌面。Qwen 本体不附带这些执行组件;首次缺失时,Skill 会执行安装流程。

首次配置会写入什么

要求 Node.js 22 及以上和 npm。核验日官方给出的自动配置命令是:

qwen mcp add --scope user node-repl npx -y @qwen-code/node-repl-mcp@0.1.7
npm install --no-save --package-lock=false @qwen-code/cua-sdk@0.20.11

首次添加 MCP 后需要重启,随后通过 node_repl 继续桌面任务。SDK 安装不修改 package.json 或 lockfile,但会写工作区 node_modules,postinstall 下载并校验当前平台原生载荷。卸掉 MCP 配置或工作区 SDK 后执行链不可用,没有旧版回退路径。

这些是功能的实际安装行为,不是本页阅读后已经完成的环境配置。

每次根据最新界面行动

请求 $computer-use 处理任务后,macOS 路径先用 computer.getApp(nameOrIdentifierOrPath) 绑定应用,再通过 app.getState() 读取可访问性文本,使用返回的短元素 ID 操作。

打开或关闭对话框后重新读状态,不沿用旧 ID。应用 handle 跟踪当前窗口和对话框,驱动负责增量差异;模型调用 SDK 类型化方法,不随意发送底层驱动工具名,也不自己选择前台/后台输入模式。

getState 可以打开已发现但停止的应用,动作本身不会重启应用。未确认成功的动作不会自动重放。超时、取消、reset 或 REPL 崩溃后,应重新建立 SDK client 并获取新状态。

每次状态刷新内部捕获截图,但默认不返回给模型;需要图像时显式 app.getState({ includeScreenshot: true })。Windows、Linux 仍保留精确窗口 API,不能直接套用所有 macOS 工作流细节。

权限

Node REPL 可执行模型编写的 JavaScript,具有普通 Node.js 权限,调用遵循 MCP 审批。SDK 还检查原生授权。

macOS 可访问性观察与输入要求 Accessibility,截图另需 Screen Recording;系统可能把授权归到启动 Qwen 的终端或 IDE。Windows、Linux 使用各自平台设施。应用能被发现不代表已获得输入或截图权限。

从远程会话使用当前电脑

当前 desktop relay 适用于 macOS。按官方流程在本机安装:

npx -y @qwen-code/node-repl-mcp@0.1.7 desktop-relay install

它把 REPL 与 SDK 放到 ~/.qwen/desktop-relay,注册 127.0.0.1:47821 的 launchd socket,连接到来时才启动短命进程,并非持续后台执行器。

远端 daemon 需 QWEN_SERVE_CLIENT_MCP_OVER_WS=1;Web Shell 必须 HTTPS 或通过 SSH 隧道访问 localhost。会话侧栏选择 Use this computer,再 Connect this computer,每次连接都在本机显示批准对话框。

批准的远程会话可以按本机权限运行代码、查看和控制屏幕,直到断开或会话结束。首次 macOS 授权可能显示 node;授权主体和原有本地 CLI 可能不同。