Research Agent управляет Pastukhov Agent и тесно интегрирован с ним на уровне интерфейса: чаты агента, запуск задач и правка документов видны в том же окне, где живут исследования, — без десятка вкладок браузера.
Включение интеграции
Задайте переменные AGENT_API_URL и AGENT_API_KEY — обе вместе: URL вашего инстанса Pastukhov Agent и его API-ключ. Без них функции интеграции скрыты и в интерфейсе не появляются.
Раздел Chats
Список чатов агента с фильтрацией и пагинацией, статусы обработки, прогресс и итоги по каждому чату. События транслируются live через SignalR-мост: новое сообщение, смена статуса, таймеры и очередь задач обновляются на экране без перезагрузки. Сам чат открывается в выдвижной панели (drawer) поверх списка.
Мост событий
AgentBridgeService ретранслирует события агента в интерфейс: structuredEvent, messageUpdate, processingStateUpdate, timerUpdate, queueStatusUpdate и другие. При обрыве связи мост переподключается автоматически — live-картина восстанавливается сама.
«Вызвать агента» из документа
На странице любого исследования кнопка ИИ открывает drawer с промптом. При отправке промпт уходит в Pastukhov Agent ({AGENT_API_URL}/api/remote/chats), в него подставляется путь к документу — плейсхолдеры [path] и [url] резолвятся сервером. Окружение исполнения (например, prod или staging) выбирается из /data/environments.txt; готовый чат открывается из интерфейса.
Обратное направление: agent API
Интеграция двусторонняя. Переменная RESEARCH_AGENT_API_KEY включает REST-поверхность /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.
Статус agent API (включён/выключен, сам ключ не показывается) виден в Settings → Agent API.