
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-клиенты