only-cli (oc)
only-cli
CLI oc превращает веб-страницу в компактный пронумерованный текст для ИИ-агента, чтобы документация и задачи не съедали контекст
- 547 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Ходит в сеть по любым публичным адресам, которые укажет агент, а часть команд обращается к публичным API вроде GitHub и Reddit
- Хранит сохраненные страницы и куки сеансов в `~/.only-cli`, причем куки открывают доступ к вашим аккаунтам на время их жизни
- Текст чужих страниц попадает в контекст агента и может содержать подсказки, оформленные как команды
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/only-cliОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Ходит в сеть по любым публичным адресам, которые укажет агент, а часть команд обращается к публичным API вроде GitHub и Reddit
- Хранит сохраненные страницы и куки сеансов в `~/.only-cli`, причем куки открывают доступ к вашим аккаунтам на время их жизни
- Текст чужих страниц попадает в контекст агента и может содержать подсказки, оформленные как команды
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
only-cli ставит в терминал команду `oc`, которая превращает сайт в интерфейс командной строки для ИИ-агента. Вызов `oc open <url>` загружает страницу и возвращает компактный вид с пронумерованными элементами и строкой доступных действий. Обычная страница весит десятки тысяч токенов разметки, а такой вид укладывается в бюджет около 500 токенов. Длинный материал oc не обрезает молча. Команды `oc find`, `oc read <n>` и `oc next` дочитывают остальное без повторной загрузки, `oc raw` отдает всю страницу в Markdown, а `oc do <n>` идет по ссылке под номером n. JSON API читается как страница: по записи на пункт, общие поля названы один раз. Запросы идут с отпечатком браузера Chrome через библиотеку impers. Если сайт отклоняет его, oc повторяет запрос с отпечатком Firefox и в последнюю очередь обычным запросом Node.js. Страницу без читаемого текста, например с одним JavaScript или баннером согласия, команда помечает кодом выхода 2 и не выдает заголовок за результат. Для популярных сайтов есть короткие команды вроде `oc hn top`, `oc gh repo <owner> <name>` и `oc npm pkg react`. Готовые записи охватывают Stack Overflow, Wikipedia и документацию языков программирования, полный список выводит `oc sites`. Для сайтов за входом `oc login` принимает ваши куки.
Для кого. Для разработчиков, которые просят Claude Code, Codex или Cursor читать документацию, задачи и пакеты и хотят, чтобы страницы не занимали контекст.
Подходит, если
- Агент ищет по документации MDN, Python или Node.js командами вроде `oc mdn search` и получает короткий список ссылок
- Проверка зависимости перед обновлением: `oc npm pkg react` возвращает версию, лицензию, движки и зависимости примерно в 70 токенов
- Вам нужно быстро просмотреть задачу, pull request, релизы или файл на GitHub командами `oc gh issue`, `oc gh pr` и `oc gh file`
- Задача связана с JSON API: каждая запись выводится одним пунктом, а повторяющиеся поля названы один раз
- Страница доступна только после входа, и вы передаете агенту свои куки командой `oc login` на ограниченное время
Не подходит, если
- Страница собирается целиком скриптами JavaScript: рендеринга скриптов в инструменте пока нет
- Нужно заполнять формы, нажимать кнопки или отправлять данные: команды `fill`, `submit` и `back` заявлены, но не реализованы
- Сайт отвечает проверкой на бота и не отдает ленту или открытые данные: такие страницы инструмент пока не читает
- Требуется смотреть на макет страницы: инструмент отдает текст и структуру, скриншотов нет
Пример запроса к агенту
Открой через oc страницу релизов нашего репозитория на GitHub, найди последние изменения в зависимостях и скажи, что поломало сборкуОграничения
- Проект ранний. Чтение работает и покрыто офлайн-тестами, запись и клики не реализованы. Рендеринга JavaScript нет, страницы за жесткой защитой от ботов могут отказывать.
- Нужен Node.js 20 или новее. На машине с OpenShift команда `oc` конфликтует с одноименной утилитой OpenShift: вызывайте только через `npx @only-cli/oc` или назовите псевдоним иначе.
- Адреса из частных и внутренних сетей инструмент не открывает. Прокси читается из переменных HTTP_PROXY и HTTPS_PROXY, схемы вроде socks5 не поддерживаются.
- Анонимный Reddit ограничивает частоту: вторая команда в течение тридцати секунд может вернуть 429. Доступность сайтов зависит от вашей сети, LinkedIn в России заблокирован.
- Куки по умолчанию живут один час, в одном хранилище сеанса не больше 50 кук.
Как отключить. Команда `npm uninstall -g @only-cli/oc` удаляет CLI. Сохраненные страницы и куки лежат в `~/.only-cli`: сеансы убирают командами `oc logout` и `oc session rm`, а всю папку можно удалить целиком. Плагин Claude Code снимается через `/plugin`.
Частые вопросы
Как поставить only-cli в Claude Code?
Скилл ставится командой `npx skills add https://github.com/only-cli/oc --skill web-browsing-cli`, плагин устанавливается командами `/plugin marketplace add only-cli/oc` и `/plugin install only-cli@only-cli`. Самый короткий путь: добавить в `CLAUDE.md` строку про запуск `npx @only-cli/oc open <url>` вместо загрузки сырого HTML.
Чем oc отличается от встроенных WebFetch и WebSearch?
oc отдает страницу в бюджете около 500 токенов, а встроенные инструменты оплачивают вес страницы целиком. На одиннадцати запросах по документации языков oc вышел на 21% дешевле WebFetch и на 34% дешевле WebSearch. Страницы cppreference, npm и Stack Overflow не открылись через WebFetch, oc прочитал все три.
Как oc читает страницы за входом?
Скопируйте заголовок Cookie из инструментов разработчика и передайте через stdin: `printf %s "session=..." | oc login --cookie - --domain example.com --expires 2h --session work`. Затем `oc open https://example.com/dashboard --session work`. Куки хранятся отдельным файлом с правами владельца и не попадают в вывод `--json`. Команда `oc logout work` стирает сеанс.
Почему oc завершился с кодом 2?
Страница вернулась без читаемого текста: она построена на JavaScript или закрыта баннером согласия. Код 2 отличается от остальных ошибок, а в режиме `--json` вердикт лежит в поле `empty`. Агент видит, что на странице пусто, и подключает браузер, только если это оправдано.
Что делать, если на машине уже есть oc от OpenShift?
Обе утилиты определяют команды login и logout по-разному, и та, что раньше стоит в PATH, перекрывает другую. Вызывайте only-cli через `npx @only-cli/oc` или назовите псевдоним глобальной установки иначе.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыПревращает любой сайт в команду и дает агенту работать в уже залогиненном браузере пользователя через Playwright
Настоящий браузер внутри терминала с CLI для агента: кодовый агент открывает сайты и взаимодействует с ними в той же вкладке
CLI и MCP-сервер, через которые агент управляет вашим настоящим Chrome с сохраненными входами: 103 команды к 36 сайтам и автоматизация браузера
Скилл веб-исследования: SearXNG ищет, Camofox читает страницы, CloakBrowser открывает сайты, которые проверяют посетителей
Плагин для Claude Code с MCP-сервером и семью скиллами: агент управляет настоящим браузером, написав код на Python
Консольный клиент Firecrawl со скиллами для агентов: поиск в сети, скрапинг, обход сайтов, карта URL, взаимодействие со страницами
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| only-cli (oc) (эта запись) | да | 547 | ||
| Fetcher MCP | нет | не нужна | 1 088 | MCP-сервер, который открывает страницы в безголовом Chromium через Playwright |
| webclaw | нет | не нужна | 2 407 | локальный инструмент на Rust для извлечения веб-контента и обхода сайтов |
Коротко о README
README начинается с примера вывода и установки, затем описывает подключение к агентам, команды и таблицу поддерживаемых сайтов. Разделы о сеансах, куки и прокси объясняют, где лежит состояние и какие адреса инструмент не открывает. В замерах на четырнадцати страницах oc тратит в 118 раз меньше токенов, чем сырой HTML, а в задачах целиком выигрыш составляет десятки процентов.