База знаний
OpenCLI — превращает любой сайт в CLI для ИИ-агентов
OpenCLI превращает сайты в команды терминала и даёт ИИ-агенту работать в вашем залогиненном Chrome: установка, скиллы, адаптеры, форматы и лимиты.
СейчасЧто такое OpenCLI
- Что такое OpenCLI
- Три сценария, ради которых его ставят
- Что нужно заранее
- Установка
- Первые команды
- Как это используют ИИ-агенты
- Свои команды: пять путей
- Форматы вывода и коды выхода
- Полезные переменные окружения
- Что ещё умеет из коробки
- Риски, о которых стоит подумать заранее
- Проверка, что всё работает
- Ссылки
- Следующий шаг
- Связанные материалы
OpenCLI — открытый инструмент, который превращает сайты в команды терминала и позволяет ИИ-агенту работать в вашем уже залогиненном Chrome. Вместо хрупких скриптов и ручного парсинга вы получаете предсказуемые команды вида opencli hackernews top, а агент — набор примитивов для навигации, кликов, заполнения форм и извлечения данных.
Что такое OpenCLI
OpenCLI — это три части: CLI на Node.js, небольшой локальный демон и расширение Browser Bridge для Chrome или Chromium. Демон запускается сам, когда нужен, и связывает терминал с вашим реальным браузером: команды выполняются в той же сессии, где вы уже авторизованы, поэтому не нужно хранить логины отдельно и поднимать headless-браузер. Это не средство обхода защит: там, где сайт требует капчу или блокирует автоматизацию, ограничение остаётся.
Проект развивает jackwener, лицензия Apache-2.0, репозиторий создан в марте 2026 года и на момент проверки собрал около 27 500 звёзд. Пакет публикуется в npm как @jackwener/opencli.
Три сценария, ради которых его ставят
| Сценарий | Что происходит |
| Готовые адаптеры | Более сотни сайтов уже описаны командами: Reddit, HackerNews, Twitter/X, LinkedIn, Amazon, Bilibili, Zhihu, Xiaohongshu и другие |
| Браузер для агента | Скилл opencli-browser даёт агенту (Claude Code, Cursor и аналоги) примитивы навигации, кликов, ввода и извлечения данных на любой странице |
| Свои адаптеры и хаб CLI | Вы пишете собственные команды под нужный сайт или подключаете уже установленные бинарники (gh, docker, vercel, tg, ntn) через единую точку входа |
Что нужно заранее
Установка
Вариант A — приложение OpenCLIApp. Рекомендуемый путь для macOS и Windows: приложение приносит с собой runtime, следит за обновлениями, держит команду opencli в системе и даёт трей с настройкой, диагностикой, обновлениями, поддержанием сессии логина и конвертацией страниц в Markdown. Скачивается с opencli.info/download, после установки в разделе System ставится или чинится сама команда.
Вариант B — глобальный npm-пакет. Подходит для серверов и CI:
node --version
npm install -g @jackwener/opencliДальше ставится мост в браузер — расширение OpenCLI из Chrome Web Store. Если нужен ручной способ, берёте архив opencli-extension-v{version}.zip из релизов на GitHub, распаковываете, открываете chrome://extensions, включаете режим разработчика и загружаете распакованную папку.
Проверка связки:
opencli doctorЕсли профилей Chrome несколько, каждому соответствует свой экземпляр расширения. Профили удобно назвать и выбрать рабочий:
opencli profile list
opencli profile rename <contextId> work
opencli profile use workС одним подключённым профилем OpenCLI берёт его автоматически. С несколькими и без выбранного по умолчанию он не угадывает, а спрашивает.
Первые команды
opencli list
opencli hackernews top --limit 5
opencli reddit hot --limit 5opencli list показывает всё, что зарегистрировано в системе: встроенные адаптеры, ваши локальные команды, плагины и внешние бинарники.
Как это используют ИИ-агенты
Браузерные команды задуманы не для ручного набора, а для агента. Скиллы ставятся одной командой:
npx skills add jackwener/opencliИли выборочно, если не нужен весь набор:
npx skills add jackwener/opencli --skill opencli-browser
npx skills add jackwener/opencli --skill opencli-adapter-author| Скилл | Когда нужен |
opencli-browser | Разовые задачи в живой странице: открыть, заполнить форму, кликнуть, забрать данные |
opencli-adapter-author | Написать переиспользуемый адаптер для нового сайта или добавить команду к существующему |
opencli-autofix | Починить сломавшийся встроенный адаптер, когда сайт изменил вёрстку или ответы |
opencli-browser-sitemap | Вести агента по карте сайта, а не вслепую перебирать элементы |
opencli-sitemap-author | Зафиксировать найденный рабочий маршрут по сайту в знание для будущих запусков |
opencli-usage | Быстрый справочник по командам и поддерживаемым сайтам |
После установки агент сам вызывает нужные команды: открывает URL, читает страницу структурированным DOM-снимком (не скриншотом), кликает, вводит текст, ждёт элементы, перехватывает сетевые ответы. Вы описываете задачу словами.
Набор браузерных примитивов: open, state, click, type, fill, select, keys, wait, get, find, extract, frames, screenshot, scroll, back, eval, network, работа с вкладками и close.
opencli browser обязателен позиционный параметр сессии сразу после browser, например opencli browser work open https://example.com. Сессия держит вкладку до явного close или очистки по простою.Свои команды: пять путей
| Задача | Путь |
| Держать свои команды в собственном Git-репозитории | opencli plugin create и затем opencli plugin install file://... |
| Быстро набросать приватный адаптер на этой машине | opencli browser init <site>/<command> |
| Локально доработать официальный адаптер | opencli adapter eject <site>, вернуть обратно — opencli adapter reset <site> |
| Поставить чужой набор команд | opencli plugin install github:user/repo |
| Обернуть уже установленный бинарник | opencli external register <name> |
Типичный цикл создания адаптера выглядит так: разведка страницы, поиск реального эндпоинта, выбор способа авторизации, разбор полей ответа и проверка результата.
opencli browser recon analyze https://example.com/list
opencli browser recon init example/top
opencli browser recon verify example/topЗнание о сайте сохраняется локально в ~/.opencli/sites/<site>/, поэтому следующий адаптер для того же сайта пишется уже с контекстом. Готовую команду проверяет opencli browser verify <site>/<command>; аргументы и фикстуры берутся из ~/.opencli/sites/<site>/verify/, а для первого запуска их можно задать флагами --write-fixture --seed-args.
opencli doctor предупреждает, когда видит такое затенение.Форматы вывода и коды выхода
Все встроенные команды поддерживают флаг --format (он же -f) со значениями table (по умолчанию), json, yaml, md и csv.
opencli reddit hot -f json
opencli reddit hot -f csv
opencli reddit hot -vКоды выхода следуют unix-соглашению sysexits.h, так что в CI и скриптах можно ветвиться по причине сбоя.
| Код | Значение |
0 | Успех |
66 | Пустой результат |
69 | Browser Bridge недоступен |
75 | Таймаут |
77 | Требуется авторизация |
78 | Ошибка конфигурации |
130 | Прервано пользователем |
Полезные переменные окружения
| Переменная | Зачем |
OPENCLI_PROFILE | Какой профиль Chrome использовать, когда подключено несколько |
OPENCLI_WINDOW | Окно на переднем плане или в фоне (foreground / background) |
OPENCLI_BROWSER_CONNECT_TIMEOUT | Сколько секунд ждать подключения браузера, по умолчанию 45 |
OPENCLI_BROWSER_COMMAND_TIMEOUT | Таймаут одной браузерной команды, по умолчанию 60 секунд |
OPENCLI_CDP_ENDPOINT | Подключение к удалённому браузеру или Electron-приложению по CDP |
OPENCLI_CDP_TARGET | Фильтр CDP-целей по подстроке URL, когда открыто несколько окон |
OPENCLI_VERBOSE | Подробный лог, эквивалент флага -v |
Что ещё умеет из коробки
- Хаб для локальных CLI. Через
opencliможно вызыватьgh,docker,vercel,wrangler,obsidian,ntn(Notion),tg,discordи свои зарегистрированные бинарники. - Десктопные адаптеры. Через CDP поддерживаются Electron-приложения: Cursor, Codex, ChatGPT App, Discord и другие.
- Загрузка контента. Скачивание картинок, видео, статей и транскриптов с части площадок; для видео нужен установленный
yt-dlp. - Плагины сообщества. Отдельные пакеты вроде агрегаторов трендов ставятся командой
opencli plugin install.
Риски, о которых стоит подумать заранее
Второй риск — промпт-инъекции: агент читает содержимое страницы, а страница может содержать инструкции. Не отправляйте агента с широкими правами на незнакомые сайты и просите подтверждение перед действиями, которые что-то меняют или отправляют.
Проверка, что всё работает
opencli doctor не показывает ошибок подключения к расширениюopencli list выводит список командopencli hackernews top --limit 5 возвращает данныеopencli profile list показывает нужный профиль Chrome, и он выбран по умолчаниюopencli-browser установлен и агент вызывает браузерные команды самСсылки
- Репозиторий: github.com/jackwener/OpenCLI
- Загрузка приложения: opencli.info/download
- Пакет в npm: @jackwener/opencli
- Расширение: Chrome Web Store
- Руководство по расширению возможностей: docs/guide/extending-opencli.md
- Полный список сайтов и команд: docs/adapters/index.md
Данные проверены по репозиторию и документации проекта 3 августа 2026 года.
Следующий шаг
Если цель — не разовые команды, а поток данных для агента, дальше логично посмотреть, как собранное отдаётся в Codex: Как собрать данные с сотен сайтов конкурентов и подать их в Codex
Связанные материалы
OpenCLI хорошо ложится в контур, где у агента уже есть скиллы, доступы и источники данных.
Статья: Мои Codex skills: как мы собираем дисциплину для ИИ-агента
Блог: ChatGPT Work теперь заходит в сервисы под вашим логином
База знаний: XCrawl — AI-скрейпинг и веб-данные для ИИ-агентов
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
Минимальный набор команд терминала, который нужен разработчику, продакту или аналитику в повседневной работе: навигация, файлы, процессы, git и быстрые лайфхаки.