feat: combine dedicated and web search providers

This commit is contained in:
john
2026-07-23 12:38:20 +08:00
parent d9eb11f5f5
commit 890264ba10
7 changed files with 29 additions and 20 deletions
+3 -3
View File
@@ -414,7 +414,7 @@ export function buildSandboxSessionConstraints({ baseConstraints, developerTools
'- 连续失败后:若 `public/*.html` 已 write_file 落盘,改走 Portal/H5 API 或 shell 发布兜底;**禁止**反复 kill MCP 或 curl 401 的浏览器下载接口',
'',
'## 网页搜索上限',
'- `web_search` 最多 **2 次**(可换关键词);再 **1 次** `fetch_url` 访问 Bing/360 搜索页',
'- 实时搜索必须同一轮同时调用 `tkmind_search`103 专用 SearXNG)和 `web_search`DuckDuckGo),每个 provider 最多 **2 次**;再按需用 `fetch_url` 读取 Bing/360 等来源',
'- 3 轮仍无可用结果:停止搜索,用内置知识直接生成页面,并告知用户未获取实时搜索结果',
);
return lines.join('\n');
@@ -445,13 +445,13 @@ export function buildPublishConstraints({ slug, username, publicBaseUrl, publish
'- **禁止**用 shell 写入 HTML**禁止**让用户「手动保存到 public 目录」或说「我无法生成页面」——除非 write_file 已失败并报告错误',
'- 完成后给出 Markdown 可点击公网链接 `[标题](URL)`;写入 `public/页面.html` 时 URL 为 `.../MindSpace/<用户ID>/public/页面.html`',
'- 若先用 `apps__create_app` 设计/预览,最后仍要把内容 write_file 落到 `public/页面.html` 才有公网链接',
'- **需要查实时/真实世界信息时**:先 `load_skill` → `web`优先 `web_search`/`fetch_url`;国内 google.com 不可达,多次无果时改走 Bing/360 等可达搜索源',
'- **需要查实时/真实世界信息时**:先 `load_skill` → `web`同一轮同时调用 `tkmind_search`103 专用 SearXNG)和 `web_search`DuckDuckGo),合并去重;国内 google.com 不可达,一侧失败时继续使用另一侧,再按需改走 Bing/360 等可达源',
'- **禁止**让用户「手动保存到 public 目录」或说「我无法生成页面」——除非 write_file 已失败并报告错误',
'- 完成后给出 Markdown 可点击公网链接 `[标题](URL)`;写入 `public/页面.html` 时 URL 为 `.../MindSpace/<用户ID>/public/页面.html`,按模板拼真实地址',
'- 按需下载链接(如 `report.docx`)必须与 HTML 同目录且文件名一致;Word 必须用 sandbox-fs `generate_docx` 生成,不要用 `computercontroller` / shell 作为交付依据',
'- 按需长图链接:生成 `report.long.png` 后给 `[长图预览](.../report.long.png)`,下载用 `[下载长图](.../report.html?download=long-image)`',
'- **sandbox-fs Transport closed**`private_data_bind_workspace_page` 等 MCP 工具若返回 Transport closed**最多重试 1 次**;仍失败则改走 Portal API / shell 发布兜底,**禁止**无限 kill/restart MCP',
'- **网页搜索**`web_search` 最多 2 次;再试 1 次 Bing/360 `fetch_url`;仍无结果则用内置知识直接生成页面并说明未获取实时搜索结果',
'- **网页搜索**`tkmind_search` 与 `web_search` 最多 2 次并合并结果;再试 Bing/360 `fetch_url`两边仍无结果则用内置知识直接生成页面并说明未获取实时搜索结果',
`- 发布技能:\`${PUBLISH_SKILL_NAME}\`(生成页面前应 load_skill`,
].join('\n');
}