release: v0.20 Codex-ready skill-driven core
This commit is contained in:
+16
-5
@@ -25,17 +25,19 @@ from scripts.lib.zenmux_client import load_secrets
|
||||
|
||||
|
||||
ROUTE_HELP = {
|
||||
"general": "Exa -> Tavily generic web discovery",
|
||||
"general": "Tavily -> Exa -> Brave generic web discovery",
|
||||
"evidence": "Exa highlights -> Tavily -> Brave controlled evidence discovery",
|
||||
"scholar": "Serper Scholar -> generic fallback",
|
||||
"patents": "Serper Google Patents -> site:patents.google.com fallback",
|
||||
"news": "Serper News -> generic fallback",
|
||||
"fda": "FDA-focused discovery for warning letters, enforcement pages, and meeting materials",
|
||||
}
|
||||
|
||||
PROFILE_ROUTES = {
|
||||
"biomed_literature": ["scholar", "general"],
|
||||
"patent_heavy": ["patents", "general"],
|
||||
"china_market": ["news", "general"],
|
||||
"investment": ["news", "general"],
|
||||
"biomed_literature": ["scholar", "evidence", "general"],
|
||||
"patent_heavy": ["patents", "evidence", "general"],
|
||||
"china_market": ["news", "evidence", "general"],
|
||||
"investment": ["news", "evidence", "general"],
|
||||
}
|
||||
|
||||
PROFILE_QUERY_PREFIX = {
|
||||
@@ -46,12 +48,16 @@ PROFILE_QUERY_PREFIX = {
|
||||
def search_route(client: SearchClient, route: str, query: str, args: argparse.Namespace) -> list[SearchHit]:
|
||||
if route == "general":
|
||||
return client.search(query, num_results=args.num_results)
|
||||
if route == "evidence":
|
||||
return client.evidence(query, num_results=args.num_results, category=args.exa_category)
|
||||
if route == "scholar":
|
||||
return client.scholar(query, num_results=args.num_results, year_low=args.year_low)
|
||||
if route == "patents":
|
||||
return client.patents(query, num_results=args.num_results)
|
||||
if route == "news":
|
||||
return client.news(query, num_results=args.num_results, time_range=args.time_range)
|
||||
if route == "fda":
|
||||
return client.fda(query, num_results=args.num_results)
|
||||
raise SystemExit(f"unknown route: {route}")
|
||||
|
||||
|
||||
@@ -107,6 +113,11 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
help="Run a strategy profile instead of a single route",
|
||||
)
|
||||
parser.add_argument("--num-results", type=int, default=10)
|
||||
parser.add_argument(
|
||||
"--exa-category",
|
||||
choices=["research paper", "news", "company", "financial report", "github", "tweet", "personal site", "pdf"],
|
||||
help="Optional Exa category for the evidence route",
|
||||
)
|
||||
parser.add_argument("--year-low", type=int, help="Lower year bound for scholar searches")
|
||||
parser.add_argument("--time-range", choices=["d", "w", "m", "y"], help="Serper news time range")
|
||||
parser.add_argument("--json", action="store_true", help="Emit JSON instead of Markdown")
|
||||
|
||||
Reference in New Issue
Block a user