[Feature] 新增「插件套装(Plugin Bundle)」把多个插件和预设配置打包,一键安装
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
This is a design proposal with no files, functions or tests named in the payload, so the first step is to agree on the manifest schema for bundle (plugin sources, versions, required flags, config keys to merge) and on the rollback record. Related threads #5771 and #10919 are referenced and should be read to avoid overlap. Done would mean an agreed spec plus a maintainer decision on whether the astrbot_bundle_ naming and separate marketplace are accepted.
由索引模型根据 Issue 内容生成。
描述
功能描述
现在 AstrBot 安装插件是「一次一个」,而且装好之后是插件的默认配置,用户还得逐个进详情页改参数。但很多实际玩法是一组插件配合才成立的:
- 想让 bot 拟人一点,要同时装主动聊天、上下文感知、人格记忆、表情/图片、限流,5~6 个插件,每个十几个开关,而且参数互相牵制(主动消息的时间窗要避开限流阈值)。
- 想给某个适配器做整套优化(限流 + 消息合并 + 防抖 + 撤回追踪 + 长消息分段),单独装任何一个都没法形成「好用」的状态。
「装哪些插件」和「这些插件怎么配」这两件事现在是脱节的,用户只能查文档、抄别人的配置截图、反复试错。
希望新增插件套装:把一个插件组合 + 对应的配置打包成一个可分发的清单,一键装好、配好。
期望行为
- 一个套装 = 一组插件 + 一份配置。 套装是一个可托管在任意 HTTPS 地址(GitHub Raw、自建源、Gist)的 JSON 清单,声明包含哪些插件(来源、版本、是否必需)以及每个插件的配置。
- 一键安装:按清单逐个安装插件,装完自动写入配置并生效,不需要中途手动保存。
- 配置是「合并」而非「替换」:清单里只写想改的键,没提到的项保留用户当前的值。
- 安装前有差异预览:列出「将安装/更新哪些插件」和「将改动哪些配置项(旧值 → 新值)」,确认后执行。
- 独立于插件市场:套装有自己的源列表和入口,不混入现有插件源;多一个单独的插件包市场。
- 可回滚:记录套装改过哪些配置,支持卸载时恢复。
命名约定
- 套装叫「插件套装」,代码/清单里统一用
bundle。 - 清单的
name/id带astrbot_bundle_前缀(如owner/astrbot_bundle_humanoid_kit),与插件的astrbot_plugin_前缀区分开,避免身份、配置文件名和安装入口上的混淆。
使用场景
使用场景
1. 拟人化 / 角色扮演玩法一键搭好。 主动聊天 + 上下文感知 + 人格记忆 + 表情 + 限流这一套,配合参数都调好做成一个套装,新用户装完就能用,社区里流传的「配置截图」也能变成可分享的东西。
2. 针对某个适配器的整套优化。 比如 OneBot v11 的限流、消息合并、防抖、撤回追踪组合,部署新实例时直接套上。
3. 自己的多实例 / 换机迁移。 把自己调好的插件组合导出成套装,开新实例时一键还原。
4. 插件作者的「推荐搭配」。 作者在 README 里放一个「推荐与我一起用」的套装,把协同参数预先配好。
和现有功能的区别
- 备份导入/导出:是整机全量恢复(数据库、知识库、系统配置一起覆盖),不能只挑一套插件,装完还要重启。它是「换机/灾难恢复」,不是「加一套玩法」。
- 插件集合分享链接(#5771):只有插件清单,没有配置,也没有配置合并与回滚。
- 多插件源合并(#10919):解决的是「找插件」,不是「装成套 + 配好」。
检查清单
- 主要语言
- Python
- 星标
- 46.4k
- 派生
- 3.4k
- 平均合并
- 1 天 11 小时
- 30 天内合并 PR
- 120
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
AstrBotDevs/AstrBot 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
AstrBotDevs/AstrBot#11038 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
AstrBotDevs/AstrBot#11034 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
AstrBotDevs/AstrBot#10999 · 1 条评论 ·
维护者通常 1 天内回复
-
[Bug] OpenAI-compatible Gemini 工具 schema const 导致 400可能已有人在做 @arccat-114 于 17 天前认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 77/100
AstrBotDevs/AstrBot#10720 · 1 条评论 ·
维护者通常 1 天内回复
-
[Bug] Discord slash command sync aborts with KeyError when a plugin handler is defined in a submodule可能已有人在做 @yuexia5 于 22 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 77/100
AstrBotDevs/AstrBot#10626 · 1 条评论 ·
维护者通常 1 天内回复
查看 AstrBotDevs/AstrBot 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
navikt/tiltakspenger#129 ·
-
难度 1/5 1-3 小时 新手友好度 83/100
FinanceFlash/unvibecode#652 ·
维护者通常 1 天内回复
-
netbox status: needs triage type: documentation
难度 2/5 1-3 小时 新手友好度 76/100
netbox-community/netbox#23655 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
MCDReforged/MCDReforged#442 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
bytedance/agentkit-samples#277 ·