[Feature] 插件市场支持同时勾选多个插件源,合并搜索与展示

Đang mở
#10,919 0 bình luận 1 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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/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
full-stack

Hướng nghiên cứu

The payload names no files, so begin by locating the plugin marketplace view and the plugin-source management dialog in the dashboard, and the code that fetches a single registry today. Read how install_source.registry_url is stored and used when installing, since the issue relies on it. Done means several sources can be checked at once, their results merge into one searchable list with a source badge, and one failing source shows an error without blanking the page. The open choices, such as keeping at least one source selected, are not settled, so ask the maintainers before starting.

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

Mô tả

enhancement
功能描述

目前「扩展 → 插件市场」一次只能查看一个插件源(默认源,或「插件源管理」里手动添加的某一个自定义源),切换源需要点开对话框重新选一次,市场列表、搜索、分类、排序都只作用于当前这一个源。

希望改成多源同时加载:用复选框(checkbox)勾选任意多个源,市场页把选中的源合并成一个列表,然后在这个合并集合上统一搜索 / 筛选 / 排序,插件卡片上标注它来自哪个源。

期望行为
  1. 源选择改为多选:「插件源管理」中每个源左侧加复选框,默认源同样可勾选;提供"全选 / 取消全选";至少保留一个源(全不选时回退到默认源,或明确提示)。
  2. 合并展示:勾选的源并发拉取,合并为一份插件列表;搜索框、分类、排序、分页都作用于合并后的集合。
  3. 来源可辨识:每张插件卡片显示来源徽标(源名称);同一插件同时存在于多个源时合并为一条并标注"来自 N 个源"。
  4. 部分失败不影响整体:某个源请求失败时,其余源正常展示,并提示"XX 源加载失败",而不是整页报错或空白。
  5. 安装/更新回源正确:从某个源点"安装"时携带该条目的 registry_url(现有 install_source.registry_url 机制已支持),更新检查继续按源分组。
使用场景
  • 插件生态是分散的:默认市场只上架了一部分插件,很多作者的插件只发布在自建的第三方源(或某个社区源)里。想找"某个功能有没有现成插件",现在必须逐个源切过去搜一遍,切一次就重载一次列表,很费事。
  • 想对比:同一个插件在不同源的版本、描述、更新时间可能不一致,现在无法并排比较。
  • 想在合并视角下按"下载量 / 更新时间"排序挑最新的,或统一按分类浏览。
  • 已经收藏了多个第三方源的用户,日常希望"一次看全",而不关心它属于哪个源。
检查清单
  • 我已在 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.