Либретто: Детерминированная генерация автоматизации браузера для ИИ-агентов программирования

Libretto — это набор инструментов для создания надёжных веб-интеграций, который предоставляет вашему агенту для написания кода живой браузер и эффективный по токенам CLI. Он переходит от AI-агентов времени выполнения, работающих как «чёрные ящики», к «AI времени разработки», где скрипты генерируются заранее в виде реального кода, который можно читать, изменять, версионировать и отлаживать.
Ключевые особенности и подход
Libretto использует гибридный подход, сочетая автоматизацию пользовательского интерфейса Playwright с прямыми сетевыми/API-запросами в рамках сессии браузера для повышения надёжности и обхода обнаружения ботами. Это решает ограничения инструментов AI времени выполнения, которые полагаются на пользовательский парсинг DOM, что может быть ненадёжным на старых или сложных веб-сайтах, таких как системы здравоохранения.
Инструмент был создан после года поддержки автоматизации браузера для интеграций с EHR и порталами плательщиков в стартапе в сфере здравоохранения, где отладка неудачных автоматизаций отнимала много времени. Он решает четыре основные проблемы инструментов AI времени выполнения:
- Зависимость от пользовательского парсинга DOM, который ненадёжен на сложных веб-сайтах
- Высокие затраты из-за множества вызовов AI и невозможности надёжно кэшировать действия
- Отсутствие интерпретируемости во время выполнения
- Ограниченная помощь в создании новых автоматизаций или отладке сбоев
Практическое использование
Установка выполняется через npm: npm install libretto. Первоначальная настройка требует: npx libretto setup, что устанавливает навык, загружает Chromium и фиксирует модель снимков по умолчанию. Вы можете проверить готовность рабочей среды с помощью npx libretto status и вручную изменить модель анализа снимков с помощью npx libretto ai configure <openai | anthropic | gemini | vertex>.
Libretto предназначен для использования в качестве навыка через вашего агента для написания кода с примерами запросов, включая:
- Генерация скрипта за один проход: «Используй навык Libretto. Зайди на LinkedIn и собери первые 10 постов на содержание, кто их опубликовал, количество реакций, первые 25 комментариев и первые 25 репостов.»
- Интерактивное создание скрипта: «Я покажу тебе рабочий процесс в EHR eclinicalworks, чтобы получить ID основного страхового полиса пациента. Используй навык libretto, чтобы превратить его в скрипт playwright, который принимает имя и дату рождения пациента на вход и возвращает ID страховки.»
- Преобразование автоматизации браузера в сетевые запросы: «У нас есть браузерный скрипт в ./integration.ts, который автоматизирует переход на Hacker News и получение первых 10 постов. Преобразуй его в скрипты прямых сетевых запросов.»
- Исправление сломанных интеграций: «У нас есть браузерный скрипт в ./integration.ts, который должен заходить на Availity и выполнять проверку права на получение услуг для пациента. Но при запуске я получаю ошибку сломанного селектора. Исправь это.»
CLI также можно использовать напрямую с командами, такими как npx libretto open <url> для запуска сессий. Все команды принимают --session <name> для указания конкретных сессий.
Дополнительные функции включают запись ручных действий пользователя, чтобы помочь агентам генерировать и обновлять скрипты, пошаговую отладку, опциональный режим только для чтения, чтобы предотвратить случайную отправку или изменение данных агентами, и генерацию кода, следующего существующим абстракциям и соглашениям в вашем репозитории кода.
📖 Read the full source: HN AI Agents
👀 Смотрите также

Марми: Самостоятельно Размещаемая Платформа для Удаленного Управления ИИ-Агентами Программирования
Marmy — это фреймворк с открытым исходным кодом, лицензированный по MIT, созданный на основе Claude Code, который позволяет разработчикам управлять ИИ-агентами для написания кода и сессиями tmux через мобильное приложение. Он включает в себя агент на Rust для рабочих машин и приложение на React Native для удалённого управления.

Навыки Claude незаметно переопределяют инструкции: выявлены недокументированные подводные камни
Пользователь обнаружил, что навыки Claude незаметно навязывают жесткие ограничения на ввод пользователя через `ask_user_input_v0` (макс. 3 вопроса, по 4 варианта), `Write` перезаписывает файлы, в то время как `create_file` отказывается это делать на Claude.ai, а относительные пути в `references/` не разрешаются. Репозиторий сообщества собирает находки.

CK Search: Локальный инструмент семантического поиска с интеграцией сервера MCP
CK Search — это локальный инструмент семантического поиска со встроенным MCP-сервером, который индексирует любые текстовые каталоги без зависимости от облачных сервисов. Инструмент может использоваться ИИ-агентами через MCP, а исходный материал содержит практическое руководство по настройке, преимуществам и ограничениям в сравнении с grep.

ClawControl 1.7.1 улучшает надежность передачи сообщений и поддержку медиа для OpenClaw.
ClawControl 1.7.1 исправляет несколько проблем на стороне клиента, включая накопление текста, фантомные сообщения и проблемы с обработкой медиа. Обновление сохраняет совместимость с OpenClaw до версии 3.28.