Skip to main content
Glama
huiliyi37

dsh-computer-use-mcp

by huiliyi37

dsh-computer-use-mcp

English | 中文

Servidor independiente del Model Context Protocol que expone automatización de GUI de escritorio — "uso de computadora" — para macOS y Windows. Cualquier host MCP puede manejarlo: DeepSeek Harness (dsh), Claude Code, Cursor y cualquier otro cliente MCP.

Una sola herramienta, computer_use, con 23 acciones: instantáneas del árbol de accesibilidad con referencias numeradas, clic / arrastrar / escribir (CJK mediante portapapeles) / atajos de teclado, lanzamiento y enfoque de aplicaciones, selección de menú, artefactos de captura de pantalla y una ruta rápida del Chrome DevTools Protocol para pestañas del navegador.

Características destacadas

  • Accesibilidad primero — las instantáneas devuelven un árbol numerado; cada acción posterior se dirige a elementos por referencia, no por coordenadas frágiles.

  • Multiplataforma — macOS (API AX mediante AppleScript/JXA) y Windows (ruta rápida UIA3 COM con respaldo administrado).

  • Ruta rápida CDP del navegador — los objetivos de la familia Chrome cambian automáticamente a una sesión de DevTools para instantáneas en menos de un segundo y entrada a prueba de oclusión (navigate / read_page / js_eval / tabs).

  • Capturas de pantalla como artefactos de imagen — los modelos de visión reciben PNG; los archivos persisten bajo CU_HOME para auditoría.

  • Salvaguardas de seguridad integradas — un guardián de peligro estático intercepta cargas útiles de scripts peligrosos; los permisos "permitir siempre" por aplicación persisten en una tabla propia.

Instalación

Node ≥ 20.

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

Conéctalo a tu host

DeepSeek Harness (dsh)

dsh conecta servidores MCP a través de @deepseek-ai/dsh-mcp-client. Pasa la superposición lista para usar en dsh/computer-use.cordis.yml:

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

El modelo ve la herramienta como mcp__computer-use__computer_use. Consulta dsh/README.md para las pruebas de humo que demuestran la integración sin claves.

Claude Code

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

Cursor / JSON genérico de mcpServers

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

La herramienta computer_use

Una sola herramienta, despachada por action. El esquema JSON completo se envía en tools/list.

Grupo

Acciones

Leer / sondear

check_permissions, list_apps, snapshot, find, wait_for, wait

Entrada

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

App / ventana

focus_app, launch_app, menu_select

Navegador (CDP)

navigate, read_page, js_eval, tabs, browser_adopt

Bucle típico: snapshot → razonar sobre el árbol numerado → actuar por referencia (click {ref}) → la retroalimentación posterior a la acción vuelve a tomar una instantánea e informa el diff de la interfaz.

Modelo de seguridad — lee antes de habilitar

  • MCP no tiene concepto de aprobación: una llamada a herramienta se ejecuta inmediatamente. Habilita la capa de aprobación / confirmación de herramientas de tu host; no otorgues autonomía total a prompts no confiables.

  • danger-guard intercepta estáticamente cargas útiles de scripts peligrosos dentro de la implementación.

  • Permisos "permitir siempre" por aplicación persisten bajo CU_HOME (por defecto ~/.tianshu-computer-use/), separados del almacén de permisos de cualquier host.

  • macOS: otorga al terminal (o aplicación host) que ejecuta este servidor tanto los permisos de Accesibilidad como de Grabación de pantalla. La acción check_permissions se auto-sondea e informa qué falta.

Variables de entorno

Variable

Efecto

CU_HOME

Directorio de datos para permisos y artefactos de captura de pantalla (por defecto ~/.tianshu-computer-use)

CU_SESSION_ID

Nombre del subdirectorio de artefactos por sesión (por defecto mcp)

RIVET_CU_CDP=0

Deshabilita la ruta rápida CDP del navegador

RIVET_CU_FEEDBACK=0

Deshabilita los resúmenes de retroalimentación de UI posteriores a la acción

RIVET_CU_HOST=0

Deshabilita el host de scripts (canal macOS JXA / Windows PowerShell)

RIVET_CU_COM=0

Deshabilita la ruta rápida COM UIA3 de Windows (cae al constructor administrado)

Desarrollo

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 es una prueba de humo sin claves contra la composición real de plugins de DeepSeek Harness — ejecútala desde un checkout de deepseek-harness (instrucciones).

Extraído de huiliyi37/Tianshu-harness — el repositorio del harness tianshu (天枢). La implementación bajo impl/ es una instantánea congelada de su módulo computer-use; este repositorio es ahora la fuente de registro de ese código.

Licencia

GNU AGPL-3.0 — código fuente disponible con copyleft fuerte: las modificaciones distribuidas o servidas a través de una red deben compartirse. El uso local desde cualquier host MCP no tiene restricciones. Licencias comerciales disponibles bajo petición.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors