chatluna-plugin-omsearch

中文文档
0.1.0发布于 2026/11/03MITTypeScriptES Module零依赖

chatluna的搜索插件集成,支持大部分主流搜索服务。

原始使用文档
文档目录5 节
  1. 支持的搜索服务
  2. 配置
  3. 工具
  4. 注意
  5. 许可

chatluna-plugin-omsearch

chatluna的搜索插件集成,支持大部分主流搜索服务。

给模型提供一个统一的 web_search 工具。你在配置里按顺序添加搜索服务,搜索时依次尝试:前一个出错、超时或没有结果,就自动换下一个。

支持的搜索服务

类型服务需要
国际Tavily、Brave Search、Exa、Jina Search、Firecrawl、Kagi、Serper(Google)、Perplexity SearchAPI Key(Firecrawl 自建实例可不填)
国内博查 Bocha、智谱 Web Search、秘塔 Metaso、百度千帆 AI 搜索API Key
自托管 / 免 KeySearXNG、DuckDuckGoSearXNG 实例地址;DuckDuckGo 无需配置

配置

字段默认值说明
providers[]回退链。只有添加并启用的服务才会被使用,列表顺序就是尝试顺序。同一种服务可以添加多次(例如多个 API Key)。
providers[].type—搜索服务类型,决定下面出现哪些字段。
providers[].enabledtrue关闭后保留配置,但不参与搜索。
limit8模型没有指定数量时返回的条数(1–20)。
timeout20000单个服务的超时(毫秒),超时后转到下一个服务。

没有启用任何服务时,web_search 会返回明确的错误,提示去配置。

- id: omsearch
  name: chatluna-plugin-omsearch
  config:
    providers:
      - type: bocha
        apiKey: sk-...
      - type: tavily
        apiKey: tvly-...
      - type: searxng
        endpoint: http://127.0.0.1:8080

工具

web_search({ query, recency?, limit? })

  • query:搜索词,大多数引擎支持引号短语和 site:。
  • recency:day / week / month / year。没有对应时间窗的服务会放宽到最接近的一档(SearXNG 的 week → month,百度的 day → week);秘塔、Jina 不支持时间过滤。
  • limit:1–20,超出单个服务上限时按该服务上限截断。

返回编号结果(标题、链接、摘要、日期),部分服务(Tavily、Kagi、Serper、SearXNG)会附带一段简短回答,末尾注明实际返回结果的服务。

注意

  • 智谱搜索的查询不能超过 70 个字符,超出时直接跳到下一个服务。
  • DuckDuckGo 通过抓取 HTML 页面实现,数据中心或共享出口 IP 容易被它的人机验证拦截,建议放在回退链末尾。
  • 依赖宿主的 tools(@chatluna/tool)和 http(@cordisjs/plugin-http)服务。

许可

MIT

版本与发布记录

chatluna-plugin-omsearch 共发布 2 个版本,首次发布于 2026/11/03;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.1.0latest2026/11/03今天
0.0.0-stage2026/11/03今天

关于 chatluna-plugin-omsearch 的常见问题

chatluna-plugin-omsearch 是什么?

chatluna的搜索插件集成,支持大部分主流搜索服务。

如何安装 chatluna-plugin-omsearch?

在项目目录运行 npm install chatluna-plugin-omsearch,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:cordis(^4.0.0-rc.12)、@chatluna/tool(^2.0.0-alpha.0)、@chatluna/schema(^2.0.0-alpha.0)、@cordisjs/plugin-http(^1.5.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

chatluna-plugin-omsearch 支持 TypeScript 吗?

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

chatluna-plugin-omsearch 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

chatluna-plugin-omsearch 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

chatluna-plugin-omsearch 可以商用吗?

chatluna-plugin-omsearch 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

chatluna-plugin-omsearch 还在维护吗?

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