用途:AnySearch 用于检索由数据源直接维护的结构化记录(如行情、申报文件、筛选后的论文列表、航班状态),并可按需提取所选网页的全文。运行方式为 python3 <skill-dir>/scripts/anysearch.py。
主要能力与用法:垂直检索先用 get_sub_domains --domains <d> 获取一次子域,再用 search "<q>" --domain <d> --sub_domain <d.x> --sdp k=v,…,输出默认 snippet,因为正文本身即答案。普通问题找候选页面用 search "<query>" --format compact --max-results 5,标题不足以判断时加 --format snippet --max-chars 300。需要多角度时用 batch_search --query … --query …(不超过 5 条),再提取非重复的胜出项。提取选定页面全文用 extract <url> [<url> …],每份文档一个页眉。
参数转换:需把自然语言转成参数,如公司名转代码(symbol=AAPL、A 股 cn_code=600519.SH),"recent" 转 period,"highly cited" 转 sort=cited_by_count:desc;必需但无法填写的参数留空值(如 cn_code=),不要凭记忆编造字段,字段名以实时 get_sub_domains 模式为准。
限制与注意事项:垂直参数可能静默失效——若设了 --sub_domain 却返回普通网页(新闻站、Yahoo/新浪行情页而非数据行),说明上游忽略了参数,通常因代码或键名错误,应修正参数而非把网页结果当作结构化数据。排序/筛选参数可能破坏垂直结果(已观察到 academic.search 加 sort= 后出现标题、URL、摘要不匹配),过滤后的垂直命中应视为暂定,引用标题与 URL 组合前先 extract。compact 与 snippet 不含日期,"最新/近期"问题须靠提取页面或垂直 period 参数判断,不能依赖排名。#N 排名是唯一相关性信号,优先提取排名靠前的结果;标题只用于识别候选,只有 extract 才能确立结论。所有标志支持 snake_case 与 kebab-case(--max-chars = --max_chars);--auto_register、--api_key 和 -v 可放在子命令前后。stderr 默认安静,-v 打印密钥池记账信息。
访问与恢复:CLI 使用匿名访问或本地保存的密钥池;自动注册默认开启,当没有可用密钥时会在 anysearch.com 创建账号并本地保存密钥(keys config --auto_register false 可关闭)。不要打印完整密钥。访问失败时先读实际错误与 keys 状态,再按 keys.md 对应分支处理并重试原查询一次;不要对持续失败重复相同请求。domains.md 仅为定位快照,参数名与取值以实时模式为准。
适用场景:需要结构化数据字段、批量多角度检索、以及基于提取全文核实事实的查询。暂未提供的内容:未给出具体收费方式、价格、支持平台等信息。