下载
医学联网搜索
何时使用本 Skill
满足以下任一条件时启用:
- 问题需要最新 / 实时信息、很可能超出你的训练数据 —— 近期新闻、当前事件、最新版本、价格、天气、日程、政策、统计数据(任何语言)。
- 用户问的是可能近期发生变化的内容 —— "最新的……""目前……""最近……"。
- 需要查证事实、而不是凭记忆臆测 —— 用实时来源佐证,避免编造。
- 用户希望答案有具体来源网页 / URL 支撑。
- 用户问的是某个具体网站、文档或在线资源的内容,而你手头没有。
- 用户明说"查一下""搜一下""联网""用 WiseDiag-WebSearch 查……"。
不要用于:纯闲聊,或凭常识就能自信回答、无需外部 / 实时信息的问题。
WiseSearch Skill(powered by WiseDiag)
一个独立、模型无关、通用的联网查询工具,两个能力:
- search —— 把问题拆成一个或多个检索短语传入;返回合并去重、带
index序号的结果列表(标题 / URL / 摘要)。摘要用于快速判断,不是全文。 - extract —— 传入 URL(如
search返回的那些),抓取网页正文全文(Markdown),同样带index序号。
绝不直接调用 HTTP 端点,只用下面的脚本。
安装
pip install -r requirements.txt🔑 API Key 配置(必需)
本 skill 调用 WiseDiag 公网 API,必须提供 API key。未带有效 key 的请求会返回 401。
获取 API key: 👉 https://console.wisediag.com/apiKeyManage
设为环境变量,脚本会自动读取:
# 临时(当前终端会话)
export WISEDIAG_API_KEY=your_api_key_here
# 永久(写入 ~/.zshrc 或 ~/.bashrc)
echo 'export WISEDIAG_API_KEY=your_api_key_here' >> ~/.bashrc
source ~/.bashrc服务地址已预置为 WiseDiag 公网 API(https://openapi.wisediag.com/model/api),一般无需改动;若要指向其他部署,用 WISEDIAG_BASE_URL 或 --base-url 覆盖。
使用步骤(Step-by-Step)
Step 1:把问题拆成检索短语
读当前问题 + 上下文,拆成 1–5 个独立、可直接检索的短语,每个用 --query 传(可重复,最多 5 个)。
- 用上下文消解指代:把"它""这个"换成具体名称。
- 多意图 / 多对象拆成多条。
- 用词组而非单个字词(召回更稳)。
例——问题:"帮我比较下这两个前端框架"(上文提到 React、Vue)
→ React 优缺点 / Vue 优缺点
Step 2:调 search
cd scripts
python3 websearch.py search \
--query "React 优缺点" --query "Vue 优缺点" \
--max-results 5 # 每个 query 条数,默认 5,最多 10多个 query 会并发检索 → 轮询交错合并 → 按 URL 去重 → 全局 index 编号。
Step 3(可选):对命中的 URL 抓全文
search 返回的是摘要。若摘要不足以作答,挑最相关的前 2–3 条 URL 抓全文(别全抓,每条约 1–2 秒):
python3 websearch.py extract \
--url "https://..." --url "https://..."
# 可选: --format htmlStep 4:用结果作答
- 基于
results[].content(摘要,或抓取到的全文)组织回答。 - 若
success=false或results为空:退回自身知识,并明确告诉用户本轮没检索到网页结果。
CLI 参考
search
| 参数 | 说明 |
|---|---|
-q, --query | 检索短语;可重复,最多 5 个(至少一个) |
--max-results | 每个 query 返回条数,默认 5,最多 10 |
extract
| 参数 | 说明 |
|---|---|
-u, --url | 要抓取的 URL;可重复,最多 20 个(至少一个) |
--format | markdown(默认)/ html |
通用
| 参数 | 说明 |
|---|---|
--api-key | API key(默认取环境变量 WISEDIAG_API_KEY;必需) |
--base-url | 服务地址(默认取环境变量 WISEDIAG_BASE_URL,否则用 WiseDiag 公网 API) |
--timeout | 请求超时秒数(默认 60) |
返回结构
search 成功(exit 0):
{
"success": true,
"query": ["React 优缺点", "Vue 优缺点"],
"count": 6,
"results": [
{"index": 1, "title": "来源标题", "url": "https://...", "content": "摘要片段..."}
],
"usage": {"search_count": 2}
}extract 成功(exit 0):
{
"success": true,
"count": 2,
"results": [
{"index": 1, "title": "页面标题", "url": "https://...", "content": "网页正文全文(markdown)..."}
],
"failed": [{"url": "https://...", "error": "..."}],
"usage": {"search_count": 2}
}失败(exit 非 0):
{"success": false, "error": "...", "results": [], "usage": {"search_count": 0}}| 字段 | 说明 |
|---|---|
success | 是否成功;false = 本次没拿到有用内容(报错或空) |
query | 本次实际检索的检索词列表 |
count | search=去重后结果条数;extract=成功抓取的网页数 |
results[] | {index, title, url, content} —— content 为摘要(search)或正文全文(extract) |
failed | (仅 extract)抓取失败的 URL 及通用原因,{url, error}(可能为空) |
usage | 计费:search_count = 本次成功的可计费操作数(search=成功搜索次数;extract=成功抓取数)。具体是哪类由所调子命令决定。 |
排查(Troubleshooting)
WISEDIAG_API_KEY is not set:必须配 API key。到 https://console.wisediag.com/apiKeyManage 获取后export WISEDIAG_API_KEY=...。unauthorized (401):key 缺失 / 无效 / 过期 —— 用echo $WISEDIAG_API_KEY检查,或到控制台重新生成。success=false/results为空:本轮没检索到 —— 退回自身知识并告知用户。- 召回差:用词组、给 3–5 个不同角度的短语;单个字词 + 很小的
max_results召回不稳。
数据隐私
检索短语和目标 URL 会发送到 WiseDiag API 用于检索。请勿在检索文本中包含敏感个人信息。
License
MIT