跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

桌面 Computer Use

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

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 可能不同。