Research Agent управляет Pastukhov Agent и тесно интегрирован с ним на уровне интерфейса: чаты агента, запуск задач и правка документов видны в том же окне, где живут исследования, — без десятка вкладок браузера.
Включение интеграции
Задайте переменные AGENT_API_URL и AGENT_API_KEY — обе вместе: URL вашего экземпляра Pastukhov Agent и его API-ключ. Без них функции интеграции скрыты и в интерфейсе не появляются.
Один помощник — несколько приложений. Research Agent не требует собственных ключей LLM и своих подписок: он работает через вашего Pastukhov Agent, который уже настроен — со своими моделями, навыками, хуками и проверками. Тот же агент может одновременно обслуживать и Analytics Agent, и другие приложения: вы управляете моделями и ключами один раз в центре, а все приложения пользуются ими автоматически.
Чаты агента
Отдельной страницы чатов нет: список чатов открывается панелью по кнопке «Чаты» внизу боковой панели — рядом с ней кнопка «Промпты» открывает общую очередь заданий. В панели — чаты агента с фильтрацией и постраничной выдачей, статусы обработки, прогресс и итоги по каждому чату; активные чаты с общим расходом токенов и стоимостью видны прямо в боковой панели. Чаты можно помечать метками — своими названиями, например по теме или проекту, — и фильтровать список по ним: «С метками», «Без меток» или конкретная метка. Метки создаются и изменяются через «Управление метками чатов» — так нужный чат не потеряется, даже когда чатов сотни. События транслируются в реальном времени через SignalR-мост: новое сообщение, смена статуса, таймеры и очередь сообщений чата обновляются на экране без перезагрузки. Сам чат открывается в выдвижной панели поверх списка.
Рядом с каждым сообщением — счётчик расхода: сколько «порций текста» (токенов) потрачено, сколько это стоит и с какой скоростью идёт обработка; подробная разбивка появляется по наведению. Статусы инструментов показываются по-русски — Читаю, Создаю, Ищу, Исполняю, Запускаю подагента… — и видно, чем агент занят прямо сейчас. У чата выбираются модель и навык, как у самого агента; после перезагрузки страницы состояние чата — заголовок, таймер, статус — восстанавливается. Изображения и файлы вставляются в сообщение прямо из буфера обмена.
Чат агента — не просто переписка. Кнопки в сообщениях работают прямо из Research Agent: нажатие выполняется, кнопка помечается нажатой, а кнопки с автонажатием срабатывают сами — с обратным отсчётом и возможностью отменить. Если агенту нужно уточнение, он задаёт вопрос карточкой с вариантами ответа: выбираете вариант — и работа продолжается. Сообщения с разметкой Telegram видны так, как их увидят подписчики: текст, наборы картинок и файлы. Диалог можно продолжить с любого сообщения — всё, что было после него, отбрасывается с подтверждением, а прежний ход работы сохраняется. Если работу запустил подагент, из заголовка чата открывается его собственный чат и обратно к основному. Список чатов обновляется сам: видно, когда чат сменил модель или навык.
Очередь промптов
Промпт — это просто текстовое задание агенту. Очередь промптов позволяет заранее набросать список таких заданий: агент сам отправит их по очереди, без ручной отправки каждого. Очередь одна на всех — ею пользуются и Research Agent, и интерфейс самого Pastukhov Agent, так что одни и те же строки видны и там, и там. Кнопка промптов стоит в правой части поля ввода сообщения в чате. Подробнее — в разделе Очередь промптов.
Голосовой ввод
Задание агенту можно надиктовать, а не печатать: в поле ввода сообщения есть кнопка микрофона. Распознанная речь появляется в сообщении текстом и уходит агенту как обычное сообщение. Подробнее — в разделе Голосовой ввод.
Мост событий
AgentBridgeService ретранслирует события агента в интерфейс: structuredEvent, messageUpdate, processingStateUpdate, timerUpdate, queueStatusUpdate и другие. queueStatusUpdate относится к очереди сообщений отдельного чата — это не очередь промптов, а сообщения, которые ждут обработки внутри чата. При обрыве связи мост переподключается автоматически — live-картина восстанавливается сама.
«Вызвать агента» из документа
На странице любого исследования кнопка ИИ открывает панель с промптом. При отправке промпт уходит в Pastukhov Agent ({AGENT_API_URL}/api/remote/chats), в него подставляется путь к документу — плейсхолдеры [path] и [url] резолвятся сервером. Модель выбирается из списка, который Research Agent берёт у самого агента, — с цветовой меткой модели; сами модели настраиваются в интерфейсе агента. Готовый чат открывается из интерфейса.
Обратное направление: agent API
Интеграция двусторонняя. Переменная RESEARCH_APP_HASH включает машинный интерфейс /api/agent/* для внешних агентов — включая Pastukhov Agent из другого проекта. Доступные команды: /api/agent/search (поиск), /api/agent/fetch (скачивание), /api/agent/extract (извлечение) — а также сессии и контентные API (chunk, links, markdown/clean, telegram/verify). Аутентификация — заголовок X-API-Key с тем же значением; без переменной API возвращает 503.
Тем же ключом внешняя автоматизация может управлять сервисами: через api/services/* доступны список и включение провайдеров — исследовательский сценарий сам включает нужную модель, если забыли сделать это вручную. Доступны и скрипты (api/scripts/*): их можно перечислить, проверить тестовым запуском и, если нужно, создать или заменить. Интерфейс это не меняет: в браузере вход по-прежнему по логину и паролю.
Готовое руководство для агента
Чтобы не объяснять связанному агенту вручную, как вести исследование через API, в поставке есть готовое руководство (навык): правила работы с поиском, скачиванием, извлечением и отчётами. Руководство поддерживает разработчик продукта и обновляет его вместе с приложением, так что агенту не приходится угадывать формы запросов. В образе лежат два варианта — на английском и на русском; русский вариант ориентирован на владельца, говорящего по-русски. Связанному агенту руководство подключается при развёртывании — отдельно его скачивать не нужно.
Статус agent API (включён/выключен, сам ключ не показывается) виден в Settings → Agent API.