bathys 0.6.2__tar.gz → 0.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bathys-0.6.2 → bathys-0.7.0}/.remember/logs/memory-2026-09-08.log +32 -0
- bathys-0.7.0/.remember/tmp/no-transcript-notice +1 -0
- {bathys-0.6.2 → bathys-0.7.0}/CHANGELOG.md +15 -0
- {bathys-0.6.2 → bathys-0.7.0}/PKG-INFO +36 -22
- {bathys-0.6.2 → bathys-0.7.0}/README.md +35 -21
- {bathys-0.6.2 → bathys-0.7.0}/docs/contracts/config.md +1 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/getting-started/configure.md +1 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/.remember/logs/memory-2026-09-08.log +5 -0
- {bathys-0.6.2 → bathys-0.7.0}/pyproject.toml +1 -1
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/__init__.py +1 -1
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/config.py +2 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/core.py +1 -1
- bathys-0.7.0/src/bathys/crawler.py +205 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/installer.py +102 -17
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/server.py +12 -7
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_installer.py +5 -3
- bathys-0.6.2/.remember/tmp/no-transcript-notice +0 -1
- bathys-0.6.2/src/bathys/crawler.py +0 -104
- {bathys-0.6.2 → bathys-0.7.0}/.github/workflows/ci.yml +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.gitignore +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/.gitignore +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/logs/hook-errors.log +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/logs/memory-2026-09-06.log +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/logs/memory-2026-09-07.log +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/tmp/capture-gap-skipped +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/tmp/case-divergence +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/tmp/post-tool-ran +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/.remember/tmp/session-slug +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/Dockerfile +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/LICENSE +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/agents/HARNESS-DROPIN.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/agents/bathys-researcher.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/agents/skills/bathys-deep-dive/SKILL.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/agents/skills/bathys-source-audit/SKILL.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0001-python-crawl4ai.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0002-pin-mcp-sdk-v1.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0003-self-managed-searxng.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0004-bm25-distillation.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0005-cache-raw-before-distill.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/adr/0006-three-tool-string-surface.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/architecture/data-flow.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/architecture/overview.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/architecture/pipeline.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/assets/banner.svg +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/contracts/mcp-tools.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/contracts/module-contracts.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/contracts/output-format.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/getting-started/cases.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/getting-started/install.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/getting-started/integrate.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/index.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/integrations/claude-code.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/integrations/cursor.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/integrations/generic-mcp.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/integrations/overview.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/integrations/zcode.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/meta/glossary.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/meta/style-guide.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/operations/metrics.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/operations/runbook.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/charter.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/competitive.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/features.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/mind-initiative.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/ocr-initiative.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/docs/product/roadmap.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/README.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/hermes/README.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/hermes/install.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/pi/README.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/pi/assets/bathys-rules.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/integrations/zcode/README.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/.remember/.gitignore +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/.remember/logs/hook-errors.log +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/.remember/tmp/no-transcript-notice +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/.remember/tmp/post-tool-ran +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/README.md +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/bin/cli.js +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/bin/postinstall.js +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/npm/bathys-mcp/package.json +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/scripts/acceptance_v02.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/scripts/batch_check.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/scripts/metrics_report.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/scripts/smoke.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/scripts/stdio_check.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/batch.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/cache.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/compose.yaml +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/distill.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/doctor.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/searx.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/searxng-settings.yml +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/src/bathys/services.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_batch.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_cache.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_config.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_core.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_distill.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_searx.py +0 -0
- {bathys-0.6.2 → bathys-0.7.0}/tests/test_v04.py +0 -0
|
@@ -163,3 +163,35 @@
|
|
|
163
163
|
12:45:40 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
164
164
|
12:45:43 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
165
165
|
12:45:47 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
166
|
+
12:45:52 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
167
|
+
12:46:09 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
168
|
+
12:47:02 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
169
|
+
12:47:14 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
170
|
+
12:47:17 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
171
|
+
12:47:20 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
172
|
+
12:47:25 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
173
|
+
12:47:31 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
174
|
+
12:47:50 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
175
|
+
13:37:33 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
176
|
+
13:37:33 [hook] session-start: capture-gap check skipped — no session_id on stdin
|
|
177
|
+
13:54:37 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
178
|
+
13:54:37 [hook] WARNING: no session dir for this project: /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/-var-home-abyss-LABs-MCP-deepreserch (slug of /var/home/abyss/LABs/MCP/deepreserch). Memory cannot save until it matches a directory under /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/
|
|
179
|
+
13:54:43 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
180
|
+
13:54:59 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
181
|
+
13:55:07 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
182
|
+
13:55:17 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
183
|
+
13:55:27 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
184
|
+
13:55:33 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
185
|
+
13:56:11 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
186
|
+
13:56:25 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
187
|
+
13:56:37 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
188
|
+
13:56:50 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
189
|
+
13:56:58 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
190
|
+
13:57:00 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
191
|
+
13:57:08 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
192
|
+
13:57:16 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
193
|
+
13:57:22 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
194
|
+
13:57:36 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
195
|
+
13:57:42 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
196
|
+
13:57:52 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
197
|
+
13:58:04 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1788864877
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Формат: Keep a Changelog; версии — semver. Дата — дата выпуска версии.
|
|
4
4
|
|
|
5
|
+
## [0.7.0] — 2026-09-08
|
|
6
|
+
|
|
7
|
+
Тема: «Ship & Setup» — двухъярусное извлечение без обязательного браузера и модульная установка.
|
|
8
|
+
|
|
9
|
+
### Добавлено
|
|
10
|
+
|
|
11
|
+
- **Двухъярусное извлечение** (`crawler.py`): по умолчанию страницы читает собственный HTTP-движок (httpx, миллисекунды, ноль браузера); headless-Chromium включается автоматически только когда страница — JS-оболочка (детект: app-root-разметка, пустое тело, экранирование контента) или HTTP-ярус не смог. Замеры: Wikipedia 0.61 c, GitHub 1.0 c по HTTP против ~4–5 c с браузером. `BATHYS_BROWSER=off|auto|always` управляет режимом; браузер больше не обязательная зависимость запуска — `bathys setup` ставит его для JS-страниц, но сервер работает и без него.
|
|
12
|
+
- **`bathys setup`** — полная установка одним вызовом: браузерный движок (пропускается по `--skip-browser`) → интеграция всех найденных харнессов → субагент → итоговые подсказки. Идемпотентен; после `pip install bathys` пользователю достаточно `bathys setup`.
|
|
13
|
+
- **Точечная установка `bathys install <HARNESS>`**: `bathys install hermes` пишет только Hermes, отсутствующий конфиг целевого харнесса создаётся с нуля (проверено: opencode-конфиг создан в его формате); `--list` печатает все таргеты с их путями и статусом; неизвестное имя — понятная ошибка.
|
|
14
|
+
|
|
15
|
+
### Изменено
|
|
16
|
+
|
|
17
|
+
- README: идентичность переписана («самостоятельный продукт, а не обёртка над чужими сервисами: реализует весь конвейер сам»); основной путь установки — `pip install bathys` + `bathys setup`, альтернативы (npm, исходники, минимальные образы) и ручное подключение убраны под `<details>`-каты.
|
|
18
|
+
- Синтаксис вызова диспетчера: `bathys` (сервер) / `bathys setup` / `bathys install [targets]` / `bathys doctor`; справка `--help` обновлена.
|
|
19
|
+
|
|
5
20
|
## [0.6.2] — 2026-09-08
|
|
6
21
|
|
|
7
22
|
Публикационная волна: PyPI + NPM + кастомные интеграции.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: bathys
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Unified local deep-research search service for AI agents — one pipeline (search → extraction → query distillation → cache), zero cloud quotas. MCP stdio server with native harness integration (bathys install).
|
|
5
5
|
Project-URL: Homepage, https://github.com/Korrnals/bathys
|
|
6
6
|
Project-URL: Repository, https://github.com/Korrnals/bathys
|
|
@@ -28,31 +28,35 @@ Description-Content-Type: text/markdown
|
|
|
28
28
|
|
|
29
29
|
# Bathys
|
|
30
30
|
|
|
31
|
-
**Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов.**
|
|
31
|
+
**Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов.** Это самостоятельный продукт, а не обёртка над чужими сервисами: Bathys реализует весь конвейер сам — метапоиск с дедупликацией и живучестью к блокировкам, двухъярусное извлечение (HTTP-движок по умолчанию, headless-браузер только для JS-страниц), пятистадийную дистилляцию под запрос с жёсткими бюджетами, TTL-кэш сырца, robots-этику, метрики и диагностику. Метапоиск и извлечение оформлены как сменные внутренние движки (SearXNG, Crawl4AI) — их можно заменить, продукт останется Bathys. Облачных квот нет; LLM внутри нет — синтез остаётся за вызывающим агентом, дистилляция детерминированная (BM25).
|
|
32
32
|
|
|
33
33
|
Сонар находит координаты, батискаф ныряет за полными текстами, дистиллятор поднимает на палубу только то, что отвечает на вопрос.
|
|
34
34
|
|
|
35
35
|

|
|
36
|
-

|
|
37
37
|

|
|
38
38
|

|
|
39
39
|
|
|
40
40
|
## ⚡ Quick start
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Три команды от чистой системы до работающего поиска (Python ≥ 3.10):
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
pip install bathys
|
|
46
|
-
|
|
47
|
-
bathys
|
|
48
|
-
bathys-doctor # диагностика стека одним запуском
|
|
45
|
+
pip install bathys # пакет: сервер + bathys setup/install/doctor
|
|
46
|
+
bathys setup # браузер для JS-страниц → все найденные харнессы → субагент
|
|
47
|
+
bathys doctor # самодиагностика стека
|
|
49
48
|
```
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
`setup` идемпотентен — повторный запуск ничего не ломает. SearXNG ставить руками не нужно: бэкенд поднимется сам при первом поиске (внешний инстанс → docker → нативный режим). Браузер нужен только для JS-страниц: обычные страницы Bathys читает собственным HTTP-движком, `BATHYS_BROWSER=off` отключает браузерный ярус полностью.
|
|
51
|
+
|
|
52
|
+
<details>
|
|
53
|
+
<summary><b>Альтернативные пути установки</b> (npm, исходники, минимальные образы)</summary>
|
|
54
|
+
|
|
55
|
+
**npm** (Node-first окружения — обёртка ставит Python-пакет сама):
|
|
52
56
|
|
|
53
57
|
```bash
|
|
54
58
|
npm install -g bathys-mcp
|
|
55
|
-
bathys-mcp
|
|
59
|
+
bathys-mcp setup
|
|
56
60
|
```
|
|
57
61
|
|
|
58
62
|
**Из исходников** (разработка):
|
|
@@ -60,32 +64,40 @@ bathys-mcp install
|
|
|
60
64
|
```bash
|
|
61
65
|
git clone https://github.com/Korrnals/bathys.git && cd bathys
|
|
62
66
|
python3.12 -m venv .venv && .venv/bin/pip install -e .
|
|
63
|
-
.venv/bin/
|
|
64
|
-
.venv/bin/python -m unittest discover -s tests # юнит-тесты без
|
|
67
|
+
.venv/bin/bathys setup
|
|
68
|
+
.venv/bin/python -m unittest discover -s tests # юнит-тесты без сети
|
|
65
69
|
```
|
|
66
70
|
|
|
67
|
-
В минимальном контейнерном образе без `ensurepip` venv собирается через `get-pip.py` — ветка в [docs/getting-started/install.md](docs/getting-started/install.md).
|
|
71
|
+
В минимальном контейнерном образе без `ensurepip` venv собирается через `get-pip.py` — ветка в [docs/getting-started/install.md](docs/getting-started/install.md).
|
|
72
|
+
|
|
73
|
+
</details>
|
|
68
74
|
|
|
69
75
|
## 🔌 Подключение к харнессу
|
|
70
76
|
|
|
71
|
-
|
|
77
|
+
**Автоматически — весь стек:** `bathys setup` (см. выше) прописывает сервер во все найденные харнессы.
|
|
78
|
+
|
|
79
|
+
**Точечно — когда нужно именно здесь:**
|
|
72
80
|
|
|
73
81
|
```bash
|
|
74
|
-
|
|
82
|
+
bathys install # автодетект всех установленных харнессов
|
|
83
|
+
bathys install hermes # только Hermes (отсутствующий конфиг создастся)
|
|
84
|
+
bathys install --list # все поддерживаемые таргеты
|
|
85
|
+
bathys install --print-config # готовые блоки для ручной вставки
|
|
75
86
|
```
|
|
76
87
|
|
|
77
|
-
Детектируются zcode, Claude Code, Claude Desktop, Cursor, VS Code-семейство (Cline / Roo Code / Kilo Code), Gemini CLI, Windsurf, Zed, opencode, goose, Hermes; форматы каждого — свои (JSON-схемы и YAML-контуры goose/hermes), запись
|
|
88
|
+
Детектируются 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/](integrations/).
|
|
89
|
+
|
|
90
|
+
<details>
|
|
91
|
+
<summary><b>Ручное подключение</b> (когда правите конфиги сами)</summary>
|
|
78
92
|
|
|
79
|
-
|
|
93
|
+
Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же везде, от харнесса зависит только файл, в который его кладут. `command` — абсолютный путь к бинарнику (`~` внутри JSON не раскрывается); `BATHYS_SEARXNG_HOME` опциональна. Готовые блоки под каждый клиент: `bathys install --print-config`.
|
|
80
94
|
|
|
81
95
|
```json
|
|
82
96
|
{
|
|
83
97
|
"mcpServers": {
|
|
84
98
|
"bathys": {
|
|
85
|
-
"command": "/path/to/bathys
|
|
86
|
-
"env": {
|
|
87
|
-
"BATHYS_SEARXNG_HOME": "/path/to/bathys/.runtime/searxng-home"
|
|
88
|
-
}
|
|
99
|
+
"command": "/path/to/bathys",
|
|
100
|
+
"env": { "BATHYS_SEARXNG_HOME": "/path/to/searxng-home" }
|
|
89
101
|
}
|
|
90
102
|
}
|
|
91
103
|
}
|
|
@@ -98,6 +110,8 @@ python3.12 -m venv .venv && .venv/bin/pip install -e .
|
|
|
98
110
|
| Cursor | [docs/integrations/cursor.md](docs/integrations/cursor.md) |
|
|
99
111
|
| Любой другой MCP-клиент | [docs/integrations/generic-mcp.md](docs/integrations/generic-mcp.md) |
|
|
100
112
|
|
|
113
|
+
</details>
|
|
114
|
+
|
|
101
115
|
## 🧠 Научить агента работать эффективно
|
|
102
116
|
|
|
103
117
|
Конфиг — только половина дела. Из коробки харнесс получает **instructions-playbook** (матрицу выбора инструментов), **annotations** и **три стратегии-промпта** — `bathys_deep_research`, `bathys_source_audit`, `bathys_fresh_scan`, — так что выбирает инструменты Bathys уже нативно. Сильнее — профиль: субагент [`agents/bathys-researcher.md`](agents/bathys-researcher.md) с двумя скиллами, которому глубокий ресёрч делегируется целиком; для клиентов, не показывающих MCP instructions, — дроп-ин [`agents/HARNESS-DROPIN.md`](agents/HARNESS-DROPIN.md) в `AGENTS.md` / `CLAUDE.md` / `.cursor/rules`.
|
|
@@ -166,7 +180,7 @@ docs/
|
|
|
166
180
|
|
|
167
181
|
## 📍 Статус
|
|
168
182
|
|
|
169
|
-
**0.
|
|
183
|
+
**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](CHANGELOG.md).
|
|
170
184
|
|
|
171
185
|
Репозиторий: `github.com/Korrnals/bathys`. До 1.0 остаются публикация пакета `bathys` на PyPI (имя свободно, публикация планируется к 1.0) и первый прогон Docker-образа; CI с matrix 3.10–3.12 уже в репозитории.
|
|
172
186
|
|
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
# Bathys
|
|
4
4
|
|
|
5
|
-
**Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов.**
|
|
5
|
+
**Единый локальный поисковый сервис глубокого ресёрча для ИИ-агентов.** Это самостоятельный продукт, а не обёртка над чужими сервисами: Bathys реализует весь конвейер сам — метапоиск с дедупликацией и живучестью к блокировкам, двухъярусное извлечение (HTTP-движок по умолчанию, headless-браузер только для JS-страниц), пятистадийную дистилляцию под запрос с жёсткими бюджетами, TTL-кэш сырца, robots-этику, метрики и диагностику. Метапоиск и извлечение оформлены как сменные внутренние движки (SearXNG, Crawl4AI) — их можно заменить, продукт останется Bathys. Облачных квот нет; LLM внутри нет — синтез остаётся за вызывающим агентом, дистилляция детерминированная (BM25).
|
|
6
6
|
|
|
7
7
|
Сонар находит координаты, батискаф ныряет за полными текстами, дистиллятор поднимает на палубу только то, что отвечает на вопрос.
|
|
8
8
|
|
|
9
9
|

|
|
10
|
-

|
|
11
11
|

|
|
12
12
|

|
|
13
13
|
|
|
14
14
|
## ⚡ Quick start
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Три команды от чистой системы до работающего поиска (Python ≥ 3.10):
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
pip install bathys
|
|
20
|
-
|
|
21
|
-
bathys
|
|
22
|
-
bathys-doctor # диагностика стека одним запуском
|
|
19
|
+
pip install bathys # пакет: сервер + bathys setup/install/doctor
|
|
20
|
+
bathys setup # браузер для JS-страниц → все найденные харнессы → субагент
|
|
21
|
+
bathys doctor # самодиагностика стека
|
|
23
22
|
```
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
`setup` идемпотентен — повторный запуск ничего не ломает. SearXNG ставить руками не нужно: бэкенд поднимется сам при первом поиске (внешний инстанс → docker → нативный режим). Браузер нужен только для JS-страниц: обычные страницы Bathys читает собственным HTTP-движком, `BATHYS_BROWSER=off` отключает браузерный ярус полностью.
|
|
25
|
+
|
|
26
|
+
<details>
|
|
27
|
+
<summary><b>Альтернативные пути установки</b> (npm, исходники, минимальные образы)</summary>
|
|
28
|
+
|
|
29
|
+
**npm** (Node-first окружения — обёртка ставит Python-пакет сама):
|
|
26
30
|
|
|
27
31
|
```bash
|
|
28
32
|
npm install -g bathys-mcp
|
|
29
|
-
bathys-mcp
|
|
33
|
+
bathys-mcp setup
|
|
30
34
|
```
|
|
31
35
|
|
|
32
36
|
**Из исходников** (разработка):
|
|
@@ -34,32 +38,40 @@ bathys-mcp install
|
|
|
34
38
|
```bash
|
|
35
39
|
git clone https://github.com/Korrnals/bathys.git && cd bathys
|
|
36
40
|
python3.12 -m venv .venv && .venv/bin/pip install -e .
|
|
37
|
-
.venv/bin/
|
|
38
|
-
.venv/bin/python -m unittest discover -s tests # юнит-тесты без
|
|
41
|
+
.venv/bin/bathys setup
|
|
42
|
+
.venv/bin/python -m unittest discover -s tests # юнит-тесты без сети
|
|
39
43
|
```
|
|
40
44
|
|
|
41
|
-
В минимальном контейнерном образе без `ensurepip` venv собирается через `get-pip.py` — ветка в [docs/getting-started/install.md](docs/getting-started/install.md).
|
|
45
|
+
В минимальном контейнерном образе без `ensurepip` venv собирается через `get-pip.py` — ветка в [docs/getting-started/install.md](docs/getting-started/install.md).
|
|
46
|
+
|
|
47
|
+
</details>
|
|
42
48
|
|
|
43
49
|
## 🔌 Подключение к харнессу
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
**Автоматически — весь стек:** `bathys setup` (см. выше) прописывает сервер во все найденные харнессы.
|
|
52
|
+
|
|
53
|
+
**Точечно — когда нужно именно здесь:**
|
|
46
54
|
|
|
47
55
|
```bash
|
|
48
|
-
|
|
56
|
+
bathys install # автодетект всех установленных харнессов
|
|
57
|
+
bathys install hermes # только Hermes (отсутствующий конфиг создастся)
|
|
58
|
+
bathys install --list # все поддерживаемые таргеты
|
|
59
|
+
bathys install --print-config # готовые блоки для ручной вставки
|
|
49
60
|
```
|
|
50
61
|
|
|
51
|
-
Детектируются zcode, Claude Code, Claude Desktop, Cursor, VS Code-семейство (Cline / Roo Code / Kilo Code), Gemini CLI, Windsurf, Zed, opencode, goose, Hermes; форматы каждого — свои (JSON-схемы и YAML-контуры goose/hermes), запись
|
|
62
|
+
Детектируются 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/](integrations/).
|
|
63
|
+
|
|
64
|
+
<details>
|
|
65
|
+
<summary><b>Ручное подключение</b> (когда правите конфиги сами)</summary>
|
|
52
66
|
|
|
53
|
-
|
|
67
|
+
Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же везде, от харнесса зависит только файл, в который его кладут. `command` — абсолютный путь к бинарнику (`~` внутри JSON не раскрывается); `BATHYS_SEARXNG_HOME` опциональна. Готовые блоки под каждый клиент: `bathys install --print-config`.
|
|
54
68
|
|
|
55
69
|
```json
|
|
56
70
|
{
|
|
57
71
|
"mcpServers": {
|
|
58
72
|
"bathys": {
|
|
59
|
-
"command": "/path/to/bathys
|
|
60
|
-
"env": {
|
|
61
|
-
"BATHYS_SEARXNG_HOME": "/path/to/bathys/.runtime/searxng-home"
|
|
62
|
-
}
|
|
73
|
+
"command": "/path/to/bathys",
|
|
74
|
+
"env": { "BATHYS_SEARXNG_HOME": "/path/to/searxng-home" }
|
|
63
75
|
}
|
|
64
76
|
}
|
|
65
77
|
}
|
|
@@ -72,6 +84,8 @@ python3.12 -m venv .venv && .venv/bin/pip install -e .
|
|
|
72
84
|
| Cursor | [docs/integrations/cursor.md](docs/integrations/cursor.md) |
|
|
73
85
|
| Любой другой MCP-клиент | [docs/integrations/generic-mcp.md](docs/integrations/generic-mcp.md) |
|
|
74
86
|
|
|
87
|
+
</details>
|
|
88
|
+
|
|
75
89
|
## 🧠 Научить агента работать эффективно
|
|
76
90
|
|
|
77
91
|
Конфиг — только половина дела. Из коробки харнесс получает **instructions-playbook** (матрицу выбора инструментов), **annotations** и **три стратегии-промпта** — `bathys_deep_research`, `bathys_source_audit`, `bathys_fresh_scan`, — так что выбирает инструменты Bathys уже нативно. Сильнее — профиль: субагент [`agents/bathys-researcher.md`](agents/bathys-researcher.md) с двумя скиллами, которому глубокий ресёрч делегируется целиком; для клиентов, не показывающих MCP instructions, — дроп-ин [`agents/HARNESS-DROPIN.md`](agents/HARNESS-DROPIN.md) в `AGENTS.md` / `CLAUDE.md` / `.cursor/rules`.
|
|
@@ -140,7 +154,7 @@ docs/
|
|
|
140
154
|
|
|
141
155
|
## 📍 Статус
|
|
142
156
|
|
|
143
|
-
**0.
|
|
157
|
+
**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](CHANGELOG.md).
|
|
144
158
|
|
|
145
159
|
Репозиторий: `github.com/Korrnals/bathys`. До 1.0 остаются публикация пакета `bathys` на PyPI (имя свободно, публикация планируется к 1.0) и первый прогон Docker-образа; CI с matrix 3.10–3.12 уже в репозитории.
|
|
146
160
|
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
| `BATHYS_SEARCH_MIN_INTERVAL` | `1.0` | float, с | вежливый минимальный интервал между поисками к бэкенду (F-301); 0 — без пауз |
|
|
31
31
|
| `BATHYS_SEARCH_RETRIES` | `2` | int | дoп. попытки при пустой/заблокированной выдаче с ротацией наборов движков и паузой 1.5s×n (F-101); 0–3 |
|
|
32
32
|
| `BATHYS_DIVE_CONCURRENCY` | `4` | int | параллельные нырки страниц в `deep_research` (F-301); 1–8 |
|
|
33
|
+
| `BATHYS_BROWSER` | `auto` | режим | двухъярусное извлечение: `auto` — HTTP-движок первым, браузер только для JS-страниц; `off` — без браузера; `always` — только браузер (отладка) |
|
|
33
34
|
| `BATHYS_ROBOTS` | `1` | bool | уважать robots.txt при прямых нырках страниц (F-303); fail-open при недоступном robots; поиск не затрагивается |
|
|
34
35
|
| `BATHYS_METRICS` | `1` | bool | локальный журнал вызовов `{DATA_DIR}/metrics.jsonl` (F-304); выключается полностью |
|
|
35
36
|
| `BATHYS_ENGINE_BRAVE_KEY` | — | str | API-ключ Brave Search: одним ключом включает движок `brave` в генерируемых настройках SearXNG нативного режима (F-203, `services.render_settings`); для docker-режима — пропишите движок в settings сами |
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
| `BATHYS_SEARCH_MIN_INTERVAL` | `1.0` | вежливая пауза между поисками к бэкенду, сек |
|
|
23
23
|
| `BATHYS_SEARCH_RETRIES` | `2` | доп. попытки при пустой выдаче (ротация движков с паузами), 0–3 |
|
|
24
24
|
| `BATHYS_DIVE_CONCURRENCY` | `4` | параллельные чтения страниц в `deep_research`, 1–8 |
|
|
25
|
+
| `BATHYS_BROWSER` | `auto` | режим | двухъярусное извлечение: `auto` — HTTP-движок первым, браузер только для JS-страниц; `off` — без браузера; `always` — только браузер (отладка) |
|
|
25
26
|
| `BATHYS_ROBOTS` | `1` | уважать robots.txt при чтении страниц (отказ — пометкой, не ошибкой) |
|
|
26
27
|
| `BATHYS_METRICS` | `1` | писать локальный журнал вызовов `~/.local/share/bathys/metrics.jsonl` |
|
|
27
28
|
| `BATHYS_ENGINE_BRAVE_KEY` | — | ключ Brave Search API: включает движок `brave` в настройках нативного SearXNG одним env |
|
|
@@ -9,3 +9,8 @@
|
|
|
9
9
|
12:44:57 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
10
10
|
12:45:02 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
11
11
|
12:45:09 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
12
|
+
12:46:14 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
13
|
+
12:46:18 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
14
|
+
12:46:23 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
15
|
+
12:46:28 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
16
|
+
12:46:30 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/npm/bathys-mcp/.remember
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "bathys"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.7.0"
|
|
8
8
|
description = "Unified local deep-research search service for AI agents — one pipeline (search → extraction → query distillation → cache), zero cloud quotas. MCP stdio server with native harness integration (bathys install)."
|
|
9
9
|
keywords = ["mcp", "deep-research", "search", "web-search", "ai-agents", "llm", "local-first", "distillation", "searxng", "crawl4ai"]
|
|
10
10
|
classifiers = [
|
|
@@ -39,6 +39,7 @@ class Config:
|
|
|
39
39
|
search_min_interval: float
|
|
40
40
|
search_retries: int
|
|
41
41
|
dive_concurrency: int
|
|
42
|
+
browser_mode: str
|
|
42
43
|
respect_robots: bool
|
|
43
44
|
metrics: bool
|
|
44
45
|
|
|
@@ -66,6 +67,7 @@ class Config:
|
|
|
66
67
|
search_min_interval=float(os.environ.get("BATHYS_SEARCH_MIN_INTERVAL", "1.0")),
|
|
67
68
|
search_retries=max(0, min(3, int(os.environ.get("BATHYS_SEARCH_RETRIES", "2")))),
|
|
68
69
|
dive_concurrency=max(1, min(8, int(os.environ.get("BATHYS_DIVE_CONCURRENCY", "4")))),
|
|
70
|
+
browser_mode=(os.environ.get("BATHYS_BROWSER") or "auto").strip().lower(),
|
|
69
71
|
respect_robots=_env_bool("BATHYS_ROBOTS", True),
|
|
70
72
|
metrics=_env_bool("BATHYS_METRICS", True),
|
|
71
73
|
)
|
|
@@ -313,7 +313,7 @@ class Engine:
|
|
|
313
313
|
self.cache.set(pk, {"error": err}, ttl=max(3600, self.cfg.page_ttl // 24))
|
|
314
314
|
raise RobotsRefusal(err)
|
|
315
315
|
try:
|
|
316
|
-
page = await self.crawler.fetch(url)
|
|
316
|
+
page = await self.crawler.fetch(url, http=self.http)
|
|
317
317
|
except Exception as e:
|
|
318
318
|
err = f"{e.__class__.__name__}: {e}"
|
|
319
319
|
self.cache.set(pk, {"error": err}, ttl=max(3600, self.cfg.page_ttl // 24))
|