feat: websearch MCP worker wiring + egress (public SearXNG route)

Worker --websearch-mcp (default off) seeds tenant codex-home with
websearch MCP on _tenant_dirs (container path); old tenants merge
on next task. Autoscaler unit gains the flag. Tinyproxy filter
adds Perplexity/Exa/Tavily/Brave/DuckDuckGo + exact
searx.diante.me (no diante.me wildcard, control plane stays out).
Tests: test_websearch_worker 4 + websearch_mcp 12 + tenant 7 = 23 OK.
Not pushed, not merged, not deployed; SearXNG host/DNS/nginx and
tinyproxy reload are host steps.
This commit is contained in:
host committed 2026-10-28 17:26:31 +08:00
1 parent 075908fe58
commit b72a2abae4
6 files changed
+209 -14

No files matched your search

+16
View File
@@ -3,6 +3,22 @@
语义化版本见 `VERSION`(当前 0.1.0)。以下按日期倒序,只列已交付
的大项,每项附实测证据;未建成的东西在“诚实边界”里明说,不夸大。
## 2026-10-28:网页搜索接 worker + egress(公开 SearXNG 路)
- `cloud/worker.py --websearch-mcp`(默认关):开启后
`_tenant_dirs` 播种 config.toml 之后自动播种 websearch
MCP(容器内路径),老租户下一次任务自动合并;
autoscaler unit 已加该 flag(主机上须单独应用 unit)。
- `deploy/egress/tinyproxy-filter` 已加 Perplexity、Exa、
Tavily、Brave、DuckDuckGo 与精确的 `searx.diante.me`
(不用 diante.me 通配,防任务经代理摸到控制面)。
- 单测:`cloud/tests/test_websearch_worker.py`(播种开/关、
老租户合并、filter 的 BASIC 语法检查)与 websearch
旧测、租户隔离旧测共 23 个全部通过。
诚实边界:本批只本地代码,未推、未建 PR、未合并、
未部署;SearXNG 主机部署、DNS、证书、nginx 与
tinyproxy 重载均在主机步骤里,另见 docs/web-search-mcp.md。
## 2026-10-28:网页搜索 MCP v1(oh-my-pi 模式,Python 实现)
- 新增 `cloud/websearch.py` + `cloud/websearch_mcp.py`(纯标准库):