Skip to main content
Glama
huiliyi37

dsh-computer-use-mcp

by huiliyi37

dsh-computer-use-mcp

Английский | 中文

Автономный сервер Model Context Protocol, предоставляющий автоматизацию графического интерфейса рабочего стола — «computer use» — для macOS и Windows. Любой MCP-хост может управлять им: DeepSeek Harness (dsh), Claude Code, Cursor и любой другой MCP-клиент.

Один инструмент, computer_use, с 23 действиями: снимки дерева доступности с нумерованными ссылками, клик / перетаскивание / ввод (CJK через буфер обмена) / горячие клавиши, запуск и фокусировка приложений, выбор пунктов меню, артефакты скриншотов и быстрый путь Chrome DevTools Protocol для вкладок браузера.

Возможности

  • Доступность в первую очередь — снимки возвращают нумерованное дерево; каждое последующее действие обращается к элементам по ссылке, а не по хрупким координатам.

  • Кроссплатформенность — macOS (AX API через AppleScript/JXA) и Windows (быстрый путь UIA3 COM с управляемым резервным вариантом).

  • Быстрый путь CDP для браузера — цели семейства Chrome автоматически переключаются на сеанс DevTools для мгновенных снимков и ввода, устойчивого к перекрытию (navigate / read_page / js_eval / tabs).

  • Скриншоты как артефакты изображений — модели зрения получают PNG; файлы сохраняются в CU_HOME для аудита.

  • Встроенные средства безопасности — статический защитный механизм перехватывает опасные скриптовые нагрузки; разрешения «всегда разрешать» для каждого приложения сохраняются в собственной таблице.

Установка

Node ≥ 20.

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

Подключение к вашему хосту

DeepSeek Harness (dsh)

dsh связывает MCP-серверы через @deepseek-ai/dsh-mcp-client. Передайте готовый оверлей в dsh/computer-use.cordis.yml:

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

Модель видит инструмент как mcp__computer-use__computer_use. См. dsh/README.md для смоук-тестов, доказывающих интеграцию без ключей.

Claude Code

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

Cursor / универсальный JSON mcpServers

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

Инструмент computer_use

Один инструмент, диспетчеризуемый по action. Полная JSON-схема поставляется в tools/list.

Группа

Действия

Чтение / проверка

check_permissions, list_apps, snapshot, find, wait_for, wait

Ввод

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

Приложение / окно

focus_app, launch_app, menu_select

Браузер (CDP)

navigate, read_page, js_eval, tabs, browser_adopt

Типичный цикл: snapshot → анализ нумерованного дерева → действие по ссылке (click {ref}) → обратная связь после действия повторно делает снимок и сообщает о различиях в интерфейсе.

Модель безопасности — прочтите перед включением

  • В MCP нет концепции одобрения: вызов инструмента выполняется немедленно. Включите слой одобрения / подтверждения инструментов вашего хоста; не предоставляйте полную автономию ненадёжным запросам.

  • danger-guard статически перехватывает опасные скриптовые нагрузки внутри реализации.

  • Разрешения «всегда разрешать» для каждого приложения сохраняются в CU_HOME (по умолчанию ~/.tianshu-computer-use/), отдельно от собственного хранилища разрешений хоста.

  • macOS: предоставьте терминалу (или приложению хоста), запускающему этот сервер, разрешения Accessibility и Screen Recording. Действие check_permissions само проверяет и сообщает, чего не хватает.

Переменные окружения

Переменная

Эффект

CU_HOME

Каталог данных для разрешений и артефактов скриншотов (по умолчанию ~/.tianshu-computer-use)

CU_SESSION_ID

Имя подкаталога артефактов для каждой сессии (по умолчанию mcp)

RIVET_CU_CDP=0

Отключить быстрый путь CDP для браузера

RIVET_CU_FEEDBACK=0

Отключить сводки обратной связи после действий

RIVET_CU_HOST=0

Отключить хост скриптов (канал macOS JXA / Windows PowerShell)

RIVET_CU_COM=0

Отключить быстрый путь Windows UIA3 COM (возврат к управляемому построителю)

Разработка

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 — это интеграционный смоук-тест без ключей против реальной композиции плагинов DeepSeek Harness — запустите его из deepseek-harness (инструкции).

Извлечено из huiliyi37/Tianshu-harness — репозитория harness tianshu (天枢). Реализация в impl/ является замороженным снимком его модуля computer-use; этот репозиторий теперь является источником истины для этого кода.

Лицензия

GNU AGPL-3.0 — доступный исходный код с сильным копилефтом: изменения, распространяемые или предоставляемые через сеть, должны быть опубликованы. Локальное использование с любого MCP-хоста не ограничено. Коммерческое лицензирование доступно по запросу.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors