DOMShell

DOMShell

apirenoMIT
41 звёзд6 форков
DOMShell — Chrome-расширение и MCP-сервер, который соединяет AI-агентов с браузером через знакомую файловую систему. Вкладки и окна становятся директориями (`~/tabs/`), а кнопки, ссылки и поля ввода — файлами. Вместо скриншотов, пиксельных координат и хрупких CSS-селекторов сервер использует Accessibility Tree браузера. Дерево доступности (Accessibility Tree) содержит полную семантическую модель страницы: где кнопка, где ссылка, а где текстовое поле. DOMShell превращает эту модель в файловую систему. Команда `ls` показывает дочерние элементы, `cd` перемещает глубже в структуру, а `cat` читает текст. Клик по элементу работает как вызов программы по имени — `click submit_button`. Веб-автоматизация становится надёжнее. Не нужно писать адаптеры для каждого сайта — DOMShell работает везде, где есть Accessibility Tree. Разработчики AI-агентов и QA-инженеры получают детерминированный и быстрый инструмент для работы с любыми веб-интерфейсами.

Установка

npx -y @apireno/domshell

Характеристики

Общее

  • СтатусСообщество
  • Разработчикapireno
  • ЛицензияMIT

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • Навигация по вкладкам: `ls ~/tabs/` выводит список открытых вкладок, `cd ~/tabs/123` переключает активную вкладку.
  • Исследование страницы: команда `tree` выводит полную иерархию Accessibility Tree страницы.
  • Чтение контента: `cat` возвращает видимый текст элемента. Команда `text` собирает текст со всех потомков.
  • Поиск элементов: `find --type button --name "Login"` ищет по типу и тексту. `grep "цена"` фильтрует элементы по содержимому.
  • Ввод данных: `type "Hello world"` вводит текст в активное поле. `type --clear` очищает поле перед вводом.
  • Клики по элементам: `click` по имени файла или `click --index 2` для клика по порядковому номеру.
  • Скроллинг: команда `scroll` для прокрутки страницы внутри активной вкладки.
  • Поддержка нескольких агентов: один сервер обслуживает несколько AI-сессий в одном контексте браузера.

Как подключить

Установите расширение DOMShell из Chrome Web Store. Убедитесь, что расширение активно (пиктограмма в панели расширений).

Добавьте MCP-сервер в конфигурацию вашего клиента. Для Claude Desktop откройте файл claude_desktop_config.json и добавьте:

{ "mcpServers": { "domshell": { "command": "npx", "args": ["-y", "@apireno/domshell"] } } }

Перезапустите Claude Desktop (или другой MCP-клиент). Теперь AI-ассистент может управлять браузером как файловой системой.

Примеры запросов

  • «Открой новую вкладку, перейди на сайт github.com/apireno/DOMShell, выполни `tree` и покажи структуру страницы».
  • «Найди на странице форму поиска (`find --type combobox`), введи в неё текст "MCP automation" командой `type` и нажми Enter».
  • «Скопируй весь видимый текст из статьи в формате Markdown. Используй `cat` на корневом элементе страницы».
  • «Покажи список всех открытых вкладок (`ls ~/tabs/`) и переключись на вкладку с документацией React».

Технические детали

  • Язык: TypeScript
  • Транспорт: Stdio
  • Лицензия: MIT
  • Совместимые клиенты: Claude Desktop, Cursor, Cline, Continue.dev и любые другие MCP-клиенты

Поделиться