[Feature] 新增「插件套装(Plugin Bundle)」把多个插件和预设配置打包,一键安装

Đang mở
#10,974 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
10/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
backend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement
功能描述

现在 AstrBot 安装插件是「一次一个」,而且装好之后是插件的默认配置,用户还得逐个进详情页改参数。但很多实际玩法是一组插件配合才成立的:

  • 想让 bot 拟人一点,要同时装主动聊天、上下文感知、人格记忆、表情/图片、限流,5~6 个插件,每个十几个开关,而且参数互相牵制(主动消息的时间窗要避开限流阈值)。
  • 想给某个适配器做整套优化(限流 + 消息合并 + 防抖 + 撤回追踪 + 长消息分段),单独装任何一个都没法形成「好用」的状态。

「装哪些插件」和「这些插件怎么配」这两件事现在是脱节的,用户只能查文档、抄别人的配置截图、反复试错。

希望新增插件套装:把一个插件组合 + 对应的配置打包成一个可分发的清单,一键装好、配好。

期望行为
  1. 一个套装 = 一组插件 + 一份配置。 套装是一个可托管在任意 HTTPS 地址(GitHub Raw、自建源、Gist)的 JSON 清单,声明包含哪些插件(来源、版本、是否必需)以及每个插件的配置。
  2. 一键安装:按清单逐个安装插件,装完自动写入配置并生效,不需要中途手动保存。
  3. 配置是「合并」而非「替换」:清单里只写想改的键,没提到的项保留用户当前的值。
  4. 安装前有差异预览:列出「将安装/更新哪些插件」和「将改动哪些配置项(旧值 → 新值)」,确认后执行。
  5. 独立于插件市场:套装有自己的源列表和入口,不混入现有插件源;多一个单独的插件包市场。
  6. 可回滚:记录套装改过哪些配置,支持卸载时恢复。
命名约定
  • 套装叫「插件套装」,代码/清单里统一用 bundle。
  • 清单的 name / id 带 astrbot_bundle_ 前缀(如 owner/astrbot_bundle_humanoid_kit),与插件的 astrbot_plugin_ 前缀区分开,避免身份、配置文件名和安装入口上的混淆。
使用场景

使用场景

1. 拟人化 / 角色扮演玩法一键搭好。 主动聊天 + 上下文感知 + 人格记忆 + 表情 + 限流这一套,配合参数都调好做成一个套装,新用户装完就能用,社区里流传的「配置截图」也能变成可分享的东西。

2. 针对某个适配器的整套优化。 比如 OneBot v11 的限流、消息合并、防抖、撤回追踪组合,部署新实例时直接套上。

3. 自己的多实例 / 换机迁移。 把自己调好的插件组合导出成套装,开新实例时一键还原。

4. 插件作者的「推荐搭配」。 作者在 README 里放一个「推荐与我一起用」的套装,把协同参数预先配好。


和现有功能的区别

  • 备份导入/导出:是整机全量恢复(数据库、知识库、系统配置一起覆盖),不能只挑一套插件,装完还要重启。它是「换机/灾难恢复」,不是「加一套玩法」。
  • 插件集合分享链接(#5771):只有插件清单,没有配置,也没有配置合并与回滚。
  • 多插件源合并(#10919):解决的是「找插件」,不是「装成套 + 配好」。
检查清单
  • 我已在 Issue 列表中搜索过相关功能,确认该功能想法从未被提出过。
  • 我建议的功能与 AstrBot 本体相关,而非在建议某一插件的功能。
  • 我已阅读并同意本项目的贡献者行为准则。
  • (可选)我愿意提交 PR 以帮助实现该功能。
Ngôn ngữ chính
Python
Star
46.4k
Fork
3.4k
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
120

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của AstrBotDevs/AstrBot

Tất cả issue của AstrBotDevs/AstrBot

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.