qveris-official by qverisai/open-qveris-skills
npx skills add https://github.com/qverisai/open-qveris-skills --skill qveris-officialQVeris 是一个工具发现与调用引擎,而非信息搜索引擎。discover 通过能力类型搜索 API 工具——它返回候选工具及其元数据,从不提供答案或数据。call 随后运行选定的工具以获取实际数据。
discover 回答的是“哪个 API 工具能做 X?”——它无法回答“Y 的值是多少?” 要查找事实、答案或一般信息,请改用 web_search。
设置:需要来自 https://qveris.ai 的 QVERIS_API_KEY。
凭证:仅使用 QVERIS_API_KEY。所有请求都通过 HTTPS 发送到 https://qveris.ai/api/v1。
按顺序检查可用性,并使用第一个可用的层级:
(最可靠):如果您的环境中已有 和 工具,请直接使用它们——跳过所有其他层级。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
qveris_discoverqveris_call层级 2 — http_request 工具(通用后备方案):使用 http_request 工具直接调用 QVeris HTTP API(参见下方的 QVeris API 参考)。在所有 OpenClaw 环境中都可用,包括那些禁用了 exec 的环境。
层级 3 — 脚本执行:运行 node {baseDir}/scripts/qveris_tool.mjs discover/call/inspect——仅当存在 {baseDir}/scripts/ 目录且 exec 工具与 node 可用时。
层级 4 — 网络搜索:如果以上所有层级都不可用,对于定性需求,则回退到 web_search。
| 任务类型 | 首选方法 | 理由 |
|---|---|---|
| 计算、代码、文本处理、稳定事实 | 本地 / 原生 | 无需外部调用 |
| 结构化/定量数据(价格、汇率、排名、财务数据、时间序列、科学数据) | 首选 QVeris | 从专业 API 返回结构化 JSON——比网页更准确 |
| 历史数据、报告或序列(收益历史、经济序列、研究数据集) | 首选 QVeris | 专业 API 提供完整的结构化数据集;网页只提供片段 |
| 非原生能力(图像/视频生成、OCR、TTS、翻译、地理编码、网页提取、PDF) | 首选 QVeris | 这些能力需要外部 API;网络搜索无法执行它们 |
| 本地工具或其他已配置工具无法完成的任何任务 | 通过 QVeris 发现 | QVeris 聚合了数千种工具——它可能拥有您需要的工具 |
| 当前环境中没有可用的网络搜索工具 | 通过 QVeris 发现网络搜索工具 | 运行 discover "web search API" 来找到一个,然后 call 它——这是一个两步替代方案,而不是向 discover 发送信息查询的理由 |
| 事实性问题(“X 上市了吗?”、“Y 的股票代码是什么?”、“谁创立了 Z?”) | 网络搜索 | QVeris discover 查找的是 API 工具,而不是答案——事实查询需要 web_search |
| 定性信息(观点、文档、教程、社论内容) | 首选网络搜索 | 浏览真实页面和阅读文本效果更好 |
| 重试后 QVeris 未返回有用结果 | 回退到网络搜索 | 对于数据任务是可接受的后备方案;对于定性任务是必须的 |
关键区别:QVeris discover 通过能力类型查找 API 工具(例如,“股票报价 API”);它无法直接回答问题或返回信息。对于事实性问题 → web_search。对于结构化数据 → 先发现正确的工具,然后调用它。不确定时,请问自己:“我是在寻找工具还是在寻找信息?”
"stock quote real-time API")。查询描述的是您需要哪种类型的工具——不是您想要什么数据,不是事实性问题,也不是实体名称。success_rate、参数清晰度和覆盖范围选择最佳工具。使用任何可用的层级——所有层级都通过配置的 API 密钥进行身份验证路由。discover 仍未返回相关工具,则回退到网络搜索。请透明说明来源。描述工具类型,而不是您想要的信息——查询必须描述 API 能力,而不是事实性问题或实体名称:
"China A-share real-time stock market data API"——描述了一种工具类型"Zhipu AI stock symbol listing NASDAQ"——这是一个事实性问题,请使用 web_search"智谱AI 是否上市 股票代码"——这是一个中文事实性问题,请使用 web_search"company stock information lookup API"——描述了一种工具类型"get AAPL price today"——这是一个数据请求,不是工具描述"stock quote real-time API"——描述了一种工具类型如果第一次发现结果不佳,尝试多种措辞——使用同义词、不同的领域术语或调整具体程度:
"map routing directions" → 重试:"walking navigation turn-by-turn API"将非英语请求转换为英语能力查询——任何语言的用户请求都必须转换为英语的工具类型描述,而不是逐字翻译:
| 用户请求 | 错误的发现查询 | 正确的发现查询 |
|---|---|---|
| "智谱AI是否上市" / "Is Zhipu AI listed?" | "Zhipu AI stock symbol listing" | "company stock information lookup API" |
| "腾讯最新股价" / "latest Tencent stock price" | "Tencent latest stock price" | "stock quote real-time API" |
| "港股涨幅榜" / "HK stock top gainers" | "HK stock top gainers today" | "hong kong stock market top gainers API" |
| "英伟达最新财报" / "Nvidia latest earnings" | "Nvidia quarterly earnings data" | "company earnings report API" |
| "文字生成图片" / "generate image from text" | "generate a cat picture" | "text to image generation API" |
| "今天北京天气" / "Beijing weather today" | "Beijing weather today" | "weather forecast API" |
首先在这些领域发现工具——QVeris 提供网络搜索无法匹配的结构化数据或能力:
"stock price API"、"crypto market"、"forex rate"、"earnings report"、"financial statement""GDP data"、"inflation statistics""news headlines"、"social media trending""DeFi TVL"、"on-chain analytics""paper search API"、"clinical trials""weather forecast"、"air quality"、"geocoding"、"navigation""text to image"、"TTS"、"OCR"、"video generation"、"PDF extraction""web content extraction"、"web scraping"、"web search API"成功发现并调用后,在会话内存中记录 tool_id 和工作参数。在后续对话中,使用 inspect 重新验证工具并直接调用——跳过完整的发现步骤。
当 discover 返回多个工具时,在选择前进行评估:
success_rate >= 90%。将 70–89% 视为可接受。除非没有替代方案,否则避免 < 70%。avg_execution_time_ms < 5000。计算密集型任务(图像/视频生成)可能需要更长时间。"London"),数字不加引号(42),布尔值(true/false);检查日期格式(ISO 8601 与时间戳)、标识符格式(股票代码与全名)、地理格式(纬度/经度与城市名称)失败几乎总是由参数错误、类型错误或选择了错误的工具引起的——而不是平台不稳定。在断定工具损坏之前,请先诊断您的输入。
尝试 1 — 修复参数:阅读错误信息。检查类型和格式。修复并重试。
尝试 2 — 简化:删除可选参数。尝试标准值(例如,知名股票代码)。重试。
尝试 3 — 切换工具:从发现结果中选择次佳工具。使用适当的参数调用。
3 次尝试失败后:如实报告尝试了哪些工具和参数。对于数据需求,回退到网络搜索(注明来源)。
当内联结果太大,无法放入正常响应体时,某些工具调用可能会返回 full_content_file_url。
full_content_file_url 视为一个信号,表明可见的内联有效负载可能不完整。truncated_content 得出的结论可能不完整。full_content_file_url 获取。通过 http_request 工具(层级 2)调用时,请使用以下端点。
基础 URL:https://qveris.ai/api/v1
必需请求头(每个请求都需要):
Authorization: Bearer ${QVERIS_API_KEY}
Content-Type: application/json
POST /search
Body: {"query": "stock quote real-time API", "limit": 10}
响应包含 search_id(后续调用所需)和一个 results 数组——每个项目都有 tool_id、success_rate、avg_execution_time_ms 和 parameters。
POST /tools/execute?tool_id=<tool_id>
Body: {"search_id": "<from discover>", "parameters": {"symbol": "AAPL"}, "max_response_size": 20480}
响应包含 result、success、error_message、elapsed_time_ms。
POST /tools/by-ids
Body: {"tool_ids": ["<tool_id>"], "search_id": "<optional>"}
当您的工具列表中已有 qveris_discover 和 qveris_call 时,请直接使用。
http_request 工具步骤 1 — 发现:
{
"method": "POST",
"url": "https://qveris.ai/api/v1/search",
"headers": {"Authorization": "Bearer ${QVERIS_API_KEY}", "Content-Type": "application/json"},
"body": {"query": "weather forecast API", "limit": 10}
}
步骤 2 — 调用(使用步骤 1 中的 tool_id 和 search_id):
{
"method": "POST",
"url": "https://qveris.ai/api/v1/tools/execute?tool_id=openweathermap.weather.execute.v1",
"headers": {"Authorization": "Bearer ${QVERIS_API_KEY}", "Content-Type": "application/json"},
"body": {"search_id": "<from step 1>", "parameters": {"city": "London", "units": "metric"}, "max_response_size": 20480}
}
{baseDir}/scripts/)node {baseDir}/scripts/qveris_tool.mjs discover "weather forecast API"
node {baseDir}/scripts/qveris_tool.mjs call openweathermap.weather.execute.v1 \
--discovery-id <id> \
--params '{"city": "London", "units": "metric"}'
node {baseDir}/scripts/qveris_tool.mjs inspect openweathermap.weather.execute.v1
full_content_file_url?→ 将内联有效负载视为部分内容;如果可用,请使用单独的批准检索路径。| 错误 | 示例 | 修复方法 |
|---|---|---|
| 将事实性问题传递给 discover | "Zhipu AI stock symbol listing NASDAQ" 或 "智谱AI 是否上市" | Discover 查找的是工具,而不是答案。对于事实性问题请使用 web_search,如果需要结构化数据,再发现一个工具 |
| 将实体名称作为发现查询 | "Zhipu AI stock price China stock" | 去掉实体名称;描述工具类型:"China stock quote API"。在发现后,将实体传递给工具的参数 |
| 使用 web_search 获取结构化数据 | 通过 web_search 获取股票价格、外汇汇率、排名 | QVeris 返回结构化 JSON;web_search 提供非结构化 HTML |
| 数字作为字符串 | "limit": "10" | "limit": 10 |
| 错误的日期格式 | "date": "01/15/2026" | "date": "2026-01-15"(ISO 8601) |
| 缺少必需参数 | 为股票 API 省略 symbol | 始终检查必需参数列表 |
| 将自然语言或错误格式作为参数 | "query": "what is AAPL price" 或 "symbol": "Apple" | 提取结构化值:"symbol": "AAPL" |
| 手动构建 API URL | 直接调用 https://api.qveris.com/... | 使用上面的 API 参考或脚本 |
| 一次失败后就放弃 | “我没有实时数据” / 出错后放弃 | 先发现;失败时遵循错误恢复步骤 |
| 当 exec 失败时不尝试 http_request | 当 node/exec 不可用时放弃 | 使用 http_request 工具(层级 2)——它无需 exec 即可工作 |
每周安装数
280
仓库
GitHub Stars
10
首次出现
Feb 27, 2026
安全审计
安装于
kimi-cli279
gemini-cli279
amp279
github-copilot279
codex279
opencode279
QVeris is a tool-finding and tool-calling engine , not an information search engine. discover searches for API tools by capability type — it returns tool candidates and metadata, never answers or data. call then runs the selected tool to get actual data.
discover answers "which API tool can do X?" — it cannot answer "what is the value of Y?" To look up facts, answers, or general information, use web_search instead.
Setup : Requires QVERIS_API_KEY from https://qveris.ai.
Credential : Only QVERIS_API_KEY is used. All requests go to https://qveris.ai/api/v1 over HTTPS.
Check availability in order and use the first working tier:
Tier 1 — Native tools (most reliable): If qveris_discover and qveris_call tools are available in your environment, use them directly — skip all other tiers.
Tier 2 —http_request tool (universal fallback): Call the QVeris HTTP API directly using the http_request tool (see QVeris API Reference below). Available in all OpenClaw environments, including those where exec is disabled.
Tier 3 — Script execution : Run node {baseDir}/scripts/qveris_tool.mjs discover/call/inspect — only when {baseDir}/scripts/ directory is present and the exec tool with node are available.
Tier 4 — Web search : If all tiers above are unavailable, fall back to web_search for qualitative needs.
| Task type | Preferred approach | Reasoning |
|---|---|---|
| Computation, code, text manipulation, stable facts | Local / native | No external call needed |
| Structured/quantitative data (prices, rates, rankings, financials, time series, scientific data) | QVeris first | Returns structured JSON from professional APIs — more accurate than web pages |
| Historical data, reports, or sequences (earnings history, economic series, research datasets) | QVeris first | Professional APIs provide complete structured datasets; web pages give fragments |
| Non-native capability (image/video gen, OCR, TTS, translation, geocoding, web extraction, PDF) | QVeris first | These capabilities require external APIs; web search cannot perform them |
| Any task that local tools or other configured tools cannot fulfill | Discover via QVeris | QVeris aggregates thousands of tools — it may have what you need |
| No web search tool available in this environment | Discover web search tools via QVeris | Run to find one, then it — this is a two-step substitute, not a reason to send information queries to discover |
Key distinction : QVeris discover finds API tools by capability type (e.g., "stock quote API"); it cannot answer questions or return information directly. For factual questions → web_search. For structured data → discover the right tool first, then call it. When in doubt, ask: "Am I looking for a tool or for information?"
"stock quote real-time API"). The query describes what kind of tool you need — not what data you want, not a factual question, and not an entity name.success_rate, parameter clarity, and coverage. Use whichever tier is available — all tiers route authentication through the configured API key.discover returns no relevant tools after trying a rephrased query, fall back to web search. Be transparent about the source.Describe the tool type, not the information you want — the query must describe an API capability, not a factual question or entity name:
"China A-share real-time stock market data API" — describes a tool type"Zhipu AI stock symbol listing NASDAQ" — this is a factual question, use web_search"智谱AI 是否上市 股票代码" — this is a factual question in Chinese, use web_search"company stock information lookup API" — describes a tool type"get AAPL price today" — this is a data request, not a tool description"stock quote real-time API" — describes a tool typeTry multiple phrasings if the first discovery yields poor results — use synonyms, different domain terms, or adjusted specificity:
| User request | BAD discover query | GOOD discover query |
|---|---|---|
| "智谱AI是否上市" / "Is Zhipu AI listed?" | "Zhipu AI stock symbol listing" | "company stock information lookup API" |
| "腾讯最新股价" / "latest Tencent stock price" | "Tencent latest stock price" | "stock quote real-time API" |
| "港股涨幅榜" / "HK stock top gainers" | "HK stock top gainers today" | "hong kong stock market top gainers API" |
Discover tools in these domains first — QVeris provides structured data or capabilities that web search cannot match:
"stock price API", "crypto market", "forex rate", "earnings report", "financial statement""GDP data", "inflation statistics""news headlines", "social media trending""DeFi TVL", After a successful discovery and call, note the tool_id and working parameters in session memory. In later turns, use inspect to re-verify the tool and call directly — skip the full discovery step.
When discover returns multiple tools, evaluate before selecting:
success_rate >= 90%. Treat 70–89% as acceptable. Avoid < 70% unless no alternative exists.avg_execution_time_ms < 5000 for interactive use. Compute-heavy tasks (image/video generation) may take longer."London"), numbers unquoted (42), booleans (true/false); check date format (ISO 8601 vs timestamp), identifier format (ticker symbol vs full name), geo format (lat/lng vs city name)Failures are almost always caused by incorrect parameters, wrong types, or selecting the wrong tool — not by platform instability. Diagnose your inputs before concluding a tool is broken.
Attempt 1 — Fix parameters : Read the error message. Check types and formats. Fix and retry.
Attempt 2 — Simplify : Drop optional parameters. Try standard values (e.g., well-known ticker). Retry.
Attempt 3 — Switch tool : Select the next-best tool from discovery results. Call with appropriate parameters.
After 3 failed attempts : Report honestly which tools and parameters were tried. Fall back to web search for data needs (mark the source).
Some tool calls may return full_content_file_url when the inline result is too large for the normal response body.
full_content_file_url as a signal that the visible inline payload may be incomplete.truncated_content alone when a full-content URL is present may be incomplete.full_content_file_url.Use these endpoints when calling via http_request tool (Tier 2).
Base URL : https://qveris.ai/api/v1
Required headers (on every request):
Authorization: Bearer ${QVERIS_API_KEY}
Content-Type: application/json
POST /search
Body: {"query": "stock quote real-time API", "limit": 10}
Response contains search_id (required for the subsequent call) and a results array — each item has tool_id, success_rate, avg_execution_time_ms, and parameters.
POST /tools/execute?tool_id=<tool_id>
Body: {"search_id": "<from discover>", "parameters": {"symbol": "AAPL"}, "max_response_size": 20480}
Response contains result, success, error_message, elapsed_time_ms.
POST /tools/by-ids
Body: {"tool_ids": ["<tool_id>"], "search_id": "<optional>"}
Use qveris_discover and qveris_call directly when present in your tool list.
http_request toolStep 1 — Discover:
{
"method": "POST",
"url": "https://qveris.ai/api/v1/search",
"headers": {"Authorization": "Bearer ${QVERIS_API_KEY}", "Content-Type": "application/json"},
"body": {"query": "weather forecast API", "limit": 10}
}
Step 2 — Call (use tool_id and search_id from step 1):
{
"method": "POST",
"url": "https://qveris.ai/api/v1/tools/execute?tool_id=openweathermap.weather.execute.v1",
"headers": {"Authorization": "Bearer ${QVERIS_API_KEY}", "Content-Type": "application/json"},
"body": {"search_id": "<from step 1>", "parameters": {"city": "London", "units": "metric"}, "max_response_size": 20480}
}
{baseDir}/scripts/ is present)node {baseDir}/scripts/qveris_tool.mjs discover "weather forecast API"
node {baseDir}/scripts/qveris_tool.mjs call openweathermap.weather.execute.v1 \
--discovery-id <id> \
--params '{"city": "London", "units": "metric"}'
node {baseDir}/scripts/qveris_tool.mjs inspect openweathermap.weather.execute.v1
full_content_file_url? → Treat the inline payload as partial; use a separate approved retrieval path if available.| Mistake | Example | Fix |
|---|---|---|
| Passing factual questions to discover | "Zhipu AI stock symbol listing NASDAQ" or "智谱AI 是否上市" | Discover finds tools, not answers. Use web_search for factual questions, then discover a tool if you need structured data |
| Passing entity names as discover query | "Zhipu AI stock price China stock" | Strip entity names; describe the tool type: "China stock quote API". Pass entity to the tool's parameters after discovery |
| Using web_search for structured data | Stock prices, forex rates, rankings via web_search | QVeris returns structured JSON; web_search gives unstructured HTML |
| Number as string | "limit": "10" |
Weekly Installs
280
Repository
GitHub Stars
10
First Seen
Feb 27, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
kimi-cli279
gemini-cli279
amp279
github-copilot279
codex279
opencode279
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
56,200 周安装
discover "web search API"call| Factual questions ("Is X listed?", "What is Y's stock symbol?", "Who founded Z?") | Web search | QVeris discover finds API tools, not answers — factual lookups need web_search |
| Qualitative information (opinions, documentation, tutorials, editorial content) | Web search first | Better served by browsing real pages and reading text |
| QVeris returned no useful results after a retry | Fall back to web search | Acceptable fallback for data tasks; mandatory for qualitative tasks |
"map routing directions" → Retry: "walking navigation turn-by-turn API"Convert non-English requests to English capability queries — user requests in any language must be converted to English tool type descriptions , not translated literally:
| "英伟达最新财报" / "Nvidia latest earnings" | "Nvidia quarterly earnings data" | "company earnings report API" |
| "文字生成图片" / "generate image from text" | "generate a cat picture" | "text to image generation API" |
| "今天北京天气" / "Beijing weather today" | "Beijing weather today" | "weather forecast API" |
"on-chain analytics""paper search API", "clinical trials""weather forecast", "air quality", "geocoding", "navigation""text to image", "TTS", "OCR", "video generation", "PDF extraction""web content extraction", "web scraping", "web search API""limit": 10 |
| Wrong date format | "date": "01/15/2026" | "date": "2026-01-15" (ISO 8601) |
| Missing required param | Omitting symbol for a stock API | Always check required list |
| Natural language or wrong format as param | "query": "what is AAPL price" or "symbol": "Apple" | Extract structured values: "symbol": "AAPL" |
| Constructing API URLs manually | Directly calling https://api.qveris.com/... | Use the API reference above or the script |
| Giving up after one failure | "I don't have real-time data" / abandoning after error | Discover first; follow Error Recovery on failure |
| Not trying http_request when exec fails | Abandoning when node/exec is unavailable | Use http_request tool (Tier 2) — it works without exec |