插件系统
🧩 插件系统
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: '这是一个搜索结果示例'
}
];
}
};插件开发指南
- 创建插件文件,放在
plugins/目录下 - 导出插件配置对象,包含
name、displayName、description、version等属性 - 实现
search方法,接收query和options参数,返回搜索结果数组 - 在插件配置中注册插件
插件 API 参考
插件配置对象
| 属性名 | 类型 | 描述 |
|---|---|---|
name | string | 插件唯一标识符 |
displayName | string | 插件显示名称 |
description | string | 插件描述 |
version | string | 插件版本号 |
search | function | 搜索方法,接收 query 和 options 参数 |
搜索方法参数
query:搜索关键词options:搜索选项,包含搜索分类、语言、页码等信息
搜索结果格式
javascript
[
{
title: string, // 结果标题
url: string, // 结果链接
description: string // 结果描述
}
]