# 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` 回调,将不会执行热重载。