feat(pi-web-search): 统一 web_search/web_fetch 并由主模型路由搜索厂商

7 个按厂商命名的搜索工具收敛为 2 个统一工具,schema 与提示词不再暴露
provider 概念:web_search 由当前主模型按内置规则在 Tavily/Exa/Keenable
间路由(会话内 LRU 缓存,失败按可用性降级),web_fetch 固定走 Exa 并
静默降级。三家均改为纯 fetch 直连——Exa 直接对 mcp.exa.ai 发 JSON-RPC
并缓存会话,彻底移除 pi-mcp-adapter、@tavily/pi-extension 与
@keenable/pi-search 依赖。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
云服务部-叶林立
2026-10-19 20:13:37 -07:00
co-authored by Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent 6fe6cb29ae
commit ee1e6999d7
32 changed files with 1690 additions and 1188 deletions
+4 -8
View File
@@ -26,6 +26,7 @@
"pi-tool-search/CHANGELOG.md",
"pi-tool-search/LICENSE",
"pi-tool-search/UPSTREAM.md",
"pi-web-search",
"pi-worktree",
"pi-permission-system/LICENSES",
"pi-permission-system/docs/auto-review",
@@ -50,9 +51,7 @@
"extensions": [
"./extensions/search-config.ts",
"./extensions/fff-override.ts",
"./extensions/tavily-override.ts",
"./node_modules/@keenable/pi-search/src/index.ts",
"./extensions/mcp.ts",
"./pi-web-search/index.ts",
"./extensions/codegraph.ts",
"./pi-rtk-optimizer/index.ts",
"./extensions/hashline.ts",
@@ -73,17 +72,14 @@
"./pi-tool-search/extensions/index.ts"
],
"skills": [
"./node_modules/context-mode/skills",
"./node_modules/@keenable/pi-search/skills"
"./node_modules/context-mode/skills"
]
},
"dependencies": {
"@ff-labs/pi-fff": "0.10.5",
"@gotgenes/pi-permission-system": "file:./pi-permission-system",
"@keenable/pi-search": "0.1.2",
"@ogulcancelik/pi-minimal-footer": "file:./pi-minimal-footer",
"@smoose/pi-notify": "file:./pi-notify",
"@tavily/pi-extension": "0.1.2",
"context-mode": "1.0.169",
"jiti": "2.7.0",
"pi-ask-user": "file:./pi-ask-user",
@@ -92,9 +88,9 @@
"pi-hashline-edit": "0.8.3",
"pi-hermes-memory": "file:./pi-hermes-memory",
"pi-lsp": "0.1.7",
"pi-mcp-adapter": "2.26.0",
"pi-ssh": "file:./pi-ssh",
"pi-tool-search": "file:./pi-tool-search",
"pi-web-search": "file:./pi-web-search",
"pi-worktree": "file:./pi-worktree",
"ssh2": "1.17.0",
"typescript": "6.0.3",