Skip to main content

Bathys

Bathys

Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов. Один процесс владеет всем конвейером — поиск → извлечение → дистилляция под запрос → кэш — и всей стратегией ресёрча: что искать, какие страницы читать, сколько вернуть. Агент видит лишь интерфейс из четырёх MCP-инструментов; SearXNG и Crawl4AI работают внутри как сменные движки. Облачных квот и API-ключей нет, LLM внутри нет — дистилляция детерминированная (BM25).

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

python version mcp license

⚡ Quick start

Из PyPI (основной путь — Python ≥ 3.10):

pip install bathys                        # сервер + команды bathys/bathys-doctor
python -m playwright install chromium     # браузер для извлечения
bathys install                            # автоподключение к найденным харнессам
bathys-doctor                             # диагностика стека одним запуском

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

npm install -g bathys-mcp
bathys-mcp install

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

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

В минимальном контейнерном образе без ensurepip venv собирается через get-pip.py — ветка в docs/getting-started/install.md. SearXNG поднимать руками не нужно: при первом поиске сервер сам пробует внешний инстанс, затем docker/podman, затем нативный режим (docs/getting-started/configure.md).

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

Автоматически. Одна команда найдёт харнессы по стандартным путям, пропишет сервер с бэкапом конфига и (с --with-agent) скопирует субагента:

.venv/bin/bathys install            # сначала --dry-run, чтобы увидеть план

Детектируются 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. Поддерживаются --print-config (готовые блоки для ручной вставки) и --searxng-home <путь>; кастомные интеграции — в каталоге integrations/.

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

{
  "mcpServers": {
    "bathys": {
      "command": "/path/to/bathys/.venv/bin/bathys",
      "env": {
        "BATHYS_SEARXNG_HOME": "/path/to/bathys/.runtime/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.6.2. Выпускная история: 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.6.2.tar.gz (161.1 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.6.2-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bathys-0.6.2.tar.gz
Algorithm Hash digest
SHA256 03b83edb87e64e5e718fc8a3c5b18491caaa1609f977415687095a9fee8e5265
MD5 d699473a4635b22d6837d345887ac66b
BLAKE2b-256 09f036ff4d1ab656932822d44813783b07ca27e517634ad777560c7164286b39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bathys-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 51.7 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.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 348e1531a1ad7484938c359621d4995a9526aa171e882717324b22d3e3d15dc4
MD5 194243d9c3490b767c9af1d8b264bd04
BLAKE2b-256 ab3b4a136bc504ea05bf756bb653d3fe20244f0a4ae4f9dd9deb04200c89d2ca

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

This release

0.6.2 This release

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