market-next:基于market插件二次开发的插件市场

做了一个 Koishi 插件市场增强版:koishi-plugin-market-next

相比原版 market,主要改进:

  • 默认使用源:https://registry.koishi.t4wefan.pub/index.json
  • 刷新按钮有明确反馈,加载失败会显示实际原因
  • 支持缓存优先显示,弱网下不会一直白屏
  • 支持自动路由竞速,源访问慢时会尝试更快的镜像
  • 插件列表改为无限滚动,浏览大量插件更顺
  • 安装后会自动尝试添加到配置页面,减少手动操作
  • 可选内置 ChatLuna 查询工具,让 AI 查询插件市场

项目地址:

欢迎测试反馈。

4 个赞

所以,market-next 插件要从 market 下载是吗(((

3 个赞

是的((

2 个赞

依赖管理页面真不错(现在更新完依赖不会自动重启koishi了?)

2 个赞

建议(都是依赖管理):

1.可以折叠分区,比如将“已下载未配置”折叠起来,这样就没那么占地方(主要是我平常也不看这个)

2.可以忽略依赖更新,如 #3 的图片所示,我有一个依赖 @satorijs/element ,当前版本是3.2.0,最新版是4.0.0-alpha-0,但我有一个插件,依赖3.2.0版本,所以我就不能升级 @satorijs/element ,但又想忽略他,让他不要提示更新

3.待补充…

2 个赞

@Vediya 有个bug,不知道是不是这个插件导致的(没装之前没有)

现在我只要启动插件,然后刷新页面,插件列表就会多出来两个插件,分别是 downloadsnix

market-next 插件没有运行的情况下,就不会有这种情况

2 个赞

next会自动把没有配置的插件加到配置页面

1 个赞

会在alpha5做一做!感谢反馈!

2 个赞

哦,这样啊,那确实方便了刚安装完插件的人,不错:+1:

1 个赞

alpha5发了 可以试试

2 个赞

有试试吗)

1 个赞

@Vediya 我现在使用的版本是 3.6.0-alpha.3,好像有点潜在的 bug?

  1. 无法保存配置:已经勾选“屏蔽预览版”,并设置了忽略某个插件的更新,但刷新页面后设置就没了,又会重新展示出来。

  2. 更新依赖时会卡住:刷新也没用,需要关闭页面重新进入。(由于其他插件没有推送更新,不能确定更新其他插件时会不会有这个问题,但 market-next 会有)

  3. 页面长时间停留卡死:长时间停留在依赖管理页面时,页面会自然卡住,不知道什么原因,也是需要关闭页面重新进入才能恢复。

2 个赞

wow,cool!

1 个赞

嗯 整理一些问题再发alpha5!

1 个赞

market-next 近况:从 3.5.5 到 3.6.0-alpha.4

koishi-plugin-market-next 是一个面向 Koishi Console 的下一代插件市场与依赖管理中心。相比原版 market,它更关注依赖管理、弱网加载、缓存回退、版本更新提示、插件配置联动,以及更适合日常维护的操作流程。

目前稳定版是 3.5.6,最新测试版是 3.6.0-alpha.4
3.6.0-alpha.x 仍发布在 alpha 渠道,不会替换 latest

主要变化

依赖管理页重做

从 3.5.5 之后,依赖管理页已经从传统表格改成了按状态分组的工作台:

  • 待应用、可更新、已忽略、版本异常、已下载未配置、插件包等分组
  • 支持搜索、筛选、Ctrl+K / Cmd+K 聚焦
  • 卡片展示当前版本、最新版本、配置状态、来源、异常原因
  • 安装、更新、卸载都会进入待应用状态,避免误操作
  • 支持忽略单个更新、永久不检测某些插件更新
  • 可手动开启预发布版本过滤,避免 alpha / beta / rc 被当作普通更新
  • 列表模式下也会常驻显示更新、忽略、恢复、配置、卸载等核心操作

弱网和加载体验优化

market-next 对插件市场和 npm 元数据请求做了不少优化:

  • 市场索引支持缓存优先显示
  • 后台刷新失败时可以继续显示旧缓存
  • 市场源和 npm registry 都支持自动路由与慢源接管
  • 记录源的成功率、延迟和失败原因,重启后也能继续参考
  • 依赖版本刷新会先返回本地依赖快照,远端 npm 元数据在后台继续更新
  • 调试信息能看到请求耗时、缓存来源、压缩方式、路由评分等数据

插件配置联动

安装插件后,market-next 会尽量自动补齐插件配置页里的停用配置,减少“依赖装了但配置页找不到”的情况。

卸载相关文案也做了区分,避免把“删除配置”误解成“卸载插件”。

前端显示模式

新增前端显示模式:

  • 性能模式:默认,低动效、高密度,适合插件很多的实例
  • 精致模式:手动开启,卡片、工具栏和交互反馈更细腻

最新 alpha:插件包功能

3.6.0-alpha.1 开始测试插件包功能。

插件包可以理解为一个插件集合,真实 npm 包名使用:

  • koishi-plugin-pa-xxx
  • @scope/koishi-plugin-pa-xxx

并通过 koishi.bundle 声明成员插件。

插件包可以用于:

  • 发布一组推荐插件,让用户一次安装完整组合
  • 发布一个小生态,例如核心插件 + 多个外围插件
  • 为复杂插件体系提供统一入口和后续更新追踪

插件包安装 GUI

插件包不会直接静默安装成员,而是进入专门的安装确认界面:

  • 展示插件包自身和成员清单
  • 区分 required / optional 成员
  • 展示版本范围、安装状态、描述、下载量、风险标签
  • 展示预设配置,并对敏感字段进行提示
  • 用户可以选择是否创建配置、是否使用预设配置、是否跳过可选成员
  • 最后展示安装 diff,再确认执行

插件包成员配置默认创建为停用配置,不会自动启用。

插件包卸载和维护

3.6.0-alpha.1 之后,插件包卸载也走专用弹窗:

  • 可以只卸载插件包自身
  • 可以同时卸载由插件包安装的成员
  • 可以清理插件包分组下的成员配置
  • 如果某个成员插件在插件包外已有配置,默认不会删除外部配置
  • 批量模式下也能暂存插件包卸载操作,等待统一应用

alpha.2 到 alpha.4 的改进

3.6.0-alpha.2 主要重做了插件包安装面板:

  • 顶部信息、成员统计、核心 / 可选成员分区更清晰
  • 可选成员支持整张卡片点击选择
  • 成员卡片补充短名、完整包名、安装状态、描述、版本范围和风险提示
  • 修复插件包卸载弹窗在依赖管理页中被滚动容器裁切的问题
  • 修复插件市场卡片名称旁出现两个“插件包”标识的问题

3.6.0-alpha.3 主要优化小屏和弹窗体验:

  • 插件包安装弹窗现在可以在小屏、高缩放、成员较多时完整滚动
  • 弹窗底部操作区固定在弹窗内
  • 收紧成员卡片、统计区、说明文本和最终 diff 的间距
  • 移除多处突兀的白色滚动条轨道,改成更柔和的滚动条样式
  • 更新前端构建链路,保证 build 和 audit 更稳定

3.6.0-alpha.4 主要修复插件包入口逻辑:

  • 已安装插件包在插件市场点击“修改”时,会直接打开插件包成员安装 / 维护面板
  • 依赖管理页里的插件包卡片不再按普通依赖展开版本操作
  • 单击插件包卡片或点击“管理”,会直接进入插件包面板
  • 插件包识别补充 market:package keyword,避免部分插件包误走普通安装流程

适合谁测试

如果你只是想稳定使用插件市场,建议继续使用 3.5.6

如果你想测试:

  • 插件包
  • 更完整的依赖管理
  • 插件安装后的配置联动
  • 弱网环境下的缓存和路由优化

可以尝试 3.6.0-alpha.4

安装 alpha 版本时请注意,它仍是测试版,建议在测试实例或可回滚环境中使用。

1 个赞

似乎修复了

1 个赞

确实:thinking:

1 个赞

更新依赖时会卡住:刷新也没用,需要关闭页面重新进入。(由于其他插件没有推送更新,不能确定更新其他插件时会不会有这个问题,但 market-next 会有)

还是做不到吗

1 个赞

嗯?我测试从来没有遇到过 有日志吗

2 个赞

没有呢

1 个赞