Web 工具分支决策
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d92ecdb5/cqtest。
技能介绍
要解决什么问题
Agent 在联网场景里常见两类失败:一是无 URL 却乱用 fetch,二是 fetch 遇到 JS/登录/CAPTCHA 后静默换工具,用户既不知道降级原因,也拿不到可操作的下一步。本技能把 Web 侧能力收成一条分支决策链,而不是「越重越好」的堆叠。
技能如何工作
遵循 ReAct 范式,四个工具是并列分支,不是层级父子关系:
- 先选场景:没有明确 URL →
web_search;已知 URL 且偏静态(文档、博客、RSS)→web_fetch。 - 失败再升级:
web_search/web_fetch出现空白页、403、骨架 HTML 等信号时,先试opencli(结构化抓取、覆盖大量主流站点),仍不行再用browser。 - 每次切换工具都要说明原因,禁止静默降级。
browser 作为最后手段,区分只读抓取、登录与页面交互三类流程;登录与发帖/支付等不可逆操作必须先征得用户确认。web_search 报错时,应先按参考文档引导配置 API Key;用户明确拒绝配置后,才走 well-known-sites + web_fetch 的降级路径。
适用边界与注意点
opencli依赖本地 CLI 与 Browser Bridge;首次command not found需先跑安装脚本(幂等)。- CAPTCHA 无法自动处理时需告知用户手动介入。
- 动态 SPA、需登录态、点击/翻页/截图等场景,应直接规划到
browser,并优先 CSS 选择器 + 等元素出现,避免固定 sleep。
使用场景
- 用户只给关键词、没有 URL,需要先搜结果再决定用 fetch 还是 opencli 读正文
- 技术文档链接已知,但 web_fetch 返回骨架页或 403,要按流程先试 opencli 再考虑 browser
- 要读微博 feed、知乎回答等 JS 渲染内容,或需登录后才能看到的页面
- web_search 报错时,需要按文档引导用户配置 Key,拒绝配置后再走已知站点 URL 降级
适合人员
- 在自研 Agent 里写联网策略、希望统一 search/fetch/opencli/browser 降级顺序的工程师
- 需要 Agent 在登录、翻页、截图前必须征得确认的安全或合规相关集成同学
- 维护 opencli 与 Browser Bridge、处理 command not found 与插件加载的环境运维
- 排查 Agent 静默换工具、用户不知原因时,要对照决策流程做 Prompt 或技能改写的编辑