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.
Files changed (80) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +75 -6
  3. package/assets/skills/dsh-web-search-pro/SKILL.md +1 -1
  4. package/assets/skills/dsh-web-search-pro/references/sources.md +11 -2
  5. package/catalog/sources.v1.json +20 -12
  6. package/lib/actions/search.js +5 -4
  7. package/lib/actions/search.js.map +1 -1
  8. package/lib/actions/sources.js +42 -25
  9. package/lib/actions/sources.js.map +1 -1
  10. package/lib/cli/builtin-specs.js +306 -0
  11. package/lib/cli/builtin-specs.js.map +1 -0
  12. package/lib/cli/chain.js +192 -0
  13. package/lib/cli/chain.js.map +1 -0
  14. package/lib/cli/chains-spec.js +98 -0
  15. package/lib/cli/chains-spec.js.map +1 -0
  16. package/lib/cli/engine.js +83 -0
  17. package/lib/cli/engine.js.map +1 -0
  18. package/lib/cli/opencli.js +105 -0
  19. package/lib/cli/opencli.js.map +1 -0
  20. package/lib/cli/probe.js +128 -0
  21. package/lib/cli/probe.js.map +1 -0
  22. package/lib/cli/runner.js +374 -0
  23. package/lib/cli/runner.js.map +1 -0
  24. package/lib/cli/spec.js +416 -0
  25. package/lib/cli/spec.js.map +1 -0
  26. package/lib/client/SettingsCard.js +1 -1
  27. package/lib/client/SettingsCard.js.map +1 -1
  28. package/lib/client/form-specs.js +2 -0
  29. package/lib/client/form-specs.js.map +1 -1
  30. package/lib/client/form.js +14 -3
  31. package/lib/client/form.js.map +1 -1
  32. package/lib/client/locales.js +4 -0
  33. package/lib/client/locales.js.map +1 -1
  34. package/lib/client/validators.js +15 -0
  35. package/lib/client/validators.js.map +1 -1
  36. package/lib/client.js +1425 -3
  37. package/lib/client.js.map +1 -1
  38. package/lib/config.js +4 -0
  39. package/lib/config.js.map +1 -1
  40. package/lib/deps.js +109 -102
  41. package/lib/deps.js.map +1 -1
  42. package/lib/engine-error.js +19 -0
  43. package/lib/engine-error.js.map +1 -0
  44. package/lib/engines.js +31 -114
  45. package/lib/engines.js.map +1 -1
  46. package/lib/pipeline/candidates.js.map +1 -1
  47. package/lib/pipeline/run.js +4 -2
  48. package/lib/pipeline/run.js.map +1 -1
  49. package/lib/providers/builtin.js +10 -14
  50. package/lib/providers/builtin.js.map +1 -1
  51. package/lib/providers/platforms.js +114 -55
  52. package/lib/providers/platforms.js.map +1 -1
  53. package/lib/providers/registry.js.map +1 -1
  54. package/lib/router.js +63 -6
  55. package/lib/router.js.map +1 -1
  56. package/lib/types/cli/builtin-specs.d.ts +30 -0
  57. package/lib/types/cli/chain.d.ts +83 -0
  58. package/lib/types/cli/chains-spec.d.ts +39 -0
  59. package/lib/types/cli/engine.d.ts +43 -0
  60. package/lib/types/cli/opencli.d.ts +38 -0
  61. package/lib/types/cli/probe.d.ts +53 -0
  62. package/lib/types/cli/runner.d.ts +87 -0
  63. package/lib/types/cli/spec.d.ts +176 -0
  64. package/lib/types/client/form-specs.d.ts +1 -1
  65. package/lib/types/client/locales.d.ts +4 -0
  66. package/lib/types/client/validators.d.ts +6 -0
  67. package/lib/types/config.d.ts +11 -0
  68. package/lib/types/deps.d.ts +25 -23
  69. package/lib/types/engine-error.d.ts +12 -0
  70. package/lib/types/engines.d.ts +16 -9
  71. package/lib/types/index.d.ts +4 -0
  72. package/lib/types/pipeline/candidates.d.ts +2 -0
  73. package/lib/types/pipeline/run.d.ts +2 -1
  74. package/lib/types/providers/platforms.d.ts +15 -3
  75. package/lib/types/providers/registry.d.ts +3 -0
  76. package/lib/types/router.d.ts +13 -0
  77. package/lib/types/util.d.ts +6 -1
  78. package/lib/util.js +7 -3
  79. package/lib/util.js.map +1 -1
  80. package/package.json +2 -2
@@ -4,7 +4,7 @@
4
4
  * @module web-search-pro/actions/sources
5
5
  */
6
6
  import { browserState } from "../browser-access.js";
7
- import { detectDeps, installDep } from "../deps.js";
7
+ import { defaultInstaller, detectDeps, installDep } from "../deps.js";
8
8
  import { judgeStatus } from "../pipeline/judge-status.js";
9
9
  import { resolveAllRubrics } from "../pipeline/rubrics.js";
10
10
  import { renderProviderState } from "../provider.js";
@@ -25,8 +25,12 @@ const PROVIDER_REPORT_SCHEMA = {
25
25
  daily: { type: 'object', additionalProperties: false, properties: { limit: { type: 'number', required: true }, used: { type: 'number', required: true }, remaining: { type: 'number', required: true } } },
26
26
  } },
27
27
  unverified: { type: 'boolean' },
28
+ chain: { type: 'array', items: { type: 'object', additionalProperties: false, properties: {
29
+ id: { type: 'string', required: true }, kind: { type: 'string', required: true }, label: { type: 'string', required: true }, order: { type: 'number', required: true }, state: { type: 'string', required: true },
30
+ installation: { type: 'string' }, version: { type: 'string' }, credential: { type: 'string' }, reason: { type: 'string' }, verification: { type: 'string', required: true },
31
+ } } },
28
32
  readiness: { type: 'object', additionalProperties: false, properties: {
29
- available: { type: 'boolean', required: true }, installation: { type: 'string' }, credential: { type: 'string' }, health: { type: 'string' }, reason: { type: 'string' }, diagnosticCode: { type: 'string' },
33
+ available: { type: 'boolean', required: true }, state: { type: 'string' }, installation: { type: 'string' }, credential: { type: 'string' }, health: { type: 'string' }, reason: { type: 'string' }, diagnosticCode: { type: 'string' },
30
34
  lastLocalCheck: { type: 'string' }, lastRemoteSuccess: { type: 'string' }, lastError: { type: 'string' }, cooldownUntil: { type: 'string' },
31
35
  } },
32
36
  },
@@ -58,7 +62,7 @@ const WEB_ROUTE_SCHEMA = {
58
62
  type: 'object', additionalProperties: false,
59
63
  properties: { id: { type: 'string', required: true }, registered: { type: 'boolean', required: true }, evidence: { type: 'string', required: true }, search: SELECTION_SCHEMA, fetch: SELECTION_SCHEMA },
60
64
  };
61
- const DEP_SCHEMA = { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, label: { type: 'string', required: true }, usedBy: { type: 'string', required: true }, available: { type: 'boolean', required: true }, optional: { type: 'boolean' }, path: { type: 'string' }, source: { type: 'string' }, requiredVersion: { type: 'string' }, version: { type: 'string' }, diagnostic: { type: 'string' }, installs: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { installer: { type: 'string', required: true }, command: { type: 'string', required: true } } } } } };
65
+ const DEP_SCHEMA = { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, label: { type: 'string', required: true }, usedBy: { type: 'string', required: true }, available: { type: 'boolean', required: true }, optional: { type: 'boolean' }, path: { type: 'string' }, source: { type: 'string' }, requiredVersion: { type: 'string' }, version: { type: 'string' }, diagnostic: { type: 'string' }, installation: { type: 'string' }, verification: { type: 'string' }, installs: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { installer: { type: 'string', required: true }, command: { type: 'string', required: true } } } } } };
62
66
  /**
63
67
  * Whether the twitter platform backend can really run: the `twitter` command works (probed by detectDeps)
64
68
  * AND the backend is enabled in settings AND its credentials are in the environment (same gates as the engine).
@@ -75,13 +79,11 @@ export function twitterGate(cfg, dep) {
75
79
  return { available: true };
76
80
  }
77
81
  function defaultInstallerFor(backend) {
78
- switch (backend) {
79
- case 'bili': return 'uv';
80
- case 'yt-dlp': return 'uv';
81
- case 'agent-reach': return 'uv';
82
- case 'twitter': return 'uv';
83
- case 'mcporter': return 'npm';
84
- default: throw new ActionArgError('unknown backend: ' + backend, 'Backend ids: bili, yt-dlp, twitter, agent-reach, mcporter (sources.deps lists them).');
82
+ try {
83
+ return defaultInstaller(backend);
84
+ }
85
+ catch (error) {
86
+ throw new ActionArgError(error instanceof Error ? error.message : String(error), 'sources.deps lists the backend ids.');
85
87
  }
86
88
  }
87
89
  export const SOURCES_ACTIONS = [
@@ -96,7 +98,7 @@ export const SOURCES_ACTIONS = [
96
98
  properties: {
97
99
  engines: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, available: { type: 'boolean', required: true }, state: { type: 'string', required: true }, reason: { type: 'string' }, lastError: { type: 'string' }, cooldownUntil: { type: 'string' } } } },
98
100
  providers: { type: 'array', items: PROVIDER_REPORT_SCHEMA },
99
- cli: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, available: { type: 'boolean', required: true }, path: { type: 'string' }, note: { type: 'string' } } } },
101
+ cli: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, available: { type: 'boolean', required: true }, path: { type: 'string' }, note: { type: 'string' }, installation: { type: 'string' }, version: { type: 'string' }, verification: { type: 'string' } } } },
100
102
  browser: { type: 'object', additionalProperties: false, properties: { available: { type: 'boolean', required: true }, state: { type: 'string', required: true }, reason: { type: 'string' } } },
101
103
  webRoute: WEB_ROUTE_SCHEMA,
102
104
  notes: { type: 'array', items: { type: 'string' } },
@@ -110,7 +112,7 @@ export const SOURCES_ACTIONS = [
110
112
  async execute(_args, ctx) {
111
113
  const { router, store } = ctx;
112
114
  const cfg = ctx.dynamic();
113
- const cli = await detectDeps();
115
+ const cli = await detectDeps({ config: cfg });
114
116
  const availability = new Map(cli.map(value => [value.id, value.available]));
115
117
  const ev = cfg.evidence;
116
118
  const { rubrics, diagnostics } = resolveAllRubrics(ev.rubrics);
@@ -119,13 +121,24 @@ export const SOURCES_ACTIONS = [
119
121
  const problems = [
120
122
  ...typeof router.customPlatformProblems === 'function' ? router.customPlatformProblems() : [],
121
123
  ...typeof router.sourceDiagnostics === 'function' ? router.sourceDiagnostics() : [],
124
+ ...typeof router.cliAdapterProblems === 'function' ? router.cliAdapterProblems() : [],
122
125
  ];
126
+ const providers = typeof router.providerReport === 'function' ? await router.providerReport(availability) : undefined;
127
+ // A platform chain is only `ready` when a backend can run with its login satisfied (or not needed); otherwise the line says
128
+ // what it really is (`login_unverified`, `needs_login`, `unavailable`) and what to do next, the same word as the provider report.
129
+ const engines = (await router.backendDiagnostics(availability)).map(e => {
130
+ const state = providers?.find(p => p.route === e.id)?.readiness;
131
+ if (!state?.state || state.state === 'ready' || e.state === 'cooldown')
132
+ return e;
133
+ const reason = state.reason ?? e.reason;
134
+ return { ...e, state: state.state, available: state.state === 'login_unverified' && e.available, ...reason ? { reason } : {} };
135
+ });
123
136
  return {
124
- engines: await router.backendDiagnostics(availability),
125
- ...typeof router.providerReport === 'function' ? { providers: await router.providerReport(availability) } : {},
137
+ engines,
138
+ ...providers ? { providers } : {},
126
139
  cli: cli.map(v => {
127
140
  const gate = v.id === 'twitter' ? twitterGate(cfg, v) : undefined;
128
- return { id: v.id, available: gate ? gate.available : v.available, ...v.path ? { path: v.path } : {}, ...gate?.note ? { note: gate.note } : v.optional ? { note: 'optional helper, not executed by this plugin' } : v.diagnostic ? { note: v.diagnostic } : {} };
141
+ return { id: v.id, available: gate ? gate.available : v.available, ...v.path ? { path: v.path } : {}, ...v.installation ? { installation: v.installation } : {}, ...v.version ? { version: v.version } : {}, ...v.verification ? { verification: v.verification } : {}, ...gate?.note ? { note: gate.note } : v.optional ? { note: 'optional helper, not executed by this plugin' } : v.diagnostic ? { note: v.diagnostic } : {} };
129
142
  }),
130
143
  browser: browserState(ctx.browser()),
131
144
  ...ctx.providerState ? { webRoute: ctx.providerState() } : {},
@@ -136,11 +149,14 @@ export const SOURCES_ACTIONS = [
136
149
  },
137
150
  render(value) {
138
151
  const v = value;
139
- const lines = v.engines.map(e => (e.available ? '✅ ' : '❌ ') + e.id + ' [' + e.state + ']' + (e.lastError || e.reason ? ' — ' + (e.lastError ?? e.reason) : ''));
152
+ const mark = (e) => (e.state === 'login_unverified' || e.state === 'needs_login' ? '⚠ ' : e.available ? '✅ ' : '❌ ');
153
+ const lines = v.engines.map(e => mark(e) + e.id + ' [' + e.state.replace('_', ' ') + ']' + (e.lastError || e.reason ? ' — ' + (e.lastError ?? e.reason) : ''));
140
154
  for (const p of v.providers ?? []) {
141
155
  const r = p.readiness;
142
- const dims = [r.installation && 'installation=' + r.installation, r.credential && 'credential=' + r.credential, r.health && 'health=' + r.health].filter(Boolean).join(' ');
156
+ const dims = [r.installation && 'installation=' + r.installation, r.credential && 'credential=' + r.credential, r.health && 'health=' + r.health, r.state && 'state=' + r.state].filter(Boolean).join(' ');
143
157
  lines.push(' ' + (p.kind === 'platform' ? 'platform ' : 'provider ') + p.route + (p.id !== p.route ? ' (' + p.id + ')' : '') + ': ' + dims + ' · ' + (p.languages.join('/') || '*') + ' · ' + p.taskProfiles.join('/') + (p.costTier ? ' · ' + p.costTier : '') + (p.sourceFamily ? ' · family ' + p.sourceFamily : '') + (p.unverified ? ' · [not verified live]' : '') + (r.available ? '' : ' [' + (r.reason ?? 'unavailable') + ']'));
158
+ for (const leg of p.chain ?? [])
159
+ lines.push(' ' + leg.order + '. ' + leg.id + ' [' + leg.state + (leg.version ? ' ' + leg.version : '') + '] ' + leg.verification + (leg.reason ? ' — ' + leg.reason : ''));
144
160
  const b = p.budget;
145
161
  if (b)
146
162
  lines.push(' request budget ' + p.route + ': ' + [b.total && 'total ' + b.total.used + '/' + b.total.limit + ' (' + b.total.remaining + ' left)', b.daily && 'today ' + b.daily.used + '/' + b.daily.limit + ' (' + b.daily.remaining + ' left)'].filter(Boolean).join(', ') + (b.exhausted ? ' — used up: skipped, the plan falls back to other sources' : ''));
@@ -148,7 +164,7 @@ export const SOURCES_ACTIONS = [
148
164
  if (v.sources)
149
165
  lines.push('source strategy: policy=' + v.sources.policy + (v.sources.priority.length ? ', priority: ' + v.sources.priority.join(' > ') : '') + (v.sources.disabled.length ? ', disabled: ' + v.sources.disabled.join(', ') : ''));
150
166
  lines.push(...(v.notes ?? []).map(n => ' ⚠ ' + n));
151
- lines.push(...v.cli.map(e => (e.available ? '✅ ' : '❌ ') + 'cli:' + e.id + (e.path ? ' — ' + e.path : '') + (e.note ? ' — ' + e.note : '')));
167
+ lines.push(...v.cli.map(e => (e.available ? '✅ ' : '❌ ') + 'cli:' + e.id + (e.installation && e.installation !== 'detected' ? ' [' + e.installation + ']' : '') + (e.version ? ' ' + e.version : '') + (e.path ? ' — ' + e.path : '') + (e.note ? ' — ' + e.note : '')));
152
168
  if (v.browser)
153
169
  lines.push((v.browser.state === 'ready' ? '✅ ' : '❌ ') + 'browser:dsh-browser [' + (v.browser.state === 'legacy' ? 'legacy (unsupported)' : v.browser.state) + ']' + (v.browser.reason ? ' — ' + v.browser.reason : ''));
154
170
  if (v.webRoute)
@@ -179,14 +195,15 @@ export const SOURCES_ACTIONS = [
179
195
  {
180
196
  name: 'sources.deps',
181
197
  group: 'sources',
182
- summary: 'List the external CLIs this plugin runs (bili, yt-dlp, twitter, mcporter; agent-reach is an optional helper): what is present, versions, and install commands. Playwright and OpenCLI belong to dsh-browser.',
198
+ summary: 'List the external CLIs the backends run (bili, yt-dlp, twitter, xhs, zhihu, rdt, omnireach, gh, opencli, your cliAdapters, ...): installation (missing / detected / incompatible with the reason), version, how far each adapter was verified, install commands. Local cached probes; never searches or logs in.',
183
199
  params: {},
184
200
  output: { type: 'object', additionalProperties: false, properties: { backends: { type: 'array', required: true, items: DEP_SCHEMA }, message: { type: 'string' } } },
185
201
  approval: 'none', mutating: false, concurrencySafe: true,
186
202
  timeoutMs: config => config.timeoutMs + 180_000,
187
203
  examples: [{ args: {} }],
188
- async execute() {
189
- const backends = await detectDeps();
204
+ async execute(_args, ctx) {
205
+ // An explicit check re-probes (sources.status and search.recommend reuse the cached probes of the last minute).
206
+ const backends = await detectDeps({ config: ctx.dynamic(), force: true });
190
207
  const allOk = backends.every(b => b.available || b.optional);
191
208
  return {
192
209
  backends: backends.map(b => ({ ...b, installs: b.installs })),
@@ -199,10 +216,10 @@ export const SOURCES_ACTIONS = [
199
216
  name: 'sources.install',
200
217
  group: 'sources',
201
218
  summary: 'Run one install command for a missing CLI dependency. Only when the user asks; it needs approval.',
202
- notes: 'Check with sources.deps first. Installers: winget, choco, uv, pipx, pip or npm.',
219
+ notes: 'Check with sources.deps first. Installers: winget, choco, brew, uv, pipx, pip or npm. Logging in to a tool (`xhs login`, `gh auth login`, ...) is never done here: the user runs it.',
203
220
  params: {
204
- backend: { type: 'string', required: true, description: 'Dependency id (bili, yt-dlp, twitter, agent-reach, mcporter).' },
205
- installer: { type: 'string', description: 'winget, choco, uv, pipx, pip or npm; default per backend.' },
221
+ backend: { type: 'string', required: true, description: 'Dependency id from sources.deps (bili, yt-dlp, twitter, xhs, zhihu, rdt, omnireach, gh, wx-search-cli, tanso, opencli, agent-reach, mcporter).' },
222
+ installer: { type: 'string', description: 'winget, choco, brew, uv, pipx, pip or npm; default: the first one listed for the backend.' },
206
223
  },
207
224
  output: {
208
225
  type: 'object', additionalProperties: false,
@@ -227,7 +244,7 @@ function renderDeps(v) {
227
244
  if (v.message)
228
245
  parts.push(v.message);
229
246
  for (const b of v.backends) {
230
- const details = [b.version ? '版本 ' + b.version : '', b.requiredVersion ? '要求 ' + b.requiredVersion : '', b.source ? '来源 ' + b.source : '', b.path ? b.path : ''].filter(Boolean);
247
+ const details = [b.installation && b.installation !== 'detected' ? b.installation : '', b.verification ? '适配 ' + b.verification : '', b.version ? '版本 ' + b.version : '', b.requiredVersion ? '要求 ' + b.requiredVersion : '', b.source ? '来源 ' + b.source : '', b.path ? b.path : ''].filter(Boolean);
231
248
  parts.push((b.available ? '✅' : b.optional ? '➖' : '❌') + ' ' + b.label + ' (' + b.id + ') — ' + b.usedBy + (details.length ? ' · ' + details.join(' · ') : ''));
232
249
  if (b.diagnostic)
233
250
  parts.push(' 诊断: ' + b.diagnostic);
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/actions/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/actions/sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ /**
2
+ * The built-in CLI adapter specs (dev-plan M12). Every argv, flag and output field was derived from the tool's own
3
+ * `--help` (and, where the help does not show the output shape, from the installed package source or the upstream
4
+ * README), and `verification` records how far each was checked:
5
+ * - `live`: a real read-only search was run and its output parsed (bili, gh, omnireach/wechat);
6
+ * - `contract-only`: help and version probed on a real install, output shape taken from the tool's own source,
7
+ * README or documented output option, because a search needs the user's login or reads browser cookies, or was outside
8
+ * the checks allowed (xhs, zhihu, rdt, twitter, opencli sites, yt-dlp, wx-search-cli);
9
+ * - `docs-only`: not installed here; derived from the upstream README (tanso).
10
+ * Fixtures for the contract-only and docs-only parsers are marked "constructed from help/docs" in test/fixtures/cli.
11
+ * @module web-search-pro/cli/builtin-specs
12
+ */
13
+ import { validateCliAdapterSpec } from "./spec.js";
14
+ export const BILI_CLI_VERSION = '0.6.2';
15
+ export const BILI_CLI_REVISION = '489607468f967e0e11f3cdff6efc022d011e982a';
16
+ export const BILI_CLI_SOURCE = `git+https://github.com/public-clis/bilibili-cli@${BILI_CLI_REVISION}`;
17
+ export const BILI_CLI_INSTALLS = [
18
+ { installer: 'uv', command: `uv tool install --force ${BILI_CLI_SOURCE}` },
19
+ { installer: 'pipx', command: `pipx install --force ${BILI_CLI_SOURCE}` },
20
+ { installer: 'pip', command: `pip install --force-reinstall ${BILI_CLI_SOURCE}` },
21
+ ];
22
+ export const TWITTER_CLI_INSTALLS = [
23
+ { installer: 'uv', command: 'uv tool install twitter-cli' },
24
+ { installer: 'pipx', command: 'pipx install twitter-cli' },
25
+ { installer: 'pip', command: 'pip install twitter-cli' },
26
+ ];
27
+ /** The date of the checks recorded below. */
28
+ export const SPEC_CHECK_DATE = '2026-10-06';
29
+ const MB = 1024 * 1024;
30
+ /** The versioned `{ ok, schema_version, data }` envelope of the agent-friendly Python CLIs (bili, xhs, rdt). */
31
+ const ENVELOPE = [{ path: 'ok', equals: true }, { path: 'schema_version', equals: '1' }];
32
+ /** Why a login-needing CLI is gated on its saved login files: it reads the browser's cookies by itself when it has none. */
33
+ const NOT_LOGGED_IN = ['not authenticated', 'not_authenticated', 'not logged in', 'login required', 'please log in', "no 'a1' cookie", 'no cookies'];
34
+ const bili = {
35
+ id: 'bili',
36
+ bins: ['bili'],
37
+ packageNote: `bilibili-cli from public-clis/bilibili-cli ${BILI_CLI_VERSION} (the PyPI package of the same name has another contract; sources.deps shows the pinned install)`,
38
+ platforms: ['bilibili'],
39
+ probe: { versionArgs: ['--version'], minVersion: BILI_CLI_VERSION, helpArgs: ['search', '--help'], mustContain: ['--type', '--max', '--json'] },
40
+ allowedSubcommands: ['search'],
41
+ search: {
42
+ argv: ['search', '{query}', '--type', 'video', '--max', '{count}', '--json'],
43
+ maxCount: 10,
44
+ output: {
45
+ format: 'json', itemsPath: 'data', expect: ENVELOPE, errorPaths: ['message', 'error'], stripTags: true, snippetMax: 300,
46
+ fields: {
47
+ // Entries without a bvid (courses, series) carry no link in the JSON: the item's own link field is used when the tool gives one, else it is skipped and reported.
48
+ url: [{ template: 'https://www.bilibili.com/video/{bvid}' }, 'url', 'link', 'arcurl'],
49
+ title: 'title',
50
+ snippet: { join: [{ path: 'author', prefix: 'UP: ' }, { path: 'play', prefix: '播放: ' }, 'duration'] },
51
+ },
52
+ },
53
+ },
54
+ env: {},
55
+ needsLogin: false,
56
+ timeoutMs: 30_000,
57
+ maxOutputBytes: 4 * MB,
58
+ verification: { status: 'live', version: BILI_CLI_VERSION, date: SPEC_CHECK_DATE, note: '`bili search DeepSeek --type video --max 2 --json` parsed (fixture bili-search.json)' },
59
+ };
60
+ const ytDlp = {
61
+ id: 'yt-dlp',
62
+ bins: ['yt-dlp'],
63
+ packageNote: 'yt-dlp (uv tool install yt-dlp)',
64
+ platforms: ['youtube'],
65
+ probe: { versionArgs: ['--version'], helpArgs: ['--help'], mustContain: ['--flat-playlist', '--print', '--skip-download'] },
66
+ allowedSubcommands: [],
67
+ search: {
68
+ argv: ['ytsearch{count}:{query}', '--flat-playlist', '--skip-download', '--no-warnings', '--print', '%(id)s\t%(title)s\t%(channel)s\t%(view_count)s\t%(duration_string)s'],
69
+ maxCount: 10,
70
+ output: {
71
+ format: 'text', lines: { mode: 'tsv', columns: ['id', 'title', 'channel', 'view_count', 'duration'] }, emptyValues: ['None'], requireTitle: true,
72
+ fields: {
73
+ url: { template: 'https://www.youtube.com/watch?v={id}' },
74
+ title: 'title',
75
+ snippet: { join: ['channel', { path: 'view_count', suffix: ' views' }, 'duration'] },
76
+ },
77
+ },
78
+ },
79
+ env: {},
80
+ needsLogin: false,
81
+ timeoutMs: 60_000,
82
+ maxOutputBytes: 4 * MB,
83
+ verification: { status: 'contract-only', version: '2026.08.19', date: SPEC_CHECK_DATE, note: 'help and version probed; flags from `yt-dlp --help`; the print template is the one the plugin has used since 0.1; no search was run' },
84
+ };
85
+ const twitter = {
86
+ id: 'twitter',
87
+ bins: ['twitter'],
88
+ packageNote: 'twitter-cli (PyPI twitter-cli; the command is `twitter`; Agent-Reach alone does not provide it)',
89
+ platforms: ['twitter'],
90
+ probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['search'] },
91
+ allowedSubcommands: ['search'],
92
+ search: {
93
+ argv: ['search', '{query}', '-n', '{count}'],
94
+ maxCount: 10,
95
+ output: { format: 'text', lines: { mode: 'url-lines' }, titleMax: 200, requireTitle: true, fields: { url: 'url', title: 'title' } },
96
+ notLoggedInPatterns: ['not authenticated', 'unauthorized', 'no twitter cookies', 'auth_token', 'ct0'],
97
+ },
98
+ env: { required: ['TWITTER_AUTH_TOKEN', 'TWITTER_CT0'] },
99
+ needsLogin: true,
100
+ timeoutMs: 45_000,
101
+ maxOutputBytes: 4 * MB,
102
+ verification: { status: 'contract-only', version: '0.8.5', date: SPEC_CHECK_DATE, note: 'help probed; the plain-text output (`search QUERY -n N`) is the one the plugin has used since 0.1; the tool also offers --json, not used here; no search was run (needs your tokens)' },
103
+ };
104
+ const xhs = {
105
+ id: 'xhs',
106
+ bins: ['xhs'],
107
+ packageNote: 'xiaohongshu-cli (PyPI xiaohongshu-cli; the command is `xhs`)',
108
+ platforms: ['xiaohongshu'],
109
+ probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['keyword', '--json', '--sort'] },
110
+ allowedSubcommands: ['search'],
111
+ search: {
112
+ argv: ['search', '{query}', '--json'],
113
+ output: {
114
+ format: 'json', itemsPath: 'data.items', expect: ENVELOPE, errorPaths: ['error.message'],
115
+ fields: {
116
+ url: { template: 'https://www.xiaohongshu.com/explore/{id}?xsec_token={xsec_token}&xsec_source=pc_search' },
117
+ title: ['note_card.display_title', 'note_card.title'],
118
+ snippet: { join: [{ path: 'note_card.user.nickname', prefix: '作者: ' }, { path: 'note_card.interact_info.liked_count', prefix: '赞: ' }] },
119
+ },
120
+ },
121
+ notLoggedInPatterns: NOT_LOGGED_IN,
122
+ },
123
+ env: {},
124
+ needsLogin: true,
125
+ login: { command: 'xhs login', savedCredentialPaths: ['~/.xiaohongshu-cli/cookies.json'], readsBrowserCookiesWithoutLogin: true },
126
+ timeoutMs: 45_000,
127
+ maxOutputBytes: 4 * MB,
128
+ verification: { status: 'contract-only', version: '0.6.4', date: SPEC_CHECK_DATE, note: 'help probed; output shape from the installed package source (client response + its own normalizer); no search was run: it needs your login and, without a saved one, reads browser cookies' },
129
+ };
130
+ const zhihu = {
131
+ id: 'zhihu',
132
+ bins: ['zhihu'],
133
+ packageNote: 'zhihu-cli (PyPI pyzhihu-cli, BAIGUANGMEI/zhihu-cli; the command is `zhihu`; not the Access-Secret "zhihu-cli" of dawnswwwww)',
134
+ platforms: ['zhihu'],
135
+ probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['query', '--json', '--limit', '--type'] },
136
+ allowedSubcommands: ['search'],
137
+ search: {
138
+ argv: ['search', '{query}', '--limit', '{count}', '--answers', '0', '--json'],
139
+ maxCount: 20,
140
+ output: {
141
+ format: 'json', itemsPath: 'data', stripTags: true,
142
+ fields: {
143
+ url: [
144
+ { template: 'https://www.zhihu.com/question/{object.question.id}/answer/{object.id}', when: { path: 'object.type', equals: 'answer' } },
145
+ { template: 'https://zhuanlan.zhihu.com/p/{object.id}', when: { path: 'object.type', equals: 'article' } },
146
+ { template: 'https://www.zhihu.com/question/{object.id}', when: { path: 'object.type', equals: 'question' } },
147
+ ],
148
+ title: ['object.title', 'object.question.name', 'object.name'],
149
+ snippet: ['object.excerpt', 'object.content'],
150
+ publishedAt: { epoch: 'object.created_time' },
151
+ },
152
+ },
153
+ notLoggedInPatterns: ['not authenticated', 'zhihu login'],
154
+ },
155
+ env: {},
156
+ needsLogin: true,
157
+ login: { command: 'zhihu login', savedCredentialPaths: ['~/.zhihu-cli/cookies.json'] },
158
+ timeoutMs: 45_000,
159
+ maxOutputBytes: 4 * MB,
160
+ verification: { status: 'contract-only', version: '0.2.4', date: SPEC_CHECK_DATE, note: 'help probed; output shape (`data[].object`) from the installed package source; the tool never reads browser cookies itself; no search was run (needs your login)' },
161
+ };
162
+ const rdt = {
163
+ id: 'rdt',
164
+ bins: ['rdt'],
165
+ packageNote: 'rdt-cli (public-clis/rdt-cli; the command is `rdt`)',
166
+ platforms: ['reddit'],
167
+ probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['query', '--json', '--compact', '--limit'] },
168
+ allowedSubcommands: ['search'],
169
+ search: {
170
+ argv: ['search', '{query}', '--limit', '{count}', '--compact', '--json'],
171
+ maxCount: 25,
172
+ output: {
173
+ format: 'json', itemsPath: 'data', expect: ENVELOPE, errorPaths: ['error.message'],
174
+ fields: {
175
+ url: { template: 'https://www.reddit.com{permalink}' },
176
+ title: 'title',
177
+ snippet: { join: [{ path: 'subreddit', prefix: 'r/' }, { path: 'score', prefix: 'score ' }, { path: 'num_comments', suffix: ' comments' }, 'selftext'] },
178
+ publishedAt: { epoch: 'created_utc' },
179
+ },
180
+ },
181
+ notLoggedInPatterns: NOT_LOGGED_IN,
182
+ },
183
+ env: {},
184
+ needsLogin: true,
185
+ login: { command: 'rdt login', savedCredentialPaths: ['~/.config/rdt-cli/credential.json'], readsBrowserCookiesWithoutLogin: true },
186
+ timeoutMs: 45_000,
187
+ maxOutputBytes: 4 * MB,
188
+ verification: { status: 'contract-only', version: '0.4.2', date: SPEC_CHECK_DATE, note: 'help probed; `--compact --json` output (post dicts in the `data` envelope) from the installed package source; no search was run: without a saved login it reads browser cookies' },
189
+ };
190
+ const OMNIREACH_OUTPUT = {
191
+ format: 'json', itemsPath: 'results', errorPaths: ['errors.0.error'], stripTags: true,
192
+ fields: { url: 'url', title: 'title', snippet: 'content', publishedAt: 'ts' },
193
+ };
194
+ const omnireach = {
195
+ id: 'omnireach',
196
+ bins: ['omnireach'],
197
+ packageNote: 'omnireach (Python, Daily-AC/omnireach; uv tool install from its repository)',
198
+ platforms: ['omnireach', 'wechat'],
199
+ probe: { versionArgs: ['--version'], minVersion: '0.19.0', helpArgs: ['search', '--help'], mustContain: ['--on', '--limit', '--json'] },
200
+ allowedSubcommands: ['search'],
201
+ // The multi-source search: the tool's own default sources (its browser-backed sources are opt-in there, never in the default fan-out).
202
+ search: { argv: ['search', '{query}', '--limit', '{count}', '--json'], maxCount: 20, output: OMNIREACH_OUTPUT },
203
+ searches: {
204
+ // WeChat official accounts through Sogou: no key, no login, no browser (the tool prefers Exa when EXA_API_KEY is set, which this adapter never passes).
205
+ wechat: { argv: ['search', '{query}', '--on', 'wechat', '--limit', '{count}', '--json'], maxCount: 10, output: OMNIREACH_OUTPUT },
206
+ },
207
+ env: {},
208
+ needsLogin: false,
209
+ timeoutMs: 60_000,
210
+ maxOutputBytes: 8 * MB,
211
+ verification: { status: 'live', version: '0.19.0-alpha', date: SPEC_CHECK_DATE, note: '`omnireach search 大模型 备案 --on wechat --limit 2 --json` parsed (fixture omnireach-wechat.json); the multi-source command was not run' },
212
+ };
213
+ const GH_REPO_FIELDS = 'fullName,description,url,stargazersCount,language,updatedAt,forksCount';
214
+ const gh = {
215
+ id: 'gh',
216
+ bins: ['gh'],
217
+ packageNote: 'GitHub CLI (https://cli.github.com; brew install gh / winget install GitHub.cli)',
218
+ platforms: ['github', 'github-issues', 'github-code'],
219
+ probe: { versionArgs: ['--version'], helpArgs: ['search', 'repos', '--help'], mustContain: ['--json', '--limit', 'stargazersCount'] },
220
+ allowedSubcommands: ['search', 'repos', 'issues', 'code'],
221
+ search: {
222
+ argv: ['search', 'repos', '--json', GH_REPO_FIELDS, '--limit', '{count}', '--sort', 'stars', '--order', 'desc', '--', '{query}'],
223
+ maxCount: 15,
224
+ output: {
225
+ format: 'json', stripTags: false,
226
+ fields: {
227
+ url: 'url', title: 'fullName', publishedAt: { date: 'updatedAt' },
228
+ snippet: { join: ['description', { path: 'stargazersCount', prefix: '⭐' }, { path: 'language', prefix: '[', suffix: ']' }, { path: 'forksCount', prefix: 'forks ' }] },
229
+ },
230
+ },
231
+ notLoggedInPatterns: ['gh auth login', 'not logged in', 'authentication required'],
232
+ },
233
+ searches: {
234
+ 'github-issues': {
235
+ argv: ['search', 'issues', '--json', 'title,url,state,repository,commentsCount,updatedAt', '--limit', '{count}', '--sort', 'updated', '--order', 'desc', '--', '{query}'],
236
+ maxCount: 15,
237
+ output: {
238
+ format: 'json',
239
+ fields: {
240
+ url: 'url', title: 'title', publishedAt: { date: 'updatedAt' },
241
+ snippet: { join: [{ path: 'state', prefix: '[', suffix: ']' }, 'repository.nameWithOwner', { path: 'commentsCount', suffix: ' comments' }], sep: ' · ' },
242
+ },
243
+ },
244
+ notLoggedInPatterns: ['gh auth login', 'not logged in', 'authentication required'],
245
+ },
246
+ 'github-code': {
247
+ argv: ['search', 'code', '--json', 'path,repository,url', '--limit', '{count}', '--', '{query}'],
248
+ maxCount: 15,
249
+ output: { format: 'json', fields: { url: 'url', title: { template: '{repository.nameWithOwner} / {path}' }, snippet: { template: '仓库: {repository.nameWithOwner}' } } },
250
+ notLoggedInPatterns: ['gh auth login', 'not logged in', 'authentication required'],
251
+ },
252
+ },
253
+ env: { passthrough: ['GH_TOKEN', 'GITHUB_TOKEN', 'GH_HOST', 'GH_CONFIG_DIR'] },
254
+ needsLogin: true,
255
+ login: { command: 'gh auth login' },
256
+ timeoutMs: 30_000,
257
+ maxOutputBytes: 4 * MB,
258
+ verification: { status: 'live', version: '2.101.0', date: SPEC_CHECK_DATE, note: '`gh search repos --json … --sort stars -- "dsh web search"` parsed (fixture gh-repos.json); issues and code searches follow the documented JSON fields of their help pages and were not run' },
259
+ };
260
+ const wxSearchCli = {
261
+ id: 'wx-search-cli',
262
+ bins: ['wx-search-cli'],
263
+ packageNote: 'wx-search-cli (npm i -g wx-search-cli, tjx666/wx-search-cli; the command is `wx-search-cli`)',
264
+ platforms: ['wechat'],
265
+ probe: { versionArgs: ['--version'], helpArgs: ['--help'], mustContain: ['search <query>', 'sogou'] },
266
+ allowedSubcommands: ['search'],
267
+ search: {
268
+ argv: ['search', '{query}'],
269
+ // `real_url` is the resolved mp.weixin.qq.com link; it is empty when Sogou showed a captcha, and such items are dropped.
270
+ output: { format: 'json', fields: { url: 'real_url', title: 'title', publishedAt: 'publish_time' } },
271
+ },
272
+ env: {},
273
+ needsLogin: false,
274
+ timeoutMs: 45_000,
275
+ maxOutputBytes: 2 * MB,
276
+ verification: { status: 'contract-only', version: '0.1.0', date: SPEC_CHECK_DATE, note: 'help and version probed on a real install; output shape (JSON array of { title, link, real_url, publish_time, page }) from the upstream README and src/index.ts read with gh api; no search was run' },
277
+ };
278
+ const tanso = {
279
+ id: 'tanso',
280
+ bins: ['tanso'],
281
+ packageNote: 'tanso (npm i -g @geekjourneyx/tanso, geekjourneyx/tanso; a Go binary; needs your Bocha / Zhihu keys in its own config)',
282
+ platforms: ['tanso'],
283
+ probe: { versionArgs: ['version'], helpArgs: ['--help'], mustContain: ['bocha', 'zhihu', '--json'] },
284
+ allowedSubcommands: ['version'],
285
+ search: {
286
+ // Only the two sources the README shows with --source; the Volcengine answer source (a paid model call) is never selected.
287
+ argv: ['{query}', '--json', '--source', 'bocha_web', '--source', 'zhihu_search'],
288
+ output: { format: 'json', itemsPath: 'results', errorPaths: ['errors.0.message', 'errors.0'], fields: { url: 'url', title: 'title', snippet: 'snippet' } },
289
+ notLoggedInPatterns: ['credential', 'api_key', 'access_secret', 'config error'],
290
+ },
291
+ env: { passthrough: ['BOCHA_API_KEY', 'ZHIHU_ACCESS_SECRET', 'ZHIHU_API_KEY', 'TANSO_CONFIG', 'XDG_CONFIG_HOME'] },
292
+ needsLogin: true,
293
+ login: { command: 'tanso config init' },
294
+ timeoutMs: 60_000,
295
+ maxOutputBytes: 2 * MB,
296
+ verification: { status: 'docs-only', version: '2.0.2', date: SPEC_CHECK_DATE, note: 'not installed here; from the upstream README (envelope with results[].{source,title,url,snippet}); --limit is not documented and not used' },
297
+ };
298
+ /** The `wechat` platform's two tools and the multi-source `omnireach` platform come from the same specs; ids are the backend ids. */
299
+ export const BUILTIN_CLI_SPECS = [bili, ytDlp, twitter, xhs, zhihu, rdt, omnireach, gh, wxSearchCli, tanso];
300
+ for (const spec of BUILTIN_CLI_SPECS) {
301
+ const result = validateCliAdapterSpec(spec, 'builtin');
302
+ if (!result.ok)
303
+ throw new Error('built-in CLI spec ' + spec.id + ' is invalid: ' + result.errors.join('; '));
304
+ }
305
+ export const builtinSpecById = (id) => BUILTIN_CLI_SPECS.find(spec => spec.id === id);
306
+ //# sourceMappingURL=builtin-specs.js.map