Aeria
GitHub
改 · 3.11

插件的后台页和设置

最后核对 2026-10-08对应提交 79735c5依据 plugins.py · webui.py · PluginSettings.tsx · Plugins.tsx

插件可以有一张设置表单(网页后台「插件中心 → 设置」),也可以在网页后台加自己的页面。设置由装的人填,插件只读。

本页 4 节
  1. 设置表单
  2. 自己的页面
  3. 接口
  4. 没做到的

设置表单

声明了 webui.plugin_panel 的插件,可以在入口对象上实现 panel_schema(),返回要画的表单:

def panel_schema(self):
    return {"sections": [
        {"title": "在哪工作", "fields": [
            {"path": "channel_id", "type": "string", "label": "频道编号"},
            {"path": "guild_ids", "type": "id_list", "label": "只在这些服务器"},
            {"path": "enabled_at_night", "type": "boolean", "label": "夜里也发"},
        ]},
    ]}

插件里用 context.config() 读保存好的配置(只读)。配置里像密钥的字段只能写引用(环境变量、文件、钥匙串),写明文会被拒。

自己的页面

声明了 register_webui_page 的插件,在 setup 里调 context.register_webui_page({"title": "…", "path": "…"}),页面出现在网页后台里;清单的 webui_pages 里也可以直接写。

接口

后台用的这几个接口,插件自己的前端也能用(要登录):

没做到的