Skip to content

插件系统

🧩 插件系统

SearchFly 采用灵活的插件架构,允许开发者轻松扩展搜索功能。

内置插件

  • 社交媒体:支持 Twitter、LinkedIn 等社交平台
  • 学术搜索:支持 arXiv、Google Scholar 等学术平台
  • 社区搜索:支持 Stack Overflow、Reddit 等技术社区
  • 代码搜索:支持 GitHub、GitLab 等代码仓库
  • 容器搜索:支持 Docker Hub、Quay.io 等容器镜像
  • 依赖搜索:支持 npm、PyPI 等包管理器

开发自定义插件

javascript
// plugins/my-custom-plugin.js
module.exports = {
  name: 'my-custom-plugin',
  displayName: '我的自定义插件',
  description: '自定义搜索插件示例',
  version: '1.0.0',
  
  search: async (query, options) => {
    // 实现搜索逻辑
    return [
      {
        title: '搜索结果',
        url: 'https://example.com',
        description: '这是一个搜索结果示例'
      }
    ];
  }
};

插件开发指南

  1. 创建插件文件,放在 plugins/ 目录下
  2. 导出插件配置对象,包含 namedisplayNamedescriptionversion 等属性
  3. 实现 search 方法,接收 queryoptions 参数,返回搜索结果数组
  4. 在插件配置中注册插件

插件 API 参考

插件配置对象

属性名类型描述
namestring插件唯一标识符
displayNamestring插件显示名称
descriptionstring插件描述
versionstring插件版本号
searchfunction搜索方法,接收 queryoptions 参数

搜索方法参数

  • query:搜索关键词
  • options:搜索选项,包含搜索分类、语言、页码等信息

搜索结果格式

javascript
[
  {
    title: string,      // 结果标题
    url: string,        // 结果链接
    description: string // 结果描述
  }
]