nonebot / nonebot2

跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python
https://nonebot.dev
MIT License
6.17k stars 571 forks source link

Feature: 配置管理改进 #3099

Closed tomorinao-www closed 1 month ago

tomorinao-www commented 1 month ago

希望能解决的问题

默认使用的env文件配置很多用户不适应,不够现代化,导致许多插件设计了自己的yml和JSON配置管理

描述所需要的功能

yml和JSON配置管理好处有: 1,现代化配置文件,读写方便,语法提示,一键格式化 2,有预设配置文件,用户不需要复制粘贴配置项名,防止出错 推荐参照这些插件,推广到全插件的配置管理

yanyongyu commented 1 month ago

之所以不采用yaml与json,是综合考虑的结果。yaml和json文件都会在容器化部署时增加用户上手难度,不够灵活,dotenv 是目前 docker / k8s 均有良好支持的通用方案。

在目前大版本内不会考虑直接更换配置方式,你可以在 机器人入口文件内自行读取配置文件然后传入 nonebot.init

tomorinao-www commented 1 month ago

但是很多插件都有自己的JSON,yaml配置,而不使用你们的env,那是否应该给开发者建议一下,或者统一一下各个插件的配置系统标准规范,比如自定义配置应该放在什么文件夹

yanyongyu commented 1 month ago

目前商店发布的插件都要求使用nb的配置项,或者使用localstore插件统一目录,localstore目录也可以由用户通过dotenv配置。