dsh-web-search-pro 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +75 -6
- package/assets/skills/dsh-web-search-pro/SKILL.md +1 -1
- package/assets/skills/dsh-web-search-pro/references/sources.md +11 -2
- package/catalog/sources.v1.json +20 -12
- package/lib/actions/search.js +5 -4
- package/lib/actions/search.js.map +1 -1
- package/lib/actions/sources.js +42 -25
- package/lib/actions/sources.js.map +1 -1
- package/lib/cli/builtin-specs.js +306 -0
- package/lib/cli/builtin-specs.js.map +1 -0
- package/lib/cli/chain.js +192 -0
- package/lib/cli/chain.js.map +1 -0
- package/lib/cli/chains-spec.js +98 -0
- package/lib/cli/chains-spec.js.map +1 -0
- package/lib/cli/engine.js +83 -0
- package/lib/cli/engine.js.map +1 -0
- package/lib/cli/opencli.js +105 -0
- package/lib/cli/opencli.js.map +1 -0
- package/lib/cli/probe.js +128 -0
- package/lib/cli/probe.js.map +1 -0
- package/lib/cli/runner.js +374 -0
- package/lib/cli/runner.js.map +1 -0
- package/lib/cli/spec.js +416 -0
- package/lib/cli/spec.js.map +1 -0
- package/lib/client/SettingsCard.js +1 -1
- package/lib/client/SettingsCard.js.map +1 -1
- package/lib/client/form-specs.js +2 -0
- package/lib/client/form-specs.js.map +1 -1
- package/lib/client/form.js +14 -3
- package/lib/client/form.js.map +1 -1
- package/lib/client/locales.js +4 -0
- package/lib/client/locales.js.map +1 -1
- package/lib/client/validators.js +15 -0
- package/lib/client/validators.js.map +1 -1
- package/lib/client.js +1425 -3
- package/lib/client.js.map +1 -1
- package/lib/config.js +4 -0
- package/lib/config.js.map +1 -1
- package/lib/deps.js +109 -102
- package/lib/deps.js.map +1 -1
- package/lib/engine-error.js +19 -0
- package/lib/engine-error.js.map +1 -0
- package/lib/engines.js +31 -114
- package/lib/engines.js.map +1 -1
- package/lib/pipeline/candidates.js.map +1 -1
- package/lib/pipeline/run.js +4 -2
- package/lib/pipeline/run.js.map +1 -1
- package/lib/providers/builtin.js +10 -14
- package/lib/providers/builtin.js.map +1 -1
- package/lib/providers/platforms.js +114 -55
- package/lib/providers/platforms.js.map +1 -1
- package/lib/providers/registry.js.map +1 -1
- package/lib/router.js +63 -6
- package/lib/router.js.map +1 -1
- package/lib/types/cli/builtin-specs.d.ts +30 -0
- package/lib/types/cli/chain.d.ts +83 -0
- package/lib/types/cli/chains-spec.d.ts +39 -0
- package/lib/types/cli/engine.d.ts +43 -0
- package/lib/types/cli/opencli.d.ts +38 -0
- package/lib/types/cli/probe.d.ts +53 -0
- package/lib/types/cli/runner.d.ts +87 -0
- package/lib/types/cli/spec.d.ts +176 -0
- package/lib/types/client/form-specs.d.ts +1 -1
- package/lib/types/client/locales.d.ts +4 -0
- package/lib/types/client/validators.d.ts +6 -0
- package/lib/types/config.d.ts +11 -0
- package/lib/types/deps.d.ts +25 -23
- package/lib/types/engine-error.d.ts +12 -0
- package/lib/types/engines.d.ts +16 -9
- package/lib/types/index.d.ts +4 -0
- package/lib/types/pipeline/candidates.d.ts +2 -0
- package/lib/types/pipeline/run.d.ts +2 -1
- package/lib/types/providers/platforms.d.ts +15 -3
- package/lib/types/providers/registry.d.ts +3 -0
- package/lib/types/router.d.ts +13 -0
- package/lib/types/util.d.ts +6 -1
- package/lib/util.js +7 -3
- package/lib/util.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Platform search backends as registry providers (dev-plan M8b): one provider per site or community, with the same
|
|
3
3
|
* descriptor + adapter shape as the web engines, so a platform is planned, probed, cooled down, singleflighted,
|
|
4
|
-
* persisted and reported exactly like any other source. A platform with several backends (twitter:
|
|
5
|
-
*
|
|
4
|
+
* persisted and reported exactly like any other source. A platform with several backends (twitter: twitter-cli, standalone
|
|
5
|
+
* OpenCLI, dsh-browser OpenCLI) is ONE provider with an internal ordered chain, resolved by src/cli/chain.ts (dev-plan M12). User `customPlatforms` become providers too
|
|
6
6
|
* ({@link customPlatformAdapter}); the router registers and unregisters them as the settings change.
|
|
7
7
|
* The legacy platform ids that already were web providers (github, bilibili, v2ex, youtube, arxiv, pubmed) are
|
|
8
8
|
* declared in builtin.ts and carry `kind: 'platform'` as well.
|
|
9
9
|
* @module web-search-pro/providers/platforms
|
|
10
10
|
*/
|
|
11
11
|
import crypto from 'node:crypto';
|
|
12
|
-
import { EngineError,
|
|
12
|
+
import { EngineError, customPlatformEngine, rssEngine, } from "../engines.js";
|
|
13
13
|
import { browserGap } from "../browser-access.js";
|
|
14
|
+
import { chainReport, resolveChain } from "../cli/chain.js";
|
|
15
|
+
import { validateCliAdapterSpec } from "../cli/spec.js";
|
|
14
16
|
import { descriptor } from "./descriptor.js";
|
|
15
17
|
/** Chain `engines` into one provider: the first available leg that answers wins; empty and failing legs fall through in order. */
|
|
16
18
|
export function chainEngine(id, label, chain) {
|
|
@@ -21,11 +23,15 @@ export function chainEngine(id, label, chain) {
|
|
|
21
23
|
const errors = [];
|
|
22
24
|
const notes = [];
|
|
23
25
|
for (const engine of chain) {
|
|
24
|
-
if (!engine.available())
|
|
26
|
+
if (!engine.available()) {
|
|
27
|
+
notes.push(engine.id + ': unavailable');
|
|
25
28
|
continue;
|
|
29
|
+
}
|
|
26
30
|
try {
|
|
27
31
|
const outcome = await engine.search(query, count, signal, options);
|
|
28
|
-
|
|
32
|
+
// The legs that were passed over are named with their reasons, so a fall-through is never silent.
|
|
33
|
+
const passed = notes.length ? ['skipped backends: ' + notes.join('; ')] : [];
|
|
34
|
+
return { ...outcome, via: outcome.via ?? engine.id, backend: outcome.backend ?? engine.backend ?? engine.id, ...passed.length || outcome.notes?.length ? { notes: [...passed, ...outcome.notes ?? []] } : {} };
|
|
29
35
|
}
|
|
30
36
|
catch (error) {
|
|
31
37
|
if (signal?.aborted)
|
|
@@ -42,7 +48,7 @@ export function chainEngine(id, label, chain) {
|
|
|
42
48
|
if (errors.every(error => code(error) === 'ENGINE_EMPTY'))
|
|
43
49
|
throw new EngineError(notes.join('; '), 'ENGINE_EMPTY', false);
|
|
44
50
|
throw new EngineError(notes.join('; '), 'ENGINE_ERROR', errors.some(error => error?.retryable !== false));
|
|
45
|
-
}
|
|
51
|
+
}
|
|
46
52
|
};
|
|
47
53
|
}
|
|
48
54
|
/** The platform adapter: local probe = the engine's own cheap `available()` plus the dimensions and the reason `dims` knows. */
|
|
@@ -58,78 +64,87 @@ function platform(d, create, dims = () => ({})) {
|
|
|
58
64
|
},
|
|
59
65
|
};
|
|
60
66
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
const BROWSER_REQ = { kind: 'browser', id: 'dsh-browser', optional: true, note: 'dsh-browser backend: OpenCLI bridge or a saved auth profile (your logged-in session)' };
|
|
68
|
+
const cliReq = (id, note) => ({ kind: 'cli', id, optional: true, note });
|
|
69
|
+
/**
|
|
70
|
+
* A platform provider whose backends are an ordered chain (`resolveChain`): the engine is the chain, the local probe is the
|
|
71
|
+
* readiness of every leg (cached contract probes, no search, no login), and `chain` reports each leg for `sources.status`.
|
|
72
|
+
*/
|
|
73
|
+
export function chainProvider(platformId, d) {
|
|
74
|
+
const label = d.label;
|
|
75
|
+
const ctxOf = (env) => ({ deps: env.deps, config: env.config });
|
|
76
|
+
return {
|
|
77
|
+
descriptor: d,
|
|
78
|
+
create: (deps, config) => chainEngine(platformId, label, resolveChain(platformId, { deps, config }).legs.map(leg => leg.engine)),
|
|
79
|
+
async probeLocal(env) {
|
|
80
|
+
const report = await chainReport(platformId, ctxOf(env));
|
|
81
|
+
return {
|
|
82
|
+
available: report.available,
|
|
83
|
+
installation: report.installation,
|
|
84
|
+
...report.credential ? { credential: report.credential } : {},
|
|
85
|
+
...report.reason ? { reason: report.reason } : {},
|
|
86
|
+
...report.diagnosticCode ? { diagnosticCode: report.diagnosticCode } : {},
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
chain: async (env) => chainReport(platformId, ctxOf(env)),
|
|
71
90
|
};
|
|
72
91
|
}
|
|
73
|
-
/** Why the OpenCLI bridge cannot run although the browser is fine: a settings switch. */
|
|
74
|
-
const opencliSwitch = (env) => !env.deps.enableCli ? 'CLI backends are disabled in settings (enableCliBackends)' : !env.deps.opencliEnabled ? 'the OpenCLI backend is disabled in settings (opencliEnabled)' : undefined;
|
|
75
|
-
const BROWSER_REQ = { kind: 'browser', id: 'dsh-browser', note: 'logged-in browser session (OpenCLI bridge or a saved auth profile)' };
|
|
76
92
|
function opencliPlatform(id, label, over) {
|
|
77
|
-
return
|
|
93
|
+
return chainProvider(id, descriptor({
|
|
78
94
|
id: 'platform:' + id, aliases: [id], label, kind: 'platform', needsBrowser: 'opencli', taskProfiles: ['experience'], resultKinds: ['social'],
|
|
79
95
|
requirements: [BROWSER_REQ], costModel: { kind: 'free', note: 'uses your logged-in session' }, costTier: 'free-quota',
|
|
80
96
|
verification: { live: false, note: 'needs a logged-in browser session; not verified live' },
|
|
81
97
|
...over,
|
|
82
|
-
})
|
|
98
|
+
}));
|
|
83
99
|
}
|
|
84
100
|
function browserPlatform(id, label, over) {
|
|
85
|
-
return
|
|
101
|
+
return chainProvider(id, descriptor({
|
|
86
102
|
id: 'platform:' + id, aliases: [id], label, kind: 'platform', needsBrowser: 'searchResults', taskProfiles: ['experience'], languages: ['zh'], regions: ['cn'],
|
|
87
103
|
resultKinds: ['forum'], requirements: [BROWSER_REQ], costModel: { kind: 'free', note: 'reads the rendered search page in your logged-in browser' }, costTier: 'free-quota',
|
|
88
104
|
verification: { live: false, note: 'best-effort page selectors, need a login state; not verified live' },
|
|
89
105
|
...over,
|
|
90
|
-
})
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
/** A platform served by standalone CLIs (and optionally dsh-browser legs): `legs` name the CLI requirements shown in the descriptor. */
|
|
109
|
+
function cliPlatform(id, label, over) {
|
|
110
|
+
return chainProvider(id, descriptor({ id: 'platform:' + id, aliases: [id], label, kind: 'platform', ...over }));
|
|
91
111
|
}
|
|
92
112
|
const GITHUB_TOKEN_REQ = (optional, note) => ({ kind: 'key', id: 'github-token', env: ['GITHUB_TOKEN', 'GH_TOKEN'], optional, note });
|
|
93
|
-
|
|
94
|
-
const twitterTokensSet = () => !!process.env.TWITTER_AUTH_TOKEN && !!process.env.TWITTER_CT0;
|
|
113
|
+
const GH_REQ = cliReq('gh', 'fallback backend: GitHub CLI (`gh auth login` is yours to run)');
|
|
95
114
|
export const platformAdapters = [
|
|
96
|
-
|
|
115
|
+
chainProvider('github-code', descriptor({
|
|
97
116
|
id: 'platform:github-code', aliases: ['github-code'], label: 'GitHub 代码', kind: 'platform', domains: ['github.com'], taskProfiles: ['docs_code'], resultKinds: ['code'], sourceFamily: 'github',
|
|
98
|
-
requirements: [GITHUB_TOKEN_REQ(
|
|
99
|
-
})
|
|
100
|
-
|
|
117
|
+
requirements: [GITHUB_TOKEN_REQ(true, 'code search requires an authenticated request: a token, or the gh fallback'), GH_REQ], costTier: 'free-quota',
|
|
118
|
+
})),
|
|
119
|
+
chainProvider('github-issues', descriptor({
|
|
101
120
|
id: 'platform:github-issues', aliases: ['github-issues'], label: 'GitHub Issues', kind: 'platform', domains: ['github.com'], taskProfiles: ['docs_code', 'experience'], resultKinds: ['forum'], sourceFamily: 'github',
|
|
102
|
-
requirements: [GITHUB_TOKEN_REQ(true, 'optional: raises the rate limit')],
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
121
|
+
requirements: [GITHUB_TOKEN_REQ(true, 'optional: raises the rate limit'), GH_REQ],
|
|
122
|
+
})),
|
|
123
|
+
cliPlatform('xiaohongshu', '小红书', {
|
|
124
|
+
languages: ['zh'], regions: ['cn'], domains: ['xiaohongshu.com'], taskProfiles: ['experience'], resultKinds: ['social'],
|
|
125
|
+
requirements: [cliReq('opencli', 'first backend: standalone OpenCLI with your own Chrome'), cliReq('xhs', 'second backend: xiaohongshu-cli (`xhs login` is yours to run)'), BROWSER_REQ],
|
|
126
|
+
costModel: { kind: 'free', note: 'uses your logged-in session' }, costTier: 'free-quota',
|
|
127
|
+
verification: { live: false, note: 'needs your login; command contracts probed locally, no search run' },
|
|
128
|
+
}),
|
|
129
|
+
// One provider, three backends in order: twitter-cli, the standalone OpenCLI, the dsh-browser OpenCLI bridge.
|
|
130
|
+
cliPlatform('twitter', 'Twitter / X', {
|
|
131
|
+
domains: ['twitter.com', 'x.com'], taskProfiles: ['experience', 'news_fact'], resultKinds: ['social'],
|
|
108
132
|
requirements: [
|
|
109
|
-
|
|
110
|
-
{ kind: 'cli', id: 'twitter', optional: true, note: 'second backend: twitter-cli' },
|
|
133
|
+
cliReq('twitter', 'first backend: twitter-cli (needs TWITTER_AUTH_TOKEN and TWITTER_CT0)'),
|
|
111
134
|
{ kind: 'key', id: 'twitter-auth-token', env: ['TWITTER_AUTH_TOKEN'], optional: true, note: 'twitter-cli needs this and TWITTER_CT0' },
|
|
112
135
|
{ kind: 'key', id: 'twitter-ct0', env: ['TWITTER_CT0'], optional: true, note: 'twitter-cli needs this and TWITTER_AUTH_TOKEN' },
|
|
136
|
+
cliReq('opencli', 'second backend: standalone OpenCLI with your own Chrome'),
|
|
137
|
+
BROWSER_REQ,
|
|
113
138
|
],
|
|
114
139
|
costModel: { kind: 'free', note: 'uses your logged-in session' }, costTier: 'free-quota',
|
|
115
140
|
verification: { live: false, note: 'needs a logged-in session or twitter-cli tokens; not verified live' },
|
|
116
|
-
}), deps => chainEngine('twitter', 'Twitter / X', [opencliEngine('twitter', deps), agentReachEngine('twitter', deps)]), (env, available) => {
|
|
117
|
-
const gap = browserGap(env.deps.browser, 'opencli', 'platform twitter');
|
|
118
|
-
const cli = env.cli?.get('twitter');
|
|
119
|
-
const browserOk = !gap && !opencliSwitch(env);
|
|
120
|
-
const cliOk = env.deps.enableCli && env.deps.agentReachEnabled && twitterTokensSet() && cli !== false;
|
|
121
|
-
const why = [];
|
|
122
|
-
if (!available) {
|
|
123
|
-
why.push(gap ?? opencliSwitch(env) ?? 'OpenCLI backend unavailable');
|
|
124
|
-
why.push(!env.deps.enableCli ? 'twitter-cli: CLI backends are disabled in settings' : !env.deps.agentReachEnabled ? 'twitter-cli: disabled in settings (agentReachEnabled)' : cli === false ? 'twitter-cli: the twitter command was not found' : 'twitter-cli: TWITTER_AUTH_TOKEN / TWITTER_CT0 are not set');
|
|
125
|
-
}
|
|
126
|
-
return {
|
|
127
|
-
installation: browserOk || cli === true ? 'detected' : !env.deps.browser || cli === false ? 'missing' : 'incompatible',
|
|
128
|
-
...twitterTokensSet() ? { credential: 'configured' } : {},
|
|
129
|
-
...available ? {} : { reason: why.join('; '), diagnosticCode: gap ? 'browser_missing' : 'disabled' },
|
|
130
|
-
};
|
|
131
141
|
}),
|
|
132
|
-
|
|
142
|
+
cliPlatform('reddit', 'Reddit', {
|
|
143
|
+
languages: ['en'], domains: ['reddit.com'], taskProfiles: ['experience'], resultKinds: ['social'],
|
|
144
|
+
requirements: [cliReq('rdt', 'first backend: rdt-cli (`rdt login` is yours to run)'), cliReq('opencli', 'second backend: standalone OpenCLI with your own Chrome'), BROWSER_REQ],
|
|
145
|
+
costModel: { kind: 'free', note: 'uses your logged-in session' }, costTier: 'free-quota',
|
|
146
|
+
verification: { live: false, note: 'needs your login; command contracts probed locally, no search run' },
|
|
147
|
+
}),
|
|
133
148
|
opencliPlatform('instagram', 'Instagram', { domains: ['instagram.com'] }),
|
|
134
149
|
opencliPlatform('facebook', 'Facebook', { domains: ['facebook.com'] }),
|
|
135
150
|
platform(descriptor({
|
|
@@ -146,12 +161,38 @@ export const platformAdapters = [
|
|
|
146
161
|
return rssEngine(url, deps.allowProxyFakeIp).search(query, count, signal, options);
|
|
147
162
|
},
|
|
148
163
|
}), () => ({ installation: 'not_required', credential: 'not_required' })),
|
|
149
|
-
|
|
164
|
+
cliPlatform('zhihu', '知乎', {
|
|
165
|
+
languages: ['zh'], regions: ['cn'], resultKinds: ['qa'], taskProfiles: ['experience', 'compare'], domains: ['zhihu.com'],
|
|
166
|
+
requirements: [cliReq('zhihu', 'first backend: zhihu-cli (`zhihu login` is yours to run)'), BROWSER_REQ],
|
|
167
|
+
costModel: { kind: 'free', note: 'uses your logged-in session' }, costTier: 'free-quota',
|
|
168
|
+
verification: { live: false, note: 'needs your login; command contract probed locally, no search run' },
|
|
169
|
+
}),
|
|
150
170
|
browserPlatform('weibo', '微博', { resultKinds: ['social'], taskProfiles: ['experience', 'news_fact'], domains: ['weibo.com', 'weibo.cn'] }),
|
|
151
171
|
browserPlatform('douban', '豆瓣', { taskProfiles: ['experience', 'compare'], domains: ['douban.com'] }),
|
|
152
172
|
browserPlatform('tieba', '百度贴吧', { domains: ['tieba.baidu.com'] }),
|
|
153
173
|
browserPlatform('douyin', '抖音', { resultKinds: ['video'], domains: ['douyin.com'] }),
|
|
154
174
|
browserPlatform('kuaishou', '快手', { resultKinds: ['video'], domains: ['kuaishou.com'] }),
|
|
175
|
+
// WeChat official accounts (dev-plan M12): OmniReach's wechat source (Sogou, no key, no login), then wx-search-cli.
|
|
176
|
+
cliPlatform('wechat', '微信公众号', {
|
|
177
|
+
languages: ['zh'], regions: ['cn'], domains: ['mp.weixin.qq.com', 'weixin.qq.com'], taskProfiles: ['news_fact', 'experience'], resultKinds: ['social'],
|
|
178
|
+
requirements: [cliReq('omnireach', 'first backend: OmniReach (`--on wechat`, Sogou, no key)'), cliReq('wx-search-cli', 'second backend: wx-search-cli (Sogou)')],
|
|
179
|
+
costModel: { kind: 'free', note: 'Sogou WeChat search through a local CLI; no key, no login; rate limits and captchas apply' }, costTier: 'anonymous',
|
|
180
|
+
verification: { live: true, note: 'omnireach 0.19.0-alpha wechat search parsed on 2026-10-06; wx-search-cli from its docs only' },
|
|
181
|
+
}),
|
|
182
|
+
// OmniReach as its own multi-source provider: addressable (`platform=omnireach`), never planned on its own.
|
|
183
|
+
cliPlatform('omnireach', 'OmniReach (多源)', {
|
|
184
|
+
languages: ['zh', 'en'], regions: ['global', 'cn'], taskProfiles: [], resultKinds: ['web', 'social'],
|
|
185
|
+
requirements: [cliReq('omnireach', 'OmniReach CLI (its own default sources; browser-backed ones stay opt-in there)')],
|
|
186
|
+
costModel: { kind: 'free', note: 'the CLI\'s default free sources; keys and the Chrome bridge are not passed' }, costTier: 'anonymous',
|
|
187
|
+
verification: { live: false, note: 'contract probed and the wechat source run live; the multi-source command was not run' },
|
|
188
|
+
}),
|
|
189
|
+
// Tanso (Bocha / Zhihu API CLI): documented contract only.
|
|
190
|
+
cliPlatform('tanso', 'Tanso (博查 / 知乎)', {
|
|
191
|
+
languages: ['zh'], regions: ['cn'], taskProfiles: [], resultKinds: ['web'],
|
|
192
|
+
requirements: [cliReq('tanso', 'Tanso CLI with your own Bocha / Zhihu keys in its config')],
|
|
193
|
+
costModel: { kind: 'metered', unit: 'request', note: 'uses your Bocha / Zhihu keys through its own config' }, costTier: 'paid',
|
|
194
|
+
verification: { live: false, note: 'documented contract only (upstream README); not installed or run' },
|
|
195
|
+
}),
|
|
155
196
|
];
|
|
156
197
|
// ── user-defined platforms (settings `customPlatforms`) ─────────────────────
|
|
157
198
|
const ID_SAFE = /^[a-z0-9][a-z0-9._-]*$/;
|
|
@@ -180,7 +221,7 @@ export function customPlatformAdapter(key, spec) {
|
|
|
180
221
|
return platform(descriptor({
|
|
181
222
|
id: customProviderId(key), aliases: [key], label: spec.name + ' (自定义)', kind: 'platform', needsBrowser: 'searchResults', taskProfiles: ['experience'], resultKinds: ['forum'],
|
|
182
223
|
...host ? { domains: [host] } : {},
|
|
183
|
-
requirements: [BROWSER_REQ],
|
|
224
|
+
requirements: [{ ...BROWSER_REQ, optional: false }],
|
|
184
225
|
costModel: { kind: 'free', note: 'reads the rendered search page in your browser' },
|
|
185
226
|
verification: { live: false, note: 'user-defined (settings customPlatforms)' },
|
|
186
227
|
}), (deps, config) => customPlatformEngine(key, config.customPlatforms?.[key] ?? spec, deps), (env, available) => {
|
|
@@ -192,4 +233,22 @@ export function customPlatformAdapter(key, spec) {
|
|
|
192
233
|
};
|
|
193
234
|
});
|
|
194
235
|
}
|
|
236
|
+
// ── user-defined CLI adapters (settings `cliAdapters`) ──────────────────────
|
|
237
|
+
/** Registry id and route id of a user-defined CLI adapter: `custom-cli:<id>` (also its backend id in `platformBackends`). */
|
|
238
|
+
export const customCliProviderId = (id) => 'custom-cli:' + id;
|
|
239
|
+
/** A user-defined CLI adapter as a platform provider whose chain is the adapter itself (an edit of `platformBackends` can still reorder it). */
|
|
240
|
+
export function customCliAdapter(id, spec) {
|
|
241
|
+
const route = customCliProviderId(id);
|
|
242
|
+
return chainProvider(route, descriptor({
|
|
243
|
+
id: route, aliases: [], label: spec.bins[0] + ' (自定义 CLI)', kind: 'platform', taskProfiles: ['experience'], languages: ['*'], regions: ['global'], resultKinds: ['web'],
|
|
244
|
+
requirements: [cliReq(spec.bins[0], 'user-defined adapter ' + id + ': ' + spec.packageNote)],
|
|
245
|
+
costModel: { kind: 'free', note: 'user-defined adapter (settings cliAdapters)' }, costTier: spec.needsLogin ? 'free-quota' : 'anonymous',
|
|
246
|
+
verification: { live: false, note: 'user-defined (settings cliAdapters); unverified' },
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
/** A user spec as validated for registration: the problem text, or undefined when it can be registered. */
|
|
250
|
+
export function customCliProblem(id, raw) {
|
|
251
|
+
const result = validateCliAdapterSpec(raw && typeof raw === 'object' && !Array.isArray(raw) ? { ...raw, id } : raw, 'user');
|
|
252
|
+
return result.ok ? undefined : 'cliAdapters.' + id + ' ignored: ' + result.errors.join('; ');
|
|
253
|
+
}
|
|
195
254
|
//# sourceMappingURL=platforms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../src/providers/platforms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../src/providers/platforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"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"}
|
package/lib/router.js
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { credentialRef } from '@deepseek-ai/dsh-credentials';
|
|
7
7
|
import { EngineError, } from "./engines.js";
|
|
8
|
-
import { customKeyProblem, customPlatformAdapter } from "./providers/platforms.js";
|
|
8
|
+
import { customCliAdapter, customCliProviderId, customKeyProblem, customPlatformAdapter } from "./providers/platforms.js";
|
|
9
|
+
import { platformBackendIssues } from "./cli/chains-spec.js";
|
|
10
|
+
import { resolveCliAdapters } from "./cli/spec.js";
|
|
9
11
|
import { SourceUnavailableError } from "./providers/unavailable.js";
|
|
10
12
|
import { defaultProviderRegistry, costTierOf, routeIdOf } from "./providers/index.js";
|
|
11
13
|
import { BOCHA_FALLBACK_KEY_ENV, BOCHA_KEY_ENV } from "./providers/bocha.js";
|
|
@@ -40,6 +42,9 @@ export class SearchRouter {
|
|
|
40
42
|
syncedRevision = -1;
|
|
41
43
|
/** Custom platforms (settings `customPlatforms`) this router registered: key -> spec signature + unregister. A key the registry refused stays here with its problem so it is not retried on every call. */
|
|
42
44
|
custom = new Map();
|
|
45
|
+
/** User-defined CLI adapters (settings `cliAdapters`) this router registered as `custom-cli:<id>` platforms, with the diagnostics of the entries it ignored. */
|
|
46
|
+
customCli = new Map();
|
|
47
|
+
cliAdapterDiagnostics = [];
|
|
43
48
|
/** Latest local probe per route id (read by providerStatuses for the credential dimension). */
|
|
44
49
|
readiness = new Map();
|
|
45
50
|
/** Last real call per route id: feeds the health dimension (never inferred from a local probe). */
|
|
@@ -101,6 +106,34 @@ export class SearchRouter {
|
|
|
101
106
|
this.custom.set(key, { sig, off: () => { }, problem: 'custom platform "' + key + '" was not registered: ' + (error instanceof Error ? error.message : String(error)) });
|
|
102
107
|
}
|
|
103
108
|
}
|
|
109
|
+
this.syncCustomCliAdapters();
|
|
110
|
+
}
|
|
111
|
+
/** The same for `cliAdapters`: valid specs become `custom-cli:<id>` platforms; an invalid entry is ignored and reported. */
|
|
112
|
+
syncCustomCliAdapters() {
|
|
113
|
+
const { specs, diagnostics } = resolveCliAdapters(this.dynamic().cliAdapters);
|
|
114
|
+
this.cliAdapterDiagnostics = diagnostics;
|
|
115
|
+
const next = new Map([...specs].map(([id, spec]) => [id, JSON.stringify(spec)]));
|
|
116
|
+
for (const [id, entry] of [...this.customCli])
|
|
117
|
+
if (next.get(id) !== entry.sig) {
|
|
118
|
+
entry.off();
|
|
119
|
+
this.customCli.delete(id);
|
|
120
|
+
}
|
|
121
|
+
for (const [id, sig] of next) {
|
|
122
|
+
if (this.customCli.has(id))
|
|
123
|
+
continue;
|
|
124
|
+
try {
|
|
125
|
+
this.customCli.set(id, { sig, off: this.registry.register(customCliAdapter(id, specs.get(id))) });
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
this.customCli.set(id, { sig, off: () => { }, problem: 'cliAdapters.' + id + ' was not registered as ' + customCliProviderId(id) + ': ' + (error instanceof Error ? error.message : String(error)) });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Configuration problems of the CLI adapter layer for `sources.status`: ignored `cliAdapters` entries and `platformBackends` that name nothing usable. */
|
|
133
|
+
cliAdapterProblems() {
|
|
134
|
+
this.syncCustomPlatforms();
|
|
135
|
+
const cfg = this.dynamic();
|
|
136
|
+
return [...this.cliAdapterDiagnostics, ...[...this.customCli.values()].flatMap(entry => (entry.problem ? [entry.problem] : [])), ...platformBackendIssues(cfg.platformBackends, cfg.cliAdapters)];
|
|
104
137
|
}
|
|
105
138
|
/** Custom platforms the registry could not take (key clash, bad key), for `sources.status`. */
|
|
106
139
|
customPlatformProblems() {
|
|
@@ -112,6 +145,9 @@ export class SearchRouter {
|
|
|
112
145
|
for (const entry of this.custom.values())
|
|
113
146
|
entry.off();
|
|
114
147
|
this.custom.clear();
|
|
148
|
+
for (const entry of this.customCli.values())
|
|
149
|
+
entry.off();
|
|
150
|
+
this.customCli.clear();
|
|
115
151
|
}
|
|
116
152
|
backendFor(id) {
|
|
117
153
|
return {
|
|
@@ -242,10 +278,9 @@ export class SearchRouter {
|
|
|
242
278
|
return diagnostics;
|
|
243
279
|
const cfg = this.dynamic();
|
|
244
280
|
const exaKey = await this.resolveKey(cfg.exaApiKeyEnv, cfg.exaApiKey);
|
|
281
|
+
// Platform providers (bilibili, youtube, ...) report their own chain readiness (src/cli/chain.ts); only Exa's MCP route is overruled here.
|
|
245
282
|
const requiredCli = new Map([
|
|
246
283
|
...exaKey ? [] : [['exa', 'mcporter']],
|
|
247
|
-
['bilibili', 'bili'],
|
|
248
|
-
['youtube', 'yt-dlp'],
|
|
249
284
|
]);
|
|
250
285
|
return diagnostics.map(diagnostic => {
|
|
251
286
|
const dependency = requiredCli.get(diagnostic.id);
|
|
@@ -310,7 +345,7 @@ export class SearchRouter {
|
|
|
310
345
|
try {
|
|
311
346
|
const selected = await this.backends.runSelected({ query: call.query, count: call.count, signal: call.signal, skipSeam: opts.skipSeam ?? false, ...call.options ? { options: call.options } : {} }, { preferred: this.canonicalIds([call.id]), signal: call.signal });
|
|
312
347
|
const sources = selected.value.sources;
|
|
313
|
-
return sources.length ? { state: 'ok', sources } : { state: 'empty' };
|
|
348
|
+
return sources.length ? { state: 'ok', sources, ...selected.value.backend ? { backend: selected.value.backend } : {} } : { state: 'empty' };
|
|
314
349
|
}
|
|
315
350
|
catch (error) {
|
|
316
351
|
if (call.signal.aborted)
|
|
@@ -544,19 +579,32 @@ export class SearchRouter {
|
|
|
544
579
|
const health = cooling ? 'cooldown' : last ? (last.ok ? 'ready' : 'error') : 'unknown';
|
|
545
580
|
const credential = last?.code === 'ENGINE_AUTH' ? 'rejected' : local.credential;
|
|
546
581
|
const reason = !available ? (diag?.reason ?? local.reason) : undefined;
|
|
582
|
+
let chain;
|
|
583
|
+
let chainReport;
|
|
584
|
+
if (adapter.chain) {
|
|
585
|
+
try {
|
|
586
|
+
chainReport = await adapter.chain(env);
|
|
587
|
+
chain = chainReport.entries;
|
|
588
|
+
}
|
|
589
|
+
catch {
|
|
590
|
+
chain = undefined;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
547
593
|
out.push({
|
|
548
594
|
id: d.id, route, aliases: [...d.aliases], label: d.label, kind: d.kind ?? 'web', ...d.domains?.length ? { domains: [...d.domains] } : {}, ...d.needsBrowser ? { needsBrowser: d.needsBrowser } : {}, operations: [...d.operations], taskProfiles: [...d.taskProfiles],
|
|
549
595
|
languages: [...d.languages], regions: [...d.regions], resultKinds: [...d.resultKinds],
|
|
550
596
|
...d.sourceFamily ? { sourceFamily: d.sourceFamily } : {},
|
|
551
597
|
requirements: d.requirements.map(({ env, ...r }) => ({ ...r, ...env ? { env: [...env] } : {} })), supportedFilters: [...d.supportedFilters], costModel: { ...d.costModel }, costTier: local.costTier ?? costTierOf(d),
|
|
552
598
|
...d.verification?.live ? {} : { unverified: true },
|
|
599
|
+
...chain ? { chain } : {},
|
|
553
600
|
...this.requestBudgetOf(route) ? { budget: this.requestBudgetOf(route) } : {},
|
|
554
601
|
readiness: {
|
|
555
602
|
available,
|
|
603
|
+
...chainReport ? { state: chainReport.state } : {},
|
|
556
604
|
...local.installation ? { installation: local.installation } : {},
|
|
557
605
|
...credential ? { credential } : {},
|
|
558
606
|
health,
|
|
559
|
-
...reason ? { reason } : {},
|
|
607
|
+
...reason ? { reason } : chainReport?.state === 'login_unverified' && chainReport.reason ? { reason: chainReport.reason } : {},
|
|
560
608
|
...local.diagnosticCode ? { diagnosticCode: local.diagnosticCode } : {},
|
|
561
609
|
lastLocalCheck: now,
|
|
562
610
|
...last?.ok ? { lastRemoteSuccess: last.at } : {},
|
|
@@ -633,6 +681,7 @@ export class SearchRouter {
|
|
|
633
681
|
enginesTried: detail?.enginesTried ?? ids,
|
|
634
682
|
fromCache: true,
|
|
635
683
|
availableCount: cached.rows.length,
|
|
684
|
+
...detail?.backend ? { backend: detail.backend } : {},
|
|
636
685
|
...detail?.fallbackNote ? { fallbackNote: detail.fallbackNote } : {},
|
|
637
686
|
};
|
|
638
687
|
this.memory.set(memoryKey, result);
|
|
@@ -648,6 +697,7 @@ export class SearchRouter {
|
|
|
648
697
|
let fallbackNote;
|
|
649
698
|
let availableCount;
|
|
650
699
|
let persistExtras;
|
|
700
|
+
let backendId;
|
|
651
701
|
if (multi) {
|
|
652
702
|
// Every engine goes through the registry (probe, cooldown, quality gate,
|
|
653
703
|
// attempts) in parallel; failures of one never cancel the others.
|
|
@@ -701,6 +751,8 @@ export class SearchRouter {
|
|
|
701
751
|
outcome = selected.value;
|
|
702
752
|
usedId = platform ? platform.id : selected.id;
|
|
703
753
|
viaId = selected.value.via ?? selected.id;
|
|
754
|
+
if (platform)
|
|
755
|
+
backendId = selected.value.backend ?? viaId;
|
|
704
756
|
enginesTried.push(...ids.slice(0, Math.max(ids.indexOf(selected.id) + 1, 1)));
|
|
705
757
|
// P1-1: explain the fallback (e.g. ddg returned results but none had snippets). A single platform has nothing to fall back to.
|
|
706
758
|
const lowQualityAttempts = platform ? [] : selected.attempts.filter(a => a.outcome === 'low-quality');
|
|
@@ -714,6 +766,10 @@ export class SearchRouter {
|
|
|
714
766
|
const spent = selected.attempts.filter(a => a.outcome === 'skipped' && /request budget used up/.test(a.detail ?? ''));
|
|
715
767
|
if (spent.length)
|
|
716
768
|
fallbackNote = (fallbackNote ? fallbackNote + '\n' : '') + 'skipped: ' + spent.map(a => a.id + ': ' + a.detail).join('; ');
|
|
769
|
+
// Notes of the engine itself: chain legs passed over (with reasons), results dropped for lack of a link.
|
|
770
|
+
const engineNotes = selected.value.notes ?? [];
|
|
771
|
+
if (engineNotes.length)
|
|
772
|
+
fallbackNote = (fallbackNote ? fallbackNote + '\n' : '') + engineNotes.join('\n');
|
|
717
773
|
}
|
|
718
774
|
catch (error) {
|
|
719
775
|
if (signal?.aborted)
|
|
@@ -743,7 +799,7 @@ export class SearchRouter {
|
|
|
743
799
|
engine: platform ? viaId ?? finalId : finalId,
|
|
744
800
|
status: 'ok',
|
|
745
801
|
cacheKey,
|
|
746
|
-
detail: JSON.stringify({ ...finalOutcome.content ? { content: finalOutcome.content } : {}, engine: finalId, enginesTried, requestedCount: count, ...fallbackNote ? { fallbackNote } : {} }),
|
|
802
|
+
detail: JSON.stringify({ ...finalOutcome.content ? { content: finalOutcome.content } : {}, engine: finalId, ...backendId ? { backend: backendId } : {}, enginesTried, requestedCount: count, ...fallbackNote ? { fallbackNote } : {} }),
|
|
747
803
|
}, persistExtras ? finalOutcome.sources.map((source, i) => ({ ...source, extra: persistExtras[i] })) : finalOutcome.sources, platform ? 'platform-' + platform.id : finalId));
|
|
748
804
|
const result = {
|
|
749
805
|
...outcome.content ? { content: outcome.content } : {},
|
|
@@ -752,6 +808,7 @@ export class SearchRouter {
|
|
|
752
808
|
enginesTried,
|
|
753
809
|
fromCache: false,
|
|
754
810
|
availableCount,
|
|
811
|
+
...backendId ? { backend: backendId } : {},
|
|
755
812
|
...fallbackNote ? { fallbackNote } : {},
|
|
756
813
|
};
|
|
757
814
|
// 4. Warm the in-process LRU (memory-only; survives across SQLite hits).
|