LogoSithraRS

添加插件

使用插件扩展 sithra-rs 的功能

sithra-rs 采用插件化架构设计,通过独立的插件二进制文件来扩展功能。这种设计使得:

  • 插件可以独立开发和分发
  • 即插即用,无需重新编译主程序
  • 按需安装,减少资源占用

安全警告

由于插件具有以下特点:

  • 以二进制形式分发,难以审查代码
  • 独立运行,具有较高系统权限
  • 可能包含恶意代码

因此在安装第三方插件时:

  1. 必须确保插件开发者可信
  2. 建议使用开源插件
  3. 避免安装来源不明的插件

sithra-rs 官方不对任何非官方插件的安全性负责。

安装插件

目前插件主要通过以下渠道分发:

  • GitHub Releases
  • 开发者自行分发

请确保下载的插件版本与您的操作系统和 CPU 架构匹配:

  • Windows: .exe 文件
  • Linux: 无扩展名的二进制文件
  • macOS: 无扩展名的二进制文件

将插件文件放入任意 sithra-rs 有权限访问的文件夹,这里建议 plugins 目录。以 echo 插件为例:

echo.exe
config.toml
sithra-rs.exe

所有插件都需要在 config.toml 中进行注册才能被 sithra-rs 加载。关于如何编写配置,请参考下一篇文档

一个最基础的插件注册示例如下:

config.toml
[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 插件当前还并未开发,此处配置仅作示例

config.toml
# 首先,注册插件本身
[headless]
path = "plugins/headless.exe"

# 然后,为插件提供专属的配置
[headless.config]
# WebDriver 服务地址
webdriver-url = "http://127.0.0.1:2356"

修改配置后需要重启 sithra-rs 才能生效。建议先查看插件自身的文档或配置文件中的注释说明,了解各配置项的作用。

官方插件

sithra-rs 官方维护的插件:

所有官方插件均在 GitHub 开源,欢迎贡献代码或提出建议。