Skip to main content

Bathys

Bathys

Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов. Это самостоятельный продукт, а не обёртка над чужими сервисами: Bathys реализует весь конвейер сам — метапоиск с дедупликацией и живучестью к блокировкам, двухъярусное извлечение (HTTP-движок по умолчанию, headless-браузер только для JS-страниц), пятистадийную дистилляцию под запрос с жёсткими бюджетами, TTL-кэш сырца, robots-этику, метрики и диагностику. Метапоиск и извлечение оформлены как сменные внутренние движки (SearXNG, Crawl4AI) — их можно заменить, продукт останется Bathys. Облачных квот нет; LLM внутри нет — синтез остаётся за вызывающим агентом, дистилляция детерминированная (BM25).

Сонар находит координаты, батискаф ныряет за полными текстами, дистиллятор поднимает на палубу только то, что отвечает на вопрос.

python version mcp license

⚡ Quick start

Три команды от чистой системы до работающего поиска (Python ≥ 3.10):

pip install bathys     # пакет: сервер + bathys setup/install/doctor
bathys setup          # браузер для JS-страниц → все найденные харнессы → субагент
bathys doctor         # самодиагностика стека

setup идемпотентен — повторный запуск ничего не ломает. SearXNG ставить руками не нужно: бэкенд поднимется сам при первом поиске (внешний инстанс → docker → нативный режим). Браузер нужен только для JS-страниц: обычные страницы Bathys читает собственным HTTP-движком, BATHYS_BROWSER=off отключает браузерный ярус полностью.

Альтернативные пути установки (npm, исходники, минимальные образы)

npm (Node-first окружения — обёртка ставит Python-пакет сама):

npm install -g bathys-mcp
bathys-mcp setup

Из исходников (разработка):

git clone https://github.com/Korrnals/bathys.git && cd bathys
python3.12 -m venv .venv && .venv/bin/pip install -e .
.venv/bin/bathys setup
.venv/bin/python -m unittest discover -s tests    # юнит-тесты без сети

В минимальном контейнерном образе без ensurepip venv собирается через get-pip.py — ветка в docs/getting-started/install.md.

🔌 Подключение к харнессу

Автоматически — весь стек: bathys setup (см. выше) прописывает сервер во все найденные харнессы.

Точечно — когда нужно именно здесь:

bathys install                  # автодетект всех установленных харнессов
bathys install hermes            # только Hermes (отсутствующий конфиг создастся)
bathys install --list            # все поддерживаемые таргеты
bathys install --print-config    # готовые блоки для ручной вставки

Детектируются zcode, Claude Code, Claude Desktop, Cursor, VS Code-семейство (Cline / Roo Code / Kilo Code), Gemini CLI, Windsurf, Zed, opencode, goose, Hermes; форматы каждого — свои (JSON-схемы и YAML-контуры goose/hermes), запись идемпотентна с бэкапом. Для Pi (badlogic pi-mono), у которого нет MCP-конфига, — дроп-ин в AGENTS.md. Кастомные интеграции — в каталоге integrations/.

Ручное подключение (когда правите конфиги сами)

Bathys — stdio MCP-сервер: блок mcpServers один и тот же везде, от харнесса зависит только файл, в который его кладут. command — абсолютный путь к бинарнику (~ внутри JSON не раскрывается); BATHYS_SEARXNG_HOME опциональна. Готовые блоки под каждый клиент: bathys install --print-config.

{
  "mcpServers": {
    "bathys": {
      "command": "/path/to/bathys",
      "env": { "BATHYS_SEARXNG_HOME": "/path/to/searxng-home" }
    }
  }
}
Харнесс Гайд
zcode docs/integrations/zcode.md
Claude Code / Claude Desktop docs/integrations/claude-code.md
Cursor docs/integrations/cursor.md
Любой другой MCP-клиент docs/integrations/generic-mcp.md

🧠 Научить агента работать эффективно

Конфиг — только половина дела. Из коробки харнесс получает instructions-playbook (матрицу выбора инструментов), annotations и три стратегии-промптаbathys_deep_research, bathys_source_audit, bathys_fresh_scan, — так что выбирает инструменты Bathys уже нативно. Сильнее — профиль: субагент agents/bathys-researcher.md с двумя скиллами, которому глубокий ресёрч делегируется целиком; для клиентов, не показывающих MCP instructions, — дроп-ин agents/HARNESS-DROPIN.md в AGENTS.md / CLAUDE.md / .cursor/rules.

Пошаговая инструкция «из коробки → субагент → дроп-ин» и таблица сигналов футеров — в «Живых кейсах», раздел C.

🧭 Ходовые кейсы

Сравнение технологий. «Сравни SQLite WAL и PostgreSQL под нагрузку — что выбрать в 2026?» → агент вызывает deep_research, доуточняет запрос терминами из найденного и верифицирует вывод по двум источникам. Итог: один вызов вместо цепочки «поиск + N чтений», в контекст попадает 7.5k символов вместо ~35k.

[bathys: 34 raw hits, top 8 considered · dove 3 pages · 35669 ch fetched → 7508 ch returned · 1.3s]

Аудит спорного утверждения. «Правда ли, что в X упали замеры?» → стратегия bathys_source_audit: пакетное чтение ссылок из обсуждения + кросс-поиск опровержений → вердикт по каждому тезису с URL. Битая ссылка стоит одну строку, а не сорванный вызов.

Свежий срез. «Что нового в Y за две недели?» → bathys_fresh_scan: поиск с time_range=week → пакетное чтение → сводка с датами; протухший cache HIT лечится одним refresh=true.

Все кейсы — пользовательские, автономных агентов и эксплуатация — с живыми диалогами и профитом каждого: «Живые кейсы» → docs/getting-started/cases.md.

🛠 Инструменты

Инструмент Что делает
deep_research(query, max_sources=3, …) ищет, параллельно читает топ-источники, возвращает слитый дистиллят под запрос. Первый вызов для любого ресёрч-вопроса.
web_search(query, max_results=8, …) ранжированный список ссылок со сниппетами без содержимого страниц; as_json=true — чистый JSON для программ.
read_url(url, query=None, max_chars=8000) читает одну страницу; с query — только релевантные пассажи.
read_urls(urls, query=None, total_chars=12000) пакетно читает до 10 известных страниц; бюджет делится между успешными, сбой страницы — одна строка, не сорванный вызов.

Поиск сужается общими фильтрами time_range, category, engines, language. Живой футер ответа показывает сжатие и кэш: [bathys: 41 raw hits, top 3 considered · dove 3 pages · 35669 ch fetched → 7508 ch returned · 3.2s].

📊 Экономия токенов

Шкала честная и символьная, токены ≈ chars/4; каждая цифра взята из футера реального вызова.

Вызов Из сети Агенту Сжатие
web_search 37 549 симв. 1 986 симв. 18.9×
read_url 17 063 симв. 2 325 симв. 7.3×
deep_research (3 страницы) 35 669 симв. 7 508 симв. 4.7×
  • Дистилляция под запрос — пять стадий очистки (JS-рендер → вырезание бойлерплейта → PruningContentFilter → схлопывание markdown → BM25-отбор пассажей) с жёсткими бюджетами символов.
  • Кэш сырца до дистилляции — SQLite хранит сырой текст, поэтому перечитать страницу под другим углом можно бесплатно и без сети.
  • Ноль облачных квотdeep_research заменяет цепочку «поиск + N чтений», то есть N+1 списаний квоты, одним локальным вызовом.

Методика и пороги — в docs/operations/metrics.md.

📚 Документация

Хаб с маршрутами «с чего начать» — docs/index.md.

docs/
├── index.md          # хаб: дерево + три маршрута чтения
├── getting-started/  # установка · конфигурация · подключение · живые кейсы
├── integrations/     # zcode · claude-code · cursor · generic-mcp
├── architecture/     # компоненты · конвейер очистки · потоки данных
├── contracts/        # инструменты · футеры · модули · конфиг (19 env)
├── operations/       # runbook · метрики токен-экономии
├── product/          # хартия · реестр функций · роадмап · конкуренты
├── adr/              # шесть принятых архитектурных решений
└── meta/             # стайлгайд · глоссарий

Вне docs/: agents/ (субагент bathys-researcher, скиллы, дроп-ин для харнессов) · integrations/ (кастомные интеграции: hermes, pi, zcode) · tests/ (юнит-тесты без сети) · scripts/ (smoke, stdio_check, метрики) · npm/bathys-mcp/ (NPM-обёртка) · CHANGELOG.md.

📍 Статус

0.7.0. Выпускная история: v0.2 «Качество выдачи» (ретраи, здоровье движков), v0.3 «Паритет с Tavily» (read_urls, JSON-режим), v0.4 «Эксплуатация» (robots-этика, метрики, bathys-doctor), v0.5 «Identity & Harness» (репозиционирование, промпты, субагент), v0.6 «Native Install» (bathys install) — итоги в CHANGELOG.md.

Репозиторий: github.com/Korrnals/bathys. До 1.0 остаются публикация пакета bathys на PyPI (имя свободно, публикация планируется к 1.0) и первый прогон Docker-образа; CI с matrix 3.10–3.12 уже в репозитории.

⚖️ Лицензия

MIT — см. поле license в pyproject.toml.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bathys-0.7.0.tar.gz (165.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bathys-0.7.0-py3-none-any.whl (55.2 kB view details)

Uploaded Python 3

File details

Details for the file bathys-0.7.0.tar.gz.

File metadata

  • Download URL: bathys-0.7.0.tar.gz
  • Upload date:
  • Size: 165.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for bathys-0.7.0.tar.gz
Algorithm Hash digest
SHA256 eb28904db88d3de0a2ee14e871f758c40a01c212d005126a82348d94634579e2
MD5 b4f6ad6eb30301cfe12a9736f63b1d60
BLAKE2b-256 fd5c79fdd6f40643d1249ef0c619b88c325033aea10c1241602468d0ec8cbcf8

See more details on using hashes here.

File details

Details for the file bathys-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: bathys-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 55.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for bathys-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94e3586adef9688a4ec45c1b0a725b4fc1c53e6fc0b522919d43fcf92b2202de
MD5 7439f5abe4db4f28ba28783eca8d3096
BLAKE2b-256 5700f2cef1e08705bd7ba61f09d52a0c9fa776a5eb0791859ae53327f71fe469

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.2

2 files

0.7.1

2 files

This release

0.7.0 This release

2 files

0.6.2

2 files

0.6.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page