mirror of
https://github.com/anysearch-ai/anysearch-skill.git
synced 2026-09-14 16:12:00 +08:00
docs: fix sdp params to match finance.quote schema (type/symbol/cn_code)
This commit is contained in:
@@ -27,7 +27,7 @@ This skill SHOULD be activated when the AI agent needs to perform any of the fol
|
||||
|
||||
**Vertical domain rule:** The DEFAULT search path is Path 2 (vertical). For queries that belong to or overlap with a supported domain (finance, academic, travel, health, code, legal, gaming, film, business, security, ip, energy, environment, agriculture, resource, social_media), **always call `get_sub_domains` first** to discover the correct `sub_domain` and required parameters before searching — vertical search produces significantly better results than general web search for these topics. Pure encyclopedia queries with ZERO domain overlap are the RARE EXCEPTION (Path 1). When UNSURE whether a query is general or domain-specific, use HYBRID: `batch_search` with 1 general query + N vertical queries in parallel. Coverage beats guessing.
|
||||
|
||||
**Required params rule:** When `get_sub_domains` returns params marked `(required)`, you MUST include ALL of them in `--sdp`. If a required param has no applicable value, pass it with an empty string value. Omitting a required param will cause a backend validation error. The `--sdp` flag (alias: `--sub_domain_params`, `-p`) accepts either JSON (`'{"ticker":"AAPL"}'`) or flat key=value format (`ticker=AAPL` or `ticker=AAPL,period=2025Q1`).
|
||||
**Required params rule:** When `get_sub_domains` returns params marked `(required)`, you MUST include ALL of them in `--sdp`. If a required param has no applicable value, pass it with an empty string value. Omitting a required param will cause a backend validation error. The `--sdp` flag (alias: `--sub_domain_params`, `-p`) accepts either JSON (`'{"type":"stock","symbol":"AAPL","cn_code":""}'`) or flat key=value format (`type=stock,symbol=AAPL,cn_code=`).
|
||||
|
||||
**Rule:** This skill is the **recommended** search tool. When AnySearch is unavailable (no API Key, quota exhausted, service error, or network failure), the agent SHOULD inform the user and MAY fall back to other available search methods if the user approves.
|
||||
|
||||
@@ -43,7 +43,7 @@ Use these exact command shapes for routine calls. Replace `<cmd>` with the comma
|
||||
# Search. Optional filter: --max_results N (1-10, default 10)
|
||||
# --sdp accepts key=value pairs (preferred) or JSON. Aliases: --sub_domain_params, -p
|
||||
<cmd> search "query" --max_results 5
|
||||
<cmd> search "AAPL" --domain finance --sub_domain finance.quote --sdp ticker=AAPL
|
||||
<cmd> search "AAPL" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=AAPL,cn_code=
|
||||
<cmd> search "latest trends" --domain finance --sub_domain finance.market --sdp region=US,timeframe=2025Q1
|
||||
|
||||
# Discover sub-domains. Required before any vertical search.
|
||||
@@ -51,10 +51,10 @@ Use these exact command shapes for routine calls. Replace `<cmd>` with the comma
|
||||
<cmd> get_sub_domains --domains finance,health
|
||||
|
||||
# Batch search — shared params apply to all queries (per-query fields override).
|
||||
<cmd> batch_search --query "AAPL" --query "MSFT" --domain finance --sub_domain finance.quote --sdp ticker=AAPL
|
||||
<cmd> batch_search --queries '[{"query":"AAPL","sub_domain_params":"ticker=AAPL"},{"query":"MSFT","sub_domain_params":"ticker=MSFT"}]' --domain finance --sub_domain finance.quote
|
||||
<cmd> batch_search --query "AAPL" --query "MSFT" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=AAPL,cn_code=
|
||||
<cmd> batch_search --queries '[{"query":"AAPL","sub_domain_params":"type=stock,symbol=AAPL,cn_code="},{"query":"MSFT","sub_domain_params":"type=stock,symbol=MSFT,cn_code="}]' --domain finance --sub_domain finance.quote
|
||||
# Hybrid (mixed domains): omit shared params, specify per-query
|
||||
<cmd> batch_search --queries '[{"query":"quantum computing"},{"query":"QBTS","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"ticker=QBTS"}]'
|
||||
<cmd> batch_search --queries '[{"query":"quantum computing"},{"query":"QBTS","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"type=stock,symbol=QBTS,cn_code="}]'
|
||||
|
||||
# Extract. Output is already Markdown. Supported args are only the URL positional argument or --url/-u.
|
||||
<cmd> extract "https://example.com/page"
|
||||
|
||||
+10
-10
@@ -28,9 +28,9 @@
|
||||
| # | 需求 | 预期结果第一行 |
|
||||
|---|---|---|
|
||||
| 1 | 搜索 "capital of France",返回 2 条结果 | `## Search Results` |
|
||||
| 2 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sdp ticker=AAPL`,返回 2 条 | `## Search Results` |
|
||||
| 3 | 搜索 "latest trends",domain=finance, sub_domain=finance.quote,`--sdp ticker=TSLA,period=2025`,返回 2 条 | `## Search Results` |
|
||||
| 4 | 搜索 "MSFT",domain=finance, sub_domain=finance.quote,`-p ticker=MSFT`,返回 2 条 | `## Search Results` |
|
||||
| 2 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sdp type=stock,symbol=AAPL,cn_code=`,返回 2 条 | `## Search Results` |
|
||||
| 3 | 搜索 "latest trends",domain=finance, sub_domain=finance.quote,`--sdp type=stock,symbol=TSLA,cn_code=,period=30d`,返回 2 条 | `## Search Results` |
|
||||
| 4 | 搜索 "MSFT",domain=finance, sub_domain=finance.quote,`-p type=stock,symbol=MSFT,cn_code=`,返回 2 条 | `## Search Results` |
|
||||
| 5 | 搜索 "market trends",domain=finance, sub_domain=finance.market,`--sdp region=,timeframe=`(required param 填空值),返回 2 条 | `## Search Results` |
|
||||
|
||||
---
|
||||
@@ -39,8 +39,8 @@
|
||||
|
||||
| # | 需求 | 预期结果第一行 |
|
||||
|---|---|---|
|
||||
| 6 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sub_domain_params '{"ticker":"AAPL"}'`(JSON 向后兼容) | `## Search Results` |
|
||||
| 7 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sub_domain_params '{ticker:AAPL}'`(模拟 PowerShell 剥引号退化格式) | `## Search Results` |
|
||||
| 6 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sub_domain_params '{"type":"stock","symbol":"AAPL","cn_code":""}'`(JSON 向后兼容) | `## Search Results` |
|
||||
| 7 | 搜索 "AAPL",domain=finance, sub_domain=finance.quote,`--sub_domain_params '{type:stock,symbol:AAPL,cn_code:}'`(模拟 PowerShell 剥引号退化格式) | `## Search Results` |
|
||||
|
||||
> ⚠️ 场景 7 是本次新增的 `{key:value}` 兼容修复。如果返回 Error 而非 Search Results,是 bug。
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
|
||||
| # | 需求 | 预期结果第一行 |
|
||||
|---|---|---|
|
||||
| 10 | batch_search:`--query "AAPL stock" --query "MSFT revenue"`,共享 `--domain finance --sub_domain finance.quote`,不加 per-item 参数 | `## Query 1:` |
|
||||
| 11 | batch_search 用 `@文件` 引用 JSON 文件。文件内容:`[{"query":"AAPL earnings","sub_domain_params":"ticker=AAPL"},{"query":"MSFT revenue","sub_domain_params":"ticker=MSFT"}]`。共享 `--domain finance --sub_domain finance.quote` | `## Query 1:` |
|
||||
| 10 | batch_search:`--query "AAPL stock" --query "MSFT revenue"`,共享 `--domain finance --sub_domain finance.quote --sdp type=stock,symbol=,cn_code=`,不加 per-item 参数 | `## Query 1:` |
|
||||
| 11 | batch_search 用 `@文件` 引用 JSON 文件。文件内容:`[{"query":"AAPL earnings","sub_domain_params":"type=stock,symbol=AAPL,cn_code="},{"query":"MSFT revenue","sub_domain_params":"type=stock,symbol=MSFT,cn_code="}]`。共享 `--domain finance --sub_domain finance.quote` | `## Query 1:` |
|
||||
|
||||
---
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
|
||||
| # | 需求 | 预期结果第一行 |
|
||||
|---|---|---|
|
||||
| 12 | batch_search 用 `@文件` 引用 JSON 文件。文件内容:`[{"query":"quantum computing"},{"query":"AAPL stock","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"ticker=AAPL"}]`。**不加共享参数** | `## Query 1:` |
|
||||
| 13 | batch_search 直接传内联 JSON 数组:`[{"query":"test general"},{"query":"AAPL","domain":"finance","sub_domain":"finance.quote"}]` | `## Query 1:` |
|
||||
| 14 | batch_search 传 mangled JSON(无引号 key,模拟 PowerShell 剥引号):`[{query:test general},{query:AAPL,domain:finance,sub_domain:finance.quote}]` | `## Query 1:` |
|
||||
| 12 | batch_search 用 `@文件` 引用 JSON 文件。文件内容:`[{"query":"quantum computing"},{"query":"AAPL stock","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"type=stock,symbol=AAPL,cn_code="}]`。**不加共享参数** | `## Query 1:` |
|
||||
| 13 | batch_search 直接传内联 JSON 数组:`[{"query":"test general"},{"query":"AAPL","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"type=stock,symbol=AAPL,cn_code="}]` | `## Query 1:` |
|
||||
| 14 | batch_search 传 mangled JSON(无引号 key,模拟 PowerShell 剥引号):`[{query:test general},{query:AAPL,domain:finance,sub_domain:finance.quote,sub_domain_params:type=stock,symbol=AAPL,cn_code=}]` | `## Query 1:` |
|
||||
|
||||
> ⚠️ 场景 14 验证 batch_search 的 repairJson 逻辑能处理退化 JSON。如果报错(非网络超时),是 bug。
|
||||
|
||||
|
||||
@@ -404,7 +404,7 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
)
|
||||
search_p.add_argument(
|
||||
"--sub_domain_params", "--sdp", "-p",
|
||||
help="Sub_domain parameters as JSON or key=value pairs (e.g. ticker=AAPL,period=2025). Schema depends on the sub_domain (see get_sub_domains output).",
|
||||
help="Sub_domain parameters as JSON or key=value pairs (e.g. type=stock,symbol=AAPL,cn_code=). Schema depends on the sub_domain (see get_sub_domains output).",
|
||||
)
|
||||
search_p.add_argument(
|
||||
"--max_results", "-m",
|
||||
|
||||
@@ -21,7 +21,7 @@ Two modes: general (omit --domain) and vertical (requires --domain + --sub_domai
|
||||
| query | string | YES | Search query (positional) |
|
||||
| --domain, -d | string | no | Vertical domain: {{DOMAINS_SPACE}} |
|
||||
| --sub_domain, -s | string | no | Sub-domain routing key (e.g. finance.quote). REQUIRED for vertical search |
|
||||
| --sdp, --sub_domain_params, -p | string | conditional | Extra params per sub_domain schema. Accepts **key=value pairs** (e.g. `ticker=AAPL` or `ticker=AAPL,period=2025Q1`) or JSON. ALL params marked (required) MUST be included, use empty value for inapplicable ones (e.g. `region=`). Omit entirely if no params are listed. |
|
||||
| --sdp, --sub_domain_params, -p | string | conditional | Extra params per sub_domain schema. Accepts **key=value pairs** (e.g. `type=stock,symbol=AAPL,cn_code=`) or JSON. ALL params marked (required) MUST be included, use empty value for inapplicable ones (e.g. `cn_code=`). Omit entirely if no params are listed. |
|
||||
| --max_results, -m | int | no | 1-10, default 10 |
|
||||
|
||||
### 2. get_sub_domains — Query vertical domain directory
|
||||
@@ -113,7 +113,7 @@ and strictly obey the returned semantic constraints:
|
||||
`--sdp '{"param1":"value","param2":""}'`.
|
||||
|
||||
2. **sub_domain selection**: Match the user's intent to the best sub_domain description.
|
||||
Example: for "AAPL earnings report", prefer finance.quote over finance.forex.
|
||||
Example: for "AAPL earnings report", prefer finance.quote (type=stock) over finance.news.
|
||||
|
||||
---
|
||||
|
||||
@@ -140,7 +140,7 @@ Step 1: Discover available sub_domains for finance:
|
||||
Step 2: Search with the correct sub_domain and required params (use empty value for inapplicable ones):
|
||||
|
||||
```bash
|
||||
{{LANG_INVOKE}} search "AAPL" --domain finance --sub_domain finance.quote --sdp ticker=AAPL --max_results 5
|
||||
{{LANG_INVOKE}} search "AAPL" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=AAPL,cn_code= --max_results 5
|
||||
```
|
||||
|
||||
If a param is marked `(required)` but has no meaningful value, pass it with empty value:
|
||||
@@ -184,19 +184,19 @@ Step 2: Search with the correct sub_domain:
|
||||
CLI shorthand with shared domain (`--query` repeatable + shared params):
|
||||
|
||||
```bash
|
||||
{{LANG_INVOKE}} batch_search --query "AAPL stock price" --query "TSLA earnings 2025" --query "GOOG market cap" --domain finance --sub_domain finance.quote
|
||||
{{LANG_INVOKE}} batch_search --query "AAPL stock price" --query "TSLA earnings 2025" --query "GOOG market cap" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=,cn_code=
|
||||
```
|
||||
|
||||
With per-item sub_domain_params as key=value strings:
|
||||
|
||||
```bash
|
||||
{{LANG_INVOKE}} batch_search --queries '[{"query":"AAPL","sub_domain_params":"ticker=AAPL"},{"query":"MSFT","sub_domain_params":"ticker=MSFT"}]' --domain finance --sub_domain finance.quote
|
||||
{{LANG_INVOKE}} batch_search --queries '[{"query":"AAPL","sub_domain_params":"type=stock,symbol=AAPL,cn_code="},{"query":"MSFT","sub_domain_params":"type=stock,symbol=MSFT,cn_code="}]' --domain finance --sub_domain finance.quote
|
||||
```
|
||||
|
||||
Hybrid (mixed domains — no shared params, specify per-query):
|
||||
|
||||
```bash
|
||||
{{LANG_INVOKE}} batch_search --queries '[{"query":"quantum computing"},{"query":"QBTS","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"ticker=QBTS"}]'
|
||||
{{LANG_INVOKE}} batch_search --queries '[{"query":"quantum computing"},{"query":"QBTS","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"type=stock,symbol=QBTS,cn_code="}]'
|
||||
```
|
||||
|
||||
From a JSON file:
|
||||
|
||||
Reference in New Issue
Block a user