by Battam1111 (community) Claude Desktop, Claude Code, OpenCode, Python 3.11+, macOS, Linux
Self-hosted MCP-сервер восприятия: транскрибирует речь, читает за логинами, видит изображения и кадры видео, работает через языки, запоминает — то, что обычный поиск не находит.
Даёт Claude (или любой LLM) возможность реально «посмотреть» видео — scene-aware дедуплицированные кадры + транскрипт, из …
MCP-сервер для доступа к актуальной документации библиотек прямо в контексте LLM. Вместо устаревших обучающих данных — …
Официальный MCP от команды Chrome DevTools: дает AI-агентам полный доступ к инструментам разработчика браузера. Автоматизация через …
Официальный MCP-сервер от Microsoft для управления браузером через Playwright. Использует accessibility tree вместо скриншотов — быстрее, …
# Docker (рекомендуется) git clone https://github.com/Battam1111/omniseek.git && cd omniseek docker compose up -d docker compose logs omniseek # bearer token printed on first start curl -s http://127.0.0.1:8765/healthz # Без Docker python -m venv .venv && . .venv/bin/activate scripts/bootstrap.sh python -m omniseek.serve_http
Ваш агент находит то, чего не может найти поиск.
Ответ прячется на 47-й минуте подкаста, на три ответа вглубь ветки комментариев, за логином, на другом языке. Ваш агент всё равно его достанет.
Самостоятельно размещаемый MCP-сервер восприятия · одно подключение
Быстрый старт · Инструменты · Настройка · Участие в разработке
Языки: Английский · Китайский · Японский
Поиск даёт вашему агенту проиндексированные страницы — на одном языке, в виде текста — и на этом останавливается.
OmniSeek даёт ему органы чувств, чтобы идти дальше: сквозь языки, логины, ветки комментариев, аудио и пиксели — и всё это на вашей машине.
Что вернул каждый слой, дословно:
Обычный поиск процитировал правило и остановился. Люди, прожившие это, держали в руках таймлайны, обходной путь и риск. OmniSeek также назвал источники, которые придержал, — для каждого указан точный вызов, чтобы добраться до него.
Он слышит (локальный двуязычный ASR, без облака), видит (изображения и видеокадры, в самом потоке данных), переходит через языки (запрос на китайском находит результаты на английском и наоборот), читает за стенами логинов (ваши учётные данные, ваша машина, по умолчанию выключено) и помнит (стойкая память поиска плюс типизированный граф доказательств с привязкой к источникам).
Переход между языками опирается на индекс, который OmniSeek строит по мере использования, поэтому свежая установка стартует с нижней планки. Опубликованные тесты проверки утверждений выполняются именно на такой свежей установке, что делает их межъязыковой показатель самым холодным случаем, а не типичным.
Каждый источник в каталоге — курируемом перечне всего, до чего может дотянуться OmniSeek, — заслужил своё место тем, что обыграл обычный поиск в одной из пяти задач (структура, обход стен, транскрибация, полнота, мониторинг): графы цитирований, регуляторные отчёты, форумы за логином, видео на китайском языке. И каталог устроен так, чтобы расти: конвейер-куратор проверяет, оценивает и принимает новые источники, а те, что приходят в упадок, выводит из состава.
Разобранные примеры, реальные результаты · Полное кейс-исследование · Каждое утверждение выше — это тест (последние результаты) · Состояние источников, обновляется еженедельно
git clone https://github.com/Battam1111/omniseek.git && cd omniseek
docker compose up -d
docker compose logs omniseek # bearer token printed on first start
curl -s http://127.0.0.1:8765/healthz
При успешном выполнении возвращается:
{"ok":true}
Укажите вашему MCP-клиенту адрес http://127.0.0.1:8765/mcp с заголовком Authorization: Bearer <token>. Токен генерируется при первом запуске и сохраняется в ~/.omniseek/credentials/omniseek_http.json (при использовании compose-файла — это ./.omniseek/credentials/omniseek_http.json на хосте).
Дальше два пути. Готовый базовый образ (docker pull ghcr.io/battam1111/omniseek, amd64 + arm64) не требует сборки и несёт все базовые «чувства»; он чист с точки зрения лицензии Apache и поставляется без чтения PDF, слуха (ASR + видеокадры) и источников за логином. Желание получить эти дополнения как раз и запускает локальную сборку: задайте EXTRAS="[pdf,asr,walled]" и выполните docker compose build, затем up -d (первая сборка также загружает headless Chromium; последующие запуски мгновенны). Опционально, но рекомендуется: задайте OMNISEEK_CONTACT_EMAIL для ускоренного канала с Crossref, SEC и Unpaywall.
python -m venv .venv && . .venv/bin/activate
scripts/bootstrap.sh
python -m omniseek.serve_http
Базовая установка — это уровень Core: все API без ключей и статические источники, чтение документов без PDF и лексический индекс памяти. Команда pip install "omniseek[pdf,asr,recall,ocr]" пробуждает уровень Research (PDF, слух, кросс-языковые векторы, OCR); omniseek[walled] добавляет уровень источников за логином, который остаётся выключенным, пока вы не подключите собственные аккаунты; omniseek[all] берёт всё. При каждом запуске сервер печатает, какие «чувства» онлайн, а какие спят.
В Windows запускайте bootstrap.sh под Git Bash или WSL; Docker — самый простой путь. Для постоянно работающего Linux-сервиса см. deploy/omniseek.service.
Предпочитаете stdio? В комплект установки также входит команда omniseek, которая говорит на MCP через stdio — для клиентов, запускающих серверы самостоятельно; Dockerfile.stdio оборачивает то же самое в контейнер.
OmniSeek привязывается к 127.0.0.1 и требует bearer-токен в каждом запросе. Не выставляйте его наружу без обратного прокси (SECURITY.md).
Одно MCP-соединение; внутри нет модели и нет агентного цикла. Ваша модель думает, ваш харнесс ведёт цикл, а OmniSeek добывает. Начните с omniseek_search; посмотрите, что доступно, через omniseek_sources.
| Инструмент | Что делает |
|---|---|
omniseek_search |
Раскидывает запрос по всему каталогу, дедуплицирует, ранжирует. Кросс-языковый (семантический + лексический). |
omniseek_read |
Нормализует любой URL или документ (веб-страница, PDF, arXiv) в чистый текст. |
omniseek_view |
Читает изображения, иллюстрации документов, видеокадры с помощью зрения. |
omniseek_transcribe |
Транскрибирует аудио/видео локально. Двуязычный ASR, можно нарезать по таймкодам. |
omniseek_field_skeleton |
Строит карту цитатного окружения научной области: фундаментальное ядро против фронтира. |
omniseek_resolve_identity |
Сопоставляет имя человека с кандидатами ID авторов в разных базах данных. |
omniseek_coauthors |
Строит карту сети соавторств исследователя по числу совместных публикаций. |
omniseek_institution_cohort |
Перечисляет, кто активно публикуется в лаборатории, с ограничением по области. |
omniseek_paper_enrich |
PDF открытого доступа, статус отзыва/добросовестности, число цитирований статьи. |
omniseek_paper_recommend |
Семантически похожие статьи (эмбеддинги SPECTER), которые пропускает поиск по ключевым словам. |
omniseek_graph |
Запросы к накопленному графу свидетельств: поиск, окрестность, между узлами, начиная с даты, похожие. |
omniseek_sensor |
Постоянно действующие запросы с определением новизны. Сообщает только о том, что нового. |
omniseek_ruling |
Записывает суждения об идентичности (совпадает/не совпадает), которые граф применяет во время чтения. |
omniseek_statement |
Записывает направленные связи, которые граф сохраняет и переносит дальше. |
omniseek_curator_act |
Жизненный цикл источника: подача, проверка, оценка, допуск, вывод из эксплуатации. |
omniseek_curator_view |
Читает очередь допуска источников или аудиторское досье по конкретному источнику. |
omniseek_gather |
Запускает несколько инструментов параллельно, один ответ. |
omniseek_sources |
Список и маршрутизация: домены, регионы, возможности, работоспособность. |
Уровень «за логином» не имеет собственного инструмента: когда вы включаете его для конкретного источника, тот же вызов omniseek_search(..., sources=["xiaohongshu"], raw=True) выполняется через ваш собственный браузер, где выполнен вход. См. источники за логином.
Полный справочник в tools.md · FAQ
Пользуетесь Claude Code? skills/omniseek-investigate содержит методологию расследования (широкий охват, фокусировка, структурирование) в виде готового навыка.
OmniSeek устроен по принципу «сначала каталог»: без конфигурации все легитимные источники включены, а источники за логином выключены. Вся настройка — в одном файле, ~/.omniseek/profile.json (пример):
| Уровень | По умолчанию |
|---|---|
| бесплатный (публичный, без ключа) | вкл |
| по ключу (бесплатный или платный API-ключ, который вы предоставляете) | вкл, как только задан ключ |
| за логином (учётная запись, которая есть у вас) | выкл; используется ваш собственный браузер |
| обходной | выкл; в наборе по умолчанию таких нет |
Полный справочник: конфигурация · источники за логином · правовая позиция
Облака OmniSeek не существует. Ни телеметрии, ни аккаунтов, ни посредников: запрос покидает вашу машину только в виде прямых обращений к включённым вами источникам, и OmniSeek не добавляет в этот путь никаких третьих сторон. Учётные данные источников за логином остаются в вашем собственном браузере и предъявляются только тому сайту, которому принадлежат; OmniSeek никогда не хранит, не выгружает и даже не видит ваши пароли. Накопленная за месяцы память поиска и граф доказательств — это локальные файлы, принадлежащие вам: перестаньте запускать OmniSeek, и всё останется при вас. Это не переключатель функции. Это архитектура.
См. CONTRIBUTING.md. Планка для нового источника: он должен превосходить обычный веб-поиск за счёт одного из режимов (структура / обход входа / транскрипция / восстановление / мониторинг). Планка для починки деградировавшего источника: низкая, пожалуйста, чините. Перед пушем запускайте python tests/smoke.py.
Участвуя в проекте, вы соглашаетесь с Кодексом поведения.
Ваш агент ищет то, что не может найти поиск.