运行时依赖
安装命令
点击复制技能文档
联网搜索工具(ProSearch)通过天集 ProSearch 搜索引擎查询实时互联网信息,返回网页搜索结果(标题、摘要、链接、来源)。Setup 无需额外安装依赖。搜索通过 Node.js 脚本 /scripts/prosearch.cjs 调用本地 HTTP 接口 /proxy/prosearch 完成,鉴权由后台网关自动处理(基于用户登录态),无需手动配置凭证。
Workflow QClaw 使用此技能时,用户需要从互联网获取实时信息。完整流程:用户提出需要实时信息的问题 → 步骤 1:确定搜索关键词(简洁、具体)→ 步骤 1.5:确定时间新鲜度 — 添加 from_time/to_time 如果相关性重要 → 步骤 2:通过 Node.js 脚本调用搜索 API → 步骤 3:输出 JSON 响应中的 message 字段(搜索结果项带有可点击链接)— 永远不要跳过此步骤 → 步骤 4:在结果项之后添加分析/总结(可选)
CRITICAL — 反幻觉设计:搜索 API 返回一个预渲染的 message 字段,包含完整的格式化搜索结果(标题作为可点击的超链接、摘要、URL、来源)。QClaw 必须原样输出 message 字段作为主要搜索结果 — 永远不要跳过结果项。QClaw 可以在verbatim结果之后添加分析或总结,但不能伪造或修改任何 URL 或来源信息。
步骤 1:确定搜索关键词 将用户的问题转换为有效的搜索关键词:用户说搜索关键词 提示:保持简洁(2-6 个字);删除填充词("帮我"、"请问"、"一下");添加时间背景如果相关("今日"、"2026"、"最新");使用用户的语言(中文查询为中文用户,英文查询为英文用户);保留关键词的原始语言 — 不要翻译关键词。如果用户提供英文关键词(例如 "search for React Server Components"),保持英文。如果用户提供中文关键词,保持中文。
步骤 1.5:确定时间新鲜度(对于相关性至关重要)
当用户的问题意味着新鲜度时,QClaw 必须添加 --freshness 参数到搜索请求中,以过滤掉过时的结果。这对于提高搜索结果的新鲜度至关重要。时间新鲜度决策表:用户意图信号 --freshness 值 示例 "今天"、"today"、"刚刚" --freshness=24h 股票价格今天 "最近"、"最新"、"recently"、"latest" --freshness=7d 最新 AI 新闻 "这周"、"this week" --freshness=7d 本周事件 "这个月"、"this month" --freshness=30d 本月政策 "今年"、"2026 年" --freshness=1y 2026 事件 没有时间信号(一般事实) 不添加 --freshness "什么是 React?" --freshness 快捷参数:脚本内部自动计算 from_time/to_time 时间戳,无需手动计算。支持的值:--freshness=24h 或 --freshness=1d → 最近 24 小时;--freshness=7d → 最近 7 天;--freshness=30d → 最近 30 天;--freshness=1y → 最近 1 年 互斥规则:--freshness(或 --from_time/--to_time)与 --cnt 互斥,不能同时使用。
步骤 2:搜索
所有平台统一使用 --key=value 参数模式,macOS/Linux/Windows 命令完全一致,无需区分操作系统。
基础搜索:node '/scripts/prosearch.cjs' --keyword=搜索关键词
新鲜度搜索 — 使用 --freshness 快捷参数(脚本自动计算时间戳):
搜索最近 24 小时的结果(适用于 "今天"、"刚刚" 类查询):
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --freshness=24h
搜索最近 7 天的结果(适用于 "最新"、"最近" 类查询):
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --freshness=7d
搜索最近 30 天的结果(适用于 "这个月" 类查询):
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --freshness=30d
带有可选参数:
指定返回数量(10/20/30/40/50)— 不能与 --freshness/--site 同时使用:
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --cnt=20
站内搜索(不能同时传 --cnt):
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --site=github.com
垂类搜索(gov/news/acad):
node '/scripts/prosearch.cjs' --keyword=搜索关键词 --industry=news
获取 VR 卡数据(天气、金价等):
node '/scripts/prosearch.cjs' --keyword=今日黄金价格 --mode=2
组合:新闻类 + 最近 24 小时:
node '/scripts/prosearch.cjs' --keyword=国内最新新闻 --freshness=24h --industry=news
关键词含空格时:用双引号包裹值部分,如 --keyword="React 19 features"
--freshness 和 --cnt 互斥,不能同时使用。也可以用 --from_time=秒级时间戳 --to_time=秒级时间戳 精确指定时间范围。
步骤 3:输出搜索结果 — 总是显示结果项带有可点击链接,然后添加分析
搜索接口返回 JSON 后,QClaw 必须按照以下固定格式输出,不可省略任何部分:
Part A:搜索结果条目展示 [必须 — 不可跳过]
必须先原样输出 message 字段。message 中包含前 5 条最相关的搜索结果(即使 API 返回了更多),每条已按以下格式预渲染,标题部分为可点击的 Markdown 超链接:
序号. 标题 — 来源站点(日期)
摘要内容...
CRITICAL:QClaw 每次搜索都必须展示搜索结果条目列表(最多 5 条),绝对不允许跳过结果条目直接输出总结。message 中的标题已经是 标题 格式的超链接,用户可以直接点击跳转到原文页面。
Part B:分析总结 [可选 — 在结果条目之后]
输出完 message 后,QClaw 可以基于搜索结果对用户的问题给出分析和回答。
Response language rule [重要]:匹配分析/总结的语言与关键词语言:
如果搜索关键词是英文 → 写分析和总结在英文中
如果搜索关键词是中文 → 写分析和总结在中文中
如果关键词是混合(例如 "React 19 新特性")→ 跟随用户的对话语言
message 字段(Part A)始终输出原样,无论语言如何
正确做法示例 JSON 返回:
{"success": true, "message": "搜索「今日白银价格」找到 10 条结果,展示前 5 条:\n\n**1. [今日白银价格行情](https: