添加插件
使用插件扩展 sithra-rs 的功能
sithra-rs 采用插件化架构设计,通过独立的插件二进制文件来扩展功能。这种设计使得:
-
插件可以独立开发和分发
-
即插即用,无需重新编译主程序
-
按需安装,减少资源占用
安全警告
由于插件具有以下特点:
- 以二进制形式分发,难以审查代码
- 独立运行,具有较高系统权限
- 可能包含恶意代码
因此在安装第三方插件时:
- 必须确保插件开发者可信
- 建议使用开源插件
- 避免安装来源不明的插件
sithra-rs 官方不对任何非官方插件的安全性负责。
安装插件
目前插件主要通过以下渠道分发:
- GitHub Releases
- 开发者自行分发
请确保下载的插件版本与您的操作系统和 CPU 架构匹配:
- Windows:
.exe
文件 - Linux: 无扩展名的二进制文件
- macOS: 无扩展名的二进制文件
将插件文件放入任意 sithra-rs 有权限访问的文件夹,这里建议 plugins
目录。以 echo
插件为例:
echo.exe
config.toml
sithra-rs.exe
所有插件都需要在 config.toml
中进行注册才能被 sithra-rs 加载。关于如何编写配置,请参考下一篇文档。
一个最基础的插件注册示例如下:
[echo]
path = "plugins/echo.exe"
重启 sithra-rs,插件会自动加载。您可以在日志中看到加载信息:
2025-04-24T15:41:30.860854Z INFO sithra::loader: Loading echo
2025-04-24T15:41:30.861278Z INFO echo: Echo plugin started
并非所有插件都会在日志中显示 启动 信息,这由插件开发者决定。但 Loading
信息是 sithra-rs 核心功能,一定会显示。未来 sithra-rs 将会支持热重载。
配置插件
插件的配置均在 config.toml
中完成。更详细的配置方法与技巧,请参考 编写配置项 文档。
以一个虚构的 headless
插件为例,它的配置可能如下所示:
headless
插件当前还并未开发,此处配置仅作示例
# 首先,注册插件本身
[headless]
path = "plugins/headless.exe"
# 然后,为插件提供专属的配置
[headless.config]
# WebDriver 服务地址
webdriver-url = "http://127.0.0.1:2356"
修改配置后需要重启 sithra-rs 才能生效。建议先查看插件自身的文档或配置文件中的注释说明,了解各配置项的作用。
官方插件
sithra-rs 官方维护的插件:
所有官方插件均在 GitHub 开源,欢迎贡献代码或提出建议。