YAML 字段与插件配置
别看 Eridanus 功能这么多,其实我的插件体系设计得特别规整,一点都不乱糟糟的~ 每一个功能包都在自己的小房间里过日子。
整个框架采用的是 “中心+分布式” 的配置管理逻辑:
- 全局主枢纽:
run/common_config/basic_config.yaml(负责连接、权限基础与代理)。 - 独立插件包配置:每个功能目录下的
run/<插件名>/config.yaml(负责每个插件独有的业务参数)。
插件配置是怎样被读取的?
在代码世界里,框架会自动把各个 YAML 文件挂载在全局 config 对象上:
- 访问格式通常是:
config.<插件目录名>.<yaml文件名> - 比如基础插件读取的是
config.basic_plugin.config - 系统插件读取的是
config.system_plugin.config
这也意味着:YAML 里的键名是严格区分大小写的,层级缩进不能乱,未在代码中使用的自定义键是不会凭空起作用的哦!
典型插件配置速览(以 basic_plugin 为例)
来看看 run/basic_plugin/config.yaml 的节选:
yaml
# 外部开放 API 的密钥配置
心知天气:
api_key: "" # 心知天气 Private Key,留空就查不了实时天气了哦
image_search:
sauceno_api_key: "" # SauceNAO 以图搜番 key
nasa_api:
api_key: "" # NASA 天文每日一图 key
# 涩图与壁纸相关设置
setu:
r18mode: true # 是否允许 R18 内容(请群主对自己的群聊负责~)
download: true # 是否先下载到本地再发送
gray_layer: true # 是否添加防和谐轻度灰度滤镜
setu_operate_level: 0 # 触发涩图所需的最低用户权限等级(0 表示普通用户皆可)
custom_pic_source: "https://api.lolicon.app/setu/v2"
today_img_list: ["巨乳", "贫乳", "萝莉", "黑丝", "白丝"]
# 搜图引擎行为
搜图:
search_image_resource_operate_level: 0
聚合搜图: true
soutu_bot: true如果你想修改配置,必须注意什么?
- 缩进规范:YAML 必须用半角空格缩进,严禁使用 Tab 键!缩进一旦错位,整个文件都会解析崩溃,到时候我可就起不来床啦。
- 布尔值与数字:真假只能写小写的
true/false,权限等级必须是纯整数(如0、10、100、1000)。 - 热更新还是重启?
- 如果你修改的是具体的插件业务参数(例如心知天气的 Key、涩图的开关、反击概率等),绝大多数插件在重新调用或者热重载时就能直接生效。
- 但如果你动了
basic_config.yaml里的 WebSocket 链接、协议端端口、Master QQ、Redis 地址等底层网络基础设施,请务必老老实实重启主程序!
- WebUI 修改与本地文件同步:你在 WebUI 配置编辑器里修改并保存的内容,最终都会直接写回对应的本地
.yaml文件。如果你发现改了没反应,先看看控制台有没有报语法错误或者权限不足哦。