Files
HeXi/dev/docs/plugin-type-classification.md
T
sansenhoshi 131b92b319 结构调整
视频解析多图/多媒体结构 消息体适配
2026-09-08 14:25:32 +08:00

4.8 KiB
Raw Blame History

HeXi 插件类型分类(library / application)

依据 NoneBot 发布规范:type 是插件类别,发布必填。当前有效类别:

  • library:为其他插件编写提供功能(核心库/框架),不参与热拔插/热重载。
  • application:向机器人用户提供功能,可热拔插/热重载。

本仓库自定义插件统一在 hexi/plugins/(经 nonebot.load_plugins("hexi") 加载); pip 社区插件由其自带元数据决定类别,本仓库不改动,但热拔插管理器会按类别保护。

变动:原 nonebot_plugin_hexi_core / nonebot_plugin_web_hub 已从 hexi/plugins/ 移出,现为机器人核心模块 hexi/core、hexi/web_hub(非插件),不再参与插件类型分类与热拔插,故下表不列出。


自定义插件(hexi/plugins/)

插件(模块名) type 说明
hexi.plugins.nonebot_plugin_bf_bot application 战地系列战绩查询(BF3/4/1/5/2042/6)。
hexi.plugins.nonebot_plugin_steam_info application Steam 信息播报/查询。
hexi.plugins.nonebot_plugin_mc_server_status application Minecraft 服务器状态查询。
hexi.plugins.nonebot_plugin_ncm_saying application 网易云热评。
hexi.plugins.nonebot_plugin_helldivers_tools application 绝地潜兵 2 前线战况/战备。
hexi.plugins.nonebot_plugin_learning_chat application 马尔可夫链群聊学习/复读。
hexi.plugins.nonebot_plugin_galgame_card application 群聊人设卡生成/展示。
hexi.plugins.nonebot_plugin_group_tools application 群管理工具集。
hexi.plugins.nonebot_plugin_group_daily_analysis application 群聊行为分析报告。
hexi.plugins.nonebot_plugin_dailywife application 每日随机抽取群友。
hexi.plugins.nonebot_plugin_deer_pipe application 每日打卡(鹿)。
hexi.plugins.nonebot_plugin_dice application 掷骰子/结婚判定。
hexi.plugins.nonebot_plugin_makeaquote application 名人/语录图生成。
hexi.plugins.nonebot_plugin_random_jm_code application 随机 JM 码。
hexi.plugins.nonebot_plugin_video_analysis application 视频链接解析。
hexi.plugins.nonebot_plugin_regif application GIF 倒放/处理。
hexi.plugins.nonebot_plugin_picfinder_take application 二次元搜图。
hexi.plugins.nonebot_plugin_picstatus application 设备状态图。
hexi.plugins.nonebot_plugin_huoziyinshua application otto 活字印刷(语音合成)。
hexi.plugins.memes_ops application 给 nonebot_plugin_memes 追加裸词选项(用户侧语法)。
hexi.plugins.nonebot_plugin_deadlock - 停用:整文件被注释,不注册任何功能(历史遗留)。
hexi.plugins.nonebot_plugin_brash_general_supercredits_tools - 空壳:未完成占位,__init__.py 仅注释,无功能。

pip 社区插件(pyproject.toml 声明)

这些插件由安装包自带的 __plugin_meta__ 决定类别,本仓库不改动;其中的 library 型插件同样受热拔插保护。

插件 常见类别 说明
nonebot_plugin_apscheduler library 定时任务框架。
nonebot_plugin_alconna library 命令解析/消息框架。
nonebot_plugin_saa library 跨平台发送辅助。
nonebot_plugin_session library 会话/状态管理。
nonebot_plugin_userinfo library 用户信息接口。
nonebot_plugin_user application 用户数据接口(含绑定/查看命令)。
nonebot_plugin_datastore library 数据存储底座。
nonebot_plugin_orm library ORM 底座。
nonebot_plugin_fix_qq_img_ssl library 图片 SSL 修复补丁。
nonebot_plugin_wordcloud application 词云生成。
nonebot_plugin_memes application 表情包。
nonebot_plugin_multincm application 多源网抑云点歌。
nonebot_plugin_random_stereotypes application 随机刻板印象。
nonebot_plugin_rollpig application 滚猪。

说明:社区插件类别以其安装包 PluginMetadata.type 为准,若与本表不符请以包内元数据为准。


热拔插保护

../../hexi/core/plugin_manager.py 中的 hot_load / hot_unload / hot_reload 会先判断目标插件类别:

  • 目标为 application → 正常热拔插。
  • 其余(library / 未声明类别,含根包无 meta 但被依赖的核心/框架,如 alconna)→ 拒绝并记录 warning(热拔插会使依赖它的插件运行混乱)。

hexi/web_hub/web_config.py 保存配置触发的 hot_reload 同样受此保护:非 application 插件若未提供 apply 回调,将不会执行热重载。