Skip to Content
BenutzerhandbuchFunktionenComputer Use

Computer Use

Qwen Code verfügt über einen computer-use-Skill, der dem Modell beibringt, wie man Desktop-Anwendungen bedient, über zwei separat installierte Pakete:

bundled computer-use skill -> @qwen-code/node-repl-mcp -> @qwen-code/cua-sdk/computer-use -> native cua-driver accessibility backend

Qwen Code bündelt nicht den MCP-Server, das SDK oder den nativen Treiber. Der Skill installiert die externen Pakete automatisch, wenn sie fehlen.

Warning

Computer Use kann Anwendungs-UIs lesen und Maus- und Tastatureingaben steuern. Verwende es nur in vertrauenswürdigen Umgebungen und prüfe MCP-Genehmigungen sorgfältig.

Automatisches Setup

Node.js 22 oder später und npm werden benötigt.

Bei der ersten Verwendung führt der Skill diese Befehle selbst aus:

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

Starte Qwen Code neu, nachdem der MCP-Server erstmals hinzugefügt wurde. Der Skill setzt dann die Desktop-Aufgabe über node_repl fort.

Die SDK-Installation lässt package.json und die Lockdatei unverändert, schreibt aber in das node_modules des Workspace. Sein Postinstall lädt die native Payload für die aktuelle Plattform herunter und verifiziert sie.

Das Entfernen der MCP-Konfiguration oder der Workspace-SDK-Installation deaktiviert den Ausführungspfad; es gibt kein Legacy-Fallback.

Verwendung

Bitte Qwen Code, $computer-use für die Desktop-Aufgabe zu verwenden. Nach dem Bootstrap verwendet es den App-Workflow unter macOS:

  1. Bindet die Anwendung mit computer.getApp(nameOrIdentifierOrPath);
  2. Liest app.getState() für kompakten Accessibility-Text, gefolgt von automatischen inkrementellen Updates;
  3. Führt eine oder mehrere Aktionen über die kurzen Element-IDs in diesem Text aus;
  4. Ruft den neuesten Zustand ab, bevor entschieden wird, was als Nächstes zu tun ist; und
  5. Schließt den SDK-Client und setzt das REPL nur zurück, wenn kein anderer persistenter Zustand benötigt wird.

Der Driver ist die einzige Komponente, die Beobachtungs-Diffs berechnet. Modell-Code verwendet die typisierten SDK-Methoden und dispatcht keine beliebigen Driver-Tool-Namen. Das App-Handle verfolgt das aktuelle Fenster und Dialoge, behält die native Element- Identität intern und delegiert Eingaben an den nativen Driver. Modell-Code wählt keine Foreground/Background-Modi. Unbestätigte Aktionen werden nicht replayed. getState() kann eine entdeckte gestoppte App öffnen; Aktionen starten sie nie neu. Vorhandene Exact-Window-APIs bleiben unter Windows und Linux verfügbar.

const app = await computer.getApp('Microsoft Excel'); nodeRepl.write((await app.getState()).text); // Use an element ID from the returned state. await app.click(37); await app.typeText('hello'); nodeRepl.write((await app.getState()).text);

Aktualisiere den Zustand nach dem Öffnen oder Schließen eines Dialogs, bevor Element-IDs wiederverwendet werden. Jeder App-Zustands-Refresh erfasst intern den aktuellen Screenshot. Die Standard-Rückgabe hält ihn verborgen; fordere ihn explizit mit app.getState({ includeScreenshot: true }) an, wenn das Modell das Bild benötigt.

Berechtigungen

Das Node REPL ist ein MCP-Server, der vom Modell verfasstes JavaScript mit normaler Node.js-Autorität ausführt. Seine Aufrufe folgen dem normalen MCP-Genehmigungsfluss von Qwen Code. Das SDK erzwingt zusätzlich native Autorisierung.

Unter macOS erfordern Accessibility-Beobachtung und Eingabe eine Accessibility-Berechtigung. Screenshots erfordern zusätzlich Screen Recording-Berechtigung. macOS kann die Genehmigung dem Terminal oder der IDE zuordnen, das Qwen Code gestartet hat. Windows und Linux verwenden ihre plattformeigenen Accessibility- und Eingabe-Mechanismen.

Fehlerbehebung

  • Wenn node_repl nach dem automatischen Setup weiterhin nicht verfügbar ist, starte Qwen Code neu und verifiziere den Server mit qwen mcp list.
  • Wenn der SDK-Import nach dem automatischen Setup weiterhin fehlschlägt, stelle sicher, dass Qwen Code in dem Workspace läuft, in dem das Paket installiert wurde.
  • Nach einem Timeout, Abbruch, Reset oder Kernel-Crash, bootstrape den SDK Client erneut und fordere frischen Zustand an.

Siehe auch

Last updated on