Skip to main content
Glama
dsh-computer-use-mcp

dsh-computer-use-mcp

by huiliyi37

dsh-computer-use-mcp

English | 中文

Eigenständiger Model Context Protocol-Server, der Desktop-GUI-Automatisierung – „Computer Use" – für macOS und Windows bereitstellt. Jeder MCP-Host kann ihn ansteuern: DeepSeek Harness (dsh), Claude Code, Cursor und jeder andere MCP-Client.

Ein einziges Tool, computer_use, mit 23 Aktionen: Accessibility-Baum-Snapshots mit nummerierten Referenzen, Klicken / Ziehen / Tippen (CJK über die Zwischenablage) / Hotkeys, App-Start & -Fokus, Menüauswahl, Screenshot-Artefakte und ein Chrome-DevTools-Protocol-Schnellpfad für Browser-Tabs.

Highlights

  • Accessibility-first – Snapshots liefern einen nummerierten Baum; jede nachfolgende Aktion adressiert Elemente per Referenz, nicht über fragile Koordinaten.

  • Plattformübergreifend – macOS (AX-API via AppleScript/JXA) und Windows (UIA3-COM-Schnellpfad mit verwaltetem Fallback).

  • Browser-CDP-Schnellpfad – Ziele der Chrome-Familie wechseln automatisch zu einer DevTools-Sitzung für Snapshots unter einer Sekunde und verdeckungssichere Eingaben (navigate / read_page / js_eval / tabs).

  • Screenshots als Bild-Artefakte – Vision-Modelle erhalten PNGs; Dateien bleiben unter CU_HOME für das Audit erhalten.

  • Eingebaute Sicherheitsvorkehrungen – eine statische danger-guard fängt gefährliche Skript-Payloads ab; „Immer erlauben"-Berechtigungen pro App bleiben in einer eigenen Tabelle erhalten.

Installation

Node ≥ 20.

npm install -g dsh-computer-use-mcp   # then run: dsh-computer-use-mcp
# or one-shot:
npx -y dsh-computer-use-mcp

An Ihren Host anbinden

DeepSeek Harness (dsh)

dsh verbindet MCP-Server über @deepseek-ai/dsh-mcp-client. Übergeben Sie das fertige Overlay in dsh/computer-use.cordis.yml:

dsh --profile <name> --patch /path/to/dsh-computer-use-mcp/dsh/computer-use.cordis.yml

Das Modell sieht das Tool als mcp__computer-use__computer_use. Siehe dsh/README.md für die Smoke-Tests, die belegen, dass die Integration ohne Schlüssel funktioniert.

Claude Code

claude mcp add computer-use -- npx -y dsh-computer-use-mcp

Cursor / generisches mcpServers-JSON

{
  "mcpServers": {
    "computer-use": { "command": "npx", "args": ["-y", "dsh-computer-use-mcp"] }
  }
}

Das computer_use-Tool

Ein einziges Tool, das über action ausgelöst wird. Das vollständige JSON-Schema wird über tools/list ausgeliefert.

Gruppe

Aktionen

Lesen / Prüfen

check_permissions, list_apps, snapshot, find, wait_for, wait

Eingabe

click, double_click, right_click, scroll, drag, type, set_value, key, paste_text

App / Fenster

focus_app, launch_app, menu_select

Browser (CDP)

navigate, read_page, js_eval, tabs, browser_adopt

Typischer Ablauf: snapshot → über den nummerierten Baum nachdenken → per Referenz handeln (click {ref}) → das Feedback nach der Aktion erstellt erneut einen Snapshot und meldet die UI-Differenz.

Sicherheitsmodell – vor dem Aktivieren lesen

  • MCP hat kein Freigabekonzept: Ein Tool-Aufruf wird sofort ausgeführt. Aktivieren Sie die Tool-Freigabe- / Bestätigungsebene Ihres Hosts; gewähren Sie unvertrauenswürdigen Prompts keine pauschale Autonomie.

  • danger-guard fängt gefährliche Skript-Payloads innerhalb der Implementierung statisch ab.

  • „Immer erlauben"-Berechtigungen pro App bleiben unter CU_HOME (Standard ~/.tianshu-computer-use/) erhalten, getrennt vom eigenen Berechtigungsspeicher des Hosts.

  • macOS: Gewähren Sie dem Terminal (oder der Host-App), das diesen Server ausführt, sowohl Bedienungshilfen als auch Bildschirmaufnahme-Berechtigungen. Die Aktion check_permissions prüft sich selbst und meldet, was fehlt.

Umgebungsvariablen

Variable

Effekt

CU_HOME

Datenverzeichnis für Berechtigungen und Screenshot-Artefakte (Standard ~/.tianshu-computer-use)

CU_SESSION_ID

Artefakt-Unterverzeichnisname pro Sitzung (Standard mcp)

RIVET_CU_CDP=0

Deaktiviert den Browser-CDP-Schnellpfad

RIVET_CU_FEEDBACK=0

Deaktiviert UI-Feedback-Zusammenfassungen nach Aktionen

RIVET_CU_HOST=0

Deaktiviert den Skript-Host (macOS-JXA- / Windows-PowerShell-Kanal)

RIVET_CU_COM=0

Deaktiviert den Windows-UIA3-COM-Schnellpfad (fällt auf den verwalteten Builder zurück)

Entwicklung

npm install
npm run build                      # tsup → dist/index.js
npm run smoke                      # SDK-client stdio smoke (tools/list + wait)
node integration/verify-server.mjs # zero-dependency JSON-RPC smoke

integration/dsh-smoke.ts ist ein schlüsselloser Integrations-Smoke-Test gegen die echte Plugin-Komposition von DeepSeek Harness – führen Sie ihn aus einem deepseek-harness-Checkout aus (Anleitung).

Extrahiert aus huiliyi37/Tianshu-harness – dem tianshu-Harness-Repository (天枢). Die Implementierung unter impl/ ist ein eingefrorener Schnappschuss seines computer-use-Moduls; dieses Repository ist jetzt die maßgebliche Quelle für diesen Code.

Lizenz

GNU AGPL-3.0 – Quellcode verfügbar mit starkem Copyleft: Änderungen, die verteilt oder über ein Netzwerk bereitgestellt werden, müssen geteilt werden. Lokale Nutzung über jeden MCP-Host ist uneingeschränkt. Kommerzielle Lizenzen auf Anfrage erhältlich.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors