/** * web-search-pro — 增强型、可持久化的扩展网页搜索插件 for DeepSeek Harness. * * - Multi-backend search routing with automatic fallback (agent-reach style): * ctx.web seam / Exa / DuckDuckGo / Bing / Jina + platform backends * (bili-cli, yt-dlp, sov2ex, opencli, agent-reach). * - Persistent SQLite store (MediaCrawler style): search queries + results, * page snapshots, and user-extended per-site extraction rules survive * restarts and are reused within a configurable TTL. * - Userscript-style per-site extraction rules ("脚本猫/油猴" style) applied * by the fetch pipeline (Jina Reader → HTTP+extraction → Playwright). * - Optional ctx.web provider registration so the built-in web_search / * web_fetch tools can route through this plugin. * * @module web-search-pro */ import type { Context } from '@deepseek-ai/cordis'; import { Config } from './config.ts'; export declare const name = "web-search-pro"; export declare const inject: string[]; export { Config }; export type { Config as WebSearchProConfig } from './config.ts'; export { ExaClient } from './exa-client.ts'; export type { ExaSearchRequest, ExaSearchType, ExaResult } from './exa-client.ts'; export { BackendRegistry } from './backend-registry.ts'; export type { Backend, BackendDiagnostic, BackendProbe } from './backend-registry.ts'; export declare function apply(ctx: Context, config: Config): void; declare const _default: { name: string; inject: string[]; Config: import("@deepseek-ai/schemastery").default; ttlSeconds: import("@deepseek-ai/schemastery").default; memoryCacheEntries: import("@deepseek-ai/schemastery").default; rrfConstant: import("@deepseek-ai/schemastery").default; freshnessBoost: import("@deepseek-ai/schemastery").default; freshnessDays: import("@deepseek-ai/schemastery").default; authorityBoost: import("@deepseek-ai/schemastery").default; authorityDomains: import("@deepseek-ai/schemastery").default, NoInfer, "volatile-defined">; searchMaxResults: import("@deepseek-ai/schemastery").default; timeoutMs: import("@deepseek-ai/schemastery").default; allowProxyFakeIp: import("@deepseek-ai/schemastery").default; engines: import("@deepseek-ai/schemastery").default, NoInfer, "volatile-defined">; parallelEngines: import("@deepseek-ai/schemastery").default; exaApiKey: import("@deepseek-ai/schemastery").default; exaApiKeyEnv: import("@deepseek-ai/schemastery").default; jinaApiKey: import("@deepseek-ai/schemastery").default; jinaApiKeyEnv: import("@deepseek-ai/schemastery").default; githubToken: import("@deepseek-ai/schemastery").default; githubTokenEnv: import("@deepseek-ai/schemastery").default; enableCliBackends: import("@deepseek-ai/schemastery").default; opencliEnabled: import("@deepseek-ai/schemastery").default; agentReachEnabled: import("@deepseek-ai/schemastery").default; providerId: import("@deepseek-ai/schemastery").default; registerProvider: import("@deepseek-ai/schemastery").default; platformRules: import("@deepseek-ai/schemastery").default>, NoInfer; title: import("@deepseek-ai/schemastery").default; link: import("@deepseek-ai/schemastery").default; text: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; customPlatforms: import("@deepseek-ai/schemastery").default>, NoInfer; url: import("@deepseek-ai/schemastery").default; item: import("@deepseek-ai/schemastery").default; title: import("@deepseek-ai/schemastery").default; link: import("@deepseek-ai/schemastery").default; text: import("@deepseek-ai/schemastery").default; cookie: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; browserBindings: import("@deepseek-ai/schemastery").default>, NoInfer; rulePack: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; playwright: import("@deepseek-ai/schemastery").default; snapshotDir: import("@deepseek-ai/schemastery").default; }>>, Schemastery.ObjectT; snapshotDir: import("@deepseek-ai/schemastery").default; }>>, "plain">; verbose: import("@deepseek-ai/schemastery").default; }>>, Schemastery.ObjectT; ttlSeconds: import("@deepseek-ai/schemastery").default; memoryCacheEntries: import("@deepseek-ai/schemastery").default; rrfConstant: import("@deepseek-ai/schemastery").default; freshnessBoost: import("@deepseek-ai/schemastery").default; freshnessDays: import("@deepseek-ai/schemastery").default; authorityBoost: import("@deepseek-ai/schemastery").default; authorityDomains: import("@deepseek-ai/schemastery").default, NoInfer, "volatile-defined">; searchMaxResults: import("@deepseek-ai/schemastery").default; timeoutMs: import("@deepseek-ai/schemastery").default; allowProxyFakeIp: import("@deepseek-ai/schemastery").default; engines: import("@deepseek-ai/schemastery").default, NoInfer, "volatile-defined">; parallelEngines: import("@deepseek-ai/schemastery").default; exaApiKey: import("@deepseek-ai/schemastery").default; exaApiKeyEnv: import("@deepseek-ai/schemastery").default; jinaApiKey: import("@deepseek-ai/schemastery").default; jinaApiKeyEnv: import("@deepseek-ai/schemastery").default; githubToken: import("@deepseek-ai/schemastery").default; githubTokenEnv: import("@deepseek-ai/schemastery").default; enableCliBackends: import("@deepseek-ai/schemastery").default; opencliEnabled: import("@deepseek-ai/schemastery").default; agentReachEnabled: import("@deepseek-ai/schemastery").default; providerId: import("@deepseek-ai/schemastery").default; registerProvider: import("@deepseek-ai/schemastery").default; platformRules: import("@deepseek-ai/schemastery").default>, NoInfer; title: import("@deepseek-ai/schemastery").default; link: import("@deepseek-ai/schemastery").default; text: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; customPlatforms: import("@deepseek-ai/schemastery").default>, NoInfer; url: import("@deepseek-ai/schemastery").default; item: import("@deepseek-ai/schemastery").default; title: import("@deepseek-ai/schemastery").default; link: import("@deepseek-ai/schemastery").default; text: import("@deepseek-ai/schemastery").default; cookie: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; browserBindings: import("@deepseek-ai/schemastery").default>, NoInfer; rulePack: import("@deepseek-ai/schemastery").default; }>>, string>>, "volatile">; playwright: import("@deepseek-ai/schemastery").default; snapshotDir: import("@deepseek-ai/schemastery").default; }>>, Schemastery.ObjectT; snapshotDir: import("@deepseek-ai/schemastery").default; }>>, "plain">; verbose: import("@deepseek-ai/schemastery").default; }>>, "plain">; apply: typeof apply; }; export default _default;