AI-агент для веб-поиска и анализа информации с использованием Brave Search MCP и обогащения текстов через Trafilatura.
Агент работает в интерактивном интерфейсе Gradio, позволяет задавать вопросы и получать структурированные ответы с источниками.
- Подключение к нескольким LLM-провайдерам:
- Асинхронный веб-поиск через Brave MCP.
- Автоматическое обогащение результатов поиска (Trafilatura).
- Сохранение результатов в
results.jsonс дедупликацией. - Удобный веб-интерфейс на Gradio:
- чат-окно (по умолчанию высота 800px),
- кнопка очистки истории,
- кнопка проверки статуса агента.
Скриншот: пример работы агента через Gradio.
-
Клонируйте репозиторий:
git clone https://github.com/yourname/web_search_agent.git cd web_search_agent -
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # macOS / Linux venv\Scripts\activate # Windows
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте
.envфайл и добавьте ключи:BRAVE_API_KEY=ваш_ключ OPENAI_API_KEY=ваш_ключ OPENROUTER_API_KEY=ваш_ключ DEEPSEEK_API_KEY=ваш_ключ
python -m app.agentПо умолчанию приложение запускается на порту 7860:
👉 http://localhost:7860
Основные настройки находятся в config/settings.py:
FILESYSTEM_PATH— директория для работы с файлами через MCP.MODEL_PROVIDER— какой LLM использовать (ollama,openai,openrouter,deepseek).TEMPERATURE,ANSWER_MAX_TOKENS— параметры генерации.
app/
├── agent.py # Gradio-приложение
├── main.py # Логика FileSystemAgent
├── utils/
│ ├── logging.py # Логирование (Loguru)
│ ├── content.py # Trafilatura
│ ├── storage.py # Сохранение результатов поиска
│ └── tools.py # Обёртка MCP-инструментов
└── ...
- Запустите приложение.
- Задайте вопрос, например:
Какие главные инсайты по GEO за последний месяц? - Агент выполнит поиск, извлечёт описания статей и вернёт структурированный список с источниками.
- Добавить выбор модели в интерфейсе Gradio.
- Сохранять историю чата в файл.
- Добавить авторизацию по токену при деплое.
MIT

