AI Finder Kit 搜索
版本:1.3.1
使用捆绑的无依赖客户端查询经过身份验证的聚合搜索服务。对于交互式本地安装,运行 configure 将密钥存储在受保护的文件中;对于自动化操作,注入 AIFINDERKIT_API_KEY。切勿将密钥放在提示词、命令输出、源文件或技能文件中。
要求
- Python 3.10 或更高版本,并具备出站 HTTPS 访问能力。
- 有效的 AI Finder Kit 搜索密钥或所有者密钥,存储在
AIFINDERKIT_API_KEY中,或存储在由configure创建的受保护凭据文件中。 - 不需要额外的 Python 包。此技能包特意不包含任何凭据。
首次搜索前,运行 python scripts/aifinderkit_search.py doctor。它会验证 Python、身份验证、API 版本、可用端点和当前限制,且不会打印密钥。
工作流程
- 如果在当前环境中未验证过访问权限,可运行
doctor。 - 选择能够回答请求的最小操作:
search:一个查询,返回标准化、去重后的结果。domains:在进行结构化搜索前,发现有效的 AnySearch 垂直子域名。batch:两到五个独立查询。fetch:从已知的公共 HTTP(S) 页面获取可读文本。map:发现一个静态页面上的有限链接列表。crawl:提取同一主机内的一小部分内容,绝不是对整个网站进行广泛抓取。research:多查询证据收集、提取、覆盖和差距检测。- 对于学术工作,使用
--preset academic-strict;仅当项目页面和非论文技术报告也有用时,才使用academic-relaxed。宽松模式牺牲精度换取召回率,因此请检查retrieval_signals.query_relevance并丢弃弱匹配。 meta:当前访问层级和请求限制。
- 运行
scripts/aifinderkit_search.py。 - 在判断检索质量时,使用
retrieval_score及其retrieval_signals。融合后的score仅是提供方排名值。confidence是retrieval_score的已弃用别名,且绝不代表事实真相。 - 在面向用户的回答中引用返回的页面 URL。将片段视为发现辅助手段;在做出精确声明前,请使用
fetch或原始页面。 - 对于比较性或决定性声明,需要主要来源或两个独立来源之间达成一致。不要将
confidence视为事实验证;它只是一个检索信号。
命令
python scripts/aifinderkit_search.py search "query" --limit 10 --mode balanced
python scripts/aifinderkit_search.py search "query" --language zh --category news
python scripts/aifinderkit_search.py search "query" --include-domain github.com
python scripts/aifinderkit_search.py domains --domain academic --domain code
python scripts/aifinderkit_search.py search "transformer" --vertical-domain academic --vertical-sub-domain academic.search
python scripts/aifinderkit_search.py search "multimodal learning" --preset academic-strict --mode deep
python scripts/aifinderkit_search.py research "retrieval augmented generation evaluation" --preset academic-strict --fetch-top 5
python scripts/aifinderkit_search.py batch --query "paper one" --query "paper two" --preset academic-relaxed --limit 5
python scripts/aifinderkit_search.py fetch "https://example.com/page"
python scripts/aifinderkit_search.py map "https://example.com/docs" --max-links 30
python scripts/aifinderkit_search.py crawl "https://example.com/docs" --max-pages 5 --max-depth 1
python scripts/aifinderkit_search.py research "topic" --subquery "history" --subquery "current evidence" --fetch-top 3
python scripts/aifinderkit_search.py meta
python scripts/aifinderkit_search.py configure
secret-manager-command | python scripts/aifinderkit_search.py configure --key-stdin
python scripts/aifinderkit_search.py doctor
对于延迟敏感的发现,使用 fast;默认使用 balanced;对于研究,使用 deep。仅当请求有时间限制时,才添加 --freshness day|week|month|year。客户端超时默认为 60 秒;对于多 PDF 研究,在命令名称前放置 --timeout 120。
对于金融、学术、代码、健康、法律、安全、旅行和其他结构化 AnySearch 领域,请先运行 domains。仅复制返回的 sub_domain,并通过 --vertical-param key=value 包含每个必需参数;当目录标记了必需参数但无适用值时,使用空值。如果 domains 返回 403,则继续进行普通聚合搜索,而不是虚构垂直模式。
当工作流程步骤 2 是文献综述时,请遵循 references/academic-research.md 而非普通搜索路径。学术预设使用专门的学术引擎,在可用时暴露 DOI/作者/年份/开放获取元数据,并在严格模式下避免通用网络回退。在以编程方式消费 academic 对象之前,请阅读 references/api.md。
在 crawl 之前使用 map。除非用户需要特定的文档小部分,否则保持默认抓取参数。抓取是静态 HTML、同一主机、最多八个页面和深度二;它不是浏览器自动化工具。
对于深度研究,在选择子查询或解释 coverage 和 gaps 之前,请阅读 references/research-workflow.md。对于来源选择和引用检查,请阅读 references/source-quality.md。
如果打包的脚本不在当前工作目录中,请相对于此 SKILL.md 解析它,而不是假定 scripts/ 存在于用户的项目中。
客户端首先检查 AIFINDERKIT_API_KEY 是否存在内联密钥。如果未设置,客户端读取由 AIFINDERKIT_API_KEY_FILE 选择的受保护文件,或默认读取 ~/.config/aifinderkit/credentials。交互式 configure 无回显读取;configure --key-stdin 支持密钥管理器管道。两者都以模式 0600 写入 Skill 和当前项目之外。切勿将密钥作为命令行参数传递。
如果端点返回 401,请要求用户配置有效的搜索密钥。如果返回 429,报告限制且不要循环重试。如果 warnings 提示某个源不可用,请说明结果集已降级,而不是暗示完整的聚合。
仅在需要确切模式、端点映射或错误行为时,才阅读 references/api.md。