查询
****
终端原生、代理优先的web搜索CLI。通过可交换的内置适配器路由查询,并始终输出JSON。
qry "what is the latest version of numpy"[
{
"title": "NumPy 2.0 Release Notes",
"url": "https://numpy.org/doc/stable/release/2.0.0-notes.html",
"snippet": "NumPy 2.0.0 is the first major release since 2006..."
}
]安装
自制:
brew install justEstif/tap/qrynpm(可选):
npm install -g @justestif/qry米斯:
mise cache clear
mise use -g go:github.com/justestif/qry@latest
mise reshim适配器
适配器是执行实际搜索的内置包。它们实现了一个通用接口。
| 适配器 | 源 | 需要密钥 |
|---|---|---|
brave-api | 勇敢搜索API | ✓ |
brave-scrape | 勇敢搜索(抓取) | ✗ |
ddg-scrape | DuckDuckGo精简版(刮擦) | ✗ |
exa | Exa AI(通过MCP) | ✗ |
github | GitHub搜索API | ✗ (可选) |
searx | SearXNG(自助式) | ✗ |
stackoverflow | 堆栈交换API | ✗ (可选) |
wikipedia | 维基百科/媒体维基API | ✗ |
配置
创建 ~/.config/qry/config.toml:
使用 ${VAR} 适配器配置值中的语法--qry从环境中扩展它们 在运行时,机密永远不会存在于文件中:
[adapters.brave-api.config]
api_key = "${BRAVE_API_KEY}"[defaults]
num = 10
timeout = "5s"
[routing]
mode = "first"
pool = ["ddg-scrape", "brave-scrape"]代理使用
一 代理技能 可用于在任何受支持的代理中进行一行安装:
npx skills add justestif/qry -g -y浏览技能 技能s.sh.
______________________________________________________________________
跑 qry --agent-info (或 -A)获取该工具的JSON描述和您当前的 配置——对于代理在进行搜索调用之前进行自我定位非常有用:
qry --agent-info输出包括工具描述、可用标志、路由模式解释、, 以及每个配置的适配器及其可用性状态。适配器配置 地图显示 ${VAR} 模板字符串而不是解析值,因此机密永远不会暴露。
路由模式
first--按顺序尝试适配器,第一次成功后返回。快速,适用于大多数用例。merge--同时查询所有适配器,按URL进行重复数据消除,返回组合结果。
更多
看 docs/ 有关完整文档:
docs/architecture.md--qry如何在内部工作docs/schema.md--配置和JSON模式docs/adapters.md--如何构建自己的适配器
