@cherrystudio/web-search

中文文档
0.5.0发布于 2026/10/29AGPL-3.0-onlyTypeScriptESM + CJS近 30 天下载 1706

具有主机拥有的运输和政策的便携式网络搜索提供者协议

中文使用文档
文档目录3 节
  1. 条目
  2. 运输和错误
  3. 分销与发展

@cherrystudio/网络搜索

现有樱桃工作室网络搜索提供者的可移植协议. 注入应用程序 联网和明确选择提供者能力;它们保持设置、证书存储、, 密钥旋转、区域检测、再试、回落、本地页面提取和生命周期所有权.

import { createWebSearchClient } from '@cherrystudio/web-search'
import { tavily } from '@cherrystudio/web-search/providers/tavily'

const client = createWebSearchClient({
  transport: hostTransport,
  providers: [{ provider: tavily, capabilities: ['searchKeywords'] }]
})

const response = await client.execute({
  providerId: 'tavily',
  capability: 'searchKeywords',
  input: 'Cherry Studio',
  config: { maxResults: 5 },
  credentials: { apiKey: selectedApiKey },
  signal,
  timeoutMs: 30_000
})

hostTransport, (中文(简体) ), selectedApiKey,以及 signal 属于应用程序。 每个调用执行一个 输入对一个提供者,不隐含重复。 结果包含 providerId, (中文(简体) ), capability, (中文(简体) ), input,以及 results 与 title, (中文(简体) ), url, (中文(简体) ), content, (中文(简体) ), sourceInput选择 truncated。 。 。 .

条目

条目目录
根号客户端、验证、错误、提供者词汇和公共类型
/catalog无法移动的远程提供者元数据和人均能力公共终点
/providers/<id>一个协议模块: zhipu, tavily, searxng, exa, exa-mcp, bocha, querit, jina, firecrawl, craw4ai, 平行, serply, 人民币, deepseek, searchapi, desearch
/tools/config纯端点覆盖合并; 明确的空覆盖保留为空
/tools/url-filter可选的带诊断器的 URL 规则过滤返回呼叫者
/tools/content可选符号/特征切分;应用程序分配总预算

提供商的入境出口使用其身份证作为指定出口,但 exa-mcp,用于出口 exaMcp。 。 。 . 额外出口 discoverSearxngEngines; Jina 输出 getJinaHostCandidates 财务报告和审定财务报表 JINA_MIRROR_HOSTS。导入根不会导入所有协议模块或内容切换.

SearXNG的发现是明确的,并使用了与下列内容相同的错误、取消和超时合同: 搜索。 搜索。 它的错误使用 searxng/searchKeywords 上下文。 搜索返回片段, 永远不要 自动下载结果页面。 Jina 候选人的选择是纯的; 软件包没有 检测区域或重试另一个终点.

apiHost: undefined 使用公共默认值, Crawl4AI 是 Cloud 主机 https://api.crawl4ai.com。明确的空地址失败验证。 SearXNG没有默认部署. 当地 fetch 桌面DuckDuckGo仍然为主机所有.

Querit 接受 API 主机是否使用 /v1 和数字字符串响应代码。 Crawl4AI 应用 云层 /scrape 协议 crawl4ai.com 及其子域,需要 API 密钥。 其它 主机保留自动托管 /md 带有可选符号的协议.

元宝弹 maxResults 到下一个被支持 Cnt 值(10-50),然后适用 请求的本地限制. excludeDomains 通过 Site; 无效域项被省略. 主机保留完整的 URL 规则过滤 。 只有元宝 useDefaultResultCount: true 省略 Cnt 升级兼容性,但不能损坏 Site 或本地限制。 协议本身从不重复.

运输和错误

执行 WebSearchTransport.request 与主机网络堆栈。 请求载有完整的 URL,信头,一个已经序列化的可选体, signal选择 timeoutMs全部返回 HTTP 状态、 小写响应头和 bodyText; 不要剖析 JSON 或者编码身体 再来一次 保持 URL 路径和查询编码完整 .

运输公司拥有从发送到消耗身体的超时执行权,向前 根据实际请求取消,并释放计时器/听众。 选择 timeoutMs 保留 主机默认值 。 掷出 WebSearchTransportError 报告网络、超时、取消、读取, 或未分类的失败。 没有中止的呼叫器信号的中止不是全局取消.

execute 掷出 WebSearchError。 。 kind 区分配置、网络、超时、, 取消, HTTP, 提供者失败, 响应无效, 未知失败 . code, (中文(简体) ), status, (中文(简体) ), providerCode, (中文(简体) ), retryAfter,以及 requestId 支持应用政策. toJSON() 忽略原因, 原始答复、信头和证书。 取消保留 AbortError 名称; 超时 保留 TimeoutError应用程序信息发布和重试决定仍为主机所有.

MCP模块支持有限的JSON/SSE响应和现有的Exa搜索文本/要点 页面文本格式。 成功 result.content: [] 或上游消息 No search results found. Please try a different query. 意味着零搜索点击. 空白或未确认的答复是错误, 而空页内容总是错误。 它不管理 MCP 连接、会话或 流传订阅.

分销与发展

所有公共条目船舶无害环境管理/CJS和匹配申报,包括a react-native 导出 条件。 源有Node,Electron,React Introduct,Expo,或应用程序导入. 导入 分辨率检查不能取代消费应用平台的接受。 产出目标ES2020和 使用标准 URL编号 :URLSearchParams 和主机取消信号; 网络继续注入.

桌面消耗 workspace:* 作为发展依赖,通过源别名,所以便携式 执行与应用程序捆绑在一起。 它明确的能力配置过滤共享元数据. Mobile必须安装准确的已发布版本并输入其锁文件. 初始工作空间版本 0.0.0 是占位符; 未成年人 更改集准备 0.1.0。在 0.x 期间,打破 API 更改需要小放出;相容 修正使用补丁释放。 主机许可列表可以防止新能力被隐含地启用.

发布工作流程明确构建并检查了这个软件包. test:package 检查已建 工作空间外的柏油球、模块格式、声明和便携式导入分辨率.

pnpm --filter @cherrystudio/web-search test -- src/__tests__/protocols.test.ts
pnpm --filter @cherrystudio/web-search test:package

这些是选入开发命令. test:package 包括汇编和网络支持 安装。 在运行任一命令之前遵循当前任务的授权规则 .

许可证:AGPL-3.0-只,保留源寄存许可证. 确认许可和维护者 在首次公开发布前.

版本与发布记录

@cherrystudio/web-search 共发布 6 个版本,首次发布于 2026/10/17;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.5.0latest2026/10/2911 天前
0.4.02026/10/2813 天前
0.3.02026/10/2218 天前
0.2.02026/10/1723 天前
0.1.02026/10/1723 天前
0.0.0-stage2026/10/1723 天前

关于 @cherrystudio/web-search 的常见问题

@cherrystudio/web-search 是什么?

具有主机拥有的运输和政策的便携式网络搜索提供者协议

如何安装 @cherrystudio/web-search?

在项目目录运行 npm install @cherrystudio/web-search,或使用 pnpm add / yarn add / bun add。

@cherrystudio/web-search 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cherrystudio/web-search 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cherrystudio/web-search 可以商用吗?

@cherrystudio/web-search 使用 AGPL-3.0-only 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@cherrystudio/web-search 的下载量有多少?

根据 npm 官方下载统计,@cherrystudio/web-search 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,706 次,日均约 57 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cherrystudio/web-search 还在维护吗?

最新版本 0.5.0 发布于 2026/10/29(11 天前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/10/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。