做了一个 Koishi 插件市场增强版:koishi-plugin-market-next。
相比原版 market,主要改进:
- 默认使用源:
https://registry.koishi.t4wefan.pub/index.json
- 刷新按钮有明确反馈,加载失败会显示实际原因
- 支持缓存优先显示,弱网下不会一直白屏
- 支持自动路由竞速,源访问慢时会尝试更快的镜像
- 插件列表改为无限滚动,浏览大量插件更顺
- 安装后会自动尝试添加到配置页面,减少手动操作
- 可选内置 ChatLuna 查询工具,让 AI 查询插件市场
项目地址:
欢迎测试反馈。
4 个赞
所以,market-next 插件要从 market 下载是吗(((
3 个赞
thdd
4
依赖管理页面真不错(现在更新完依赖不会自动重启koishi了?)
2 个赞
thdd
5
建议(都是依赖管理):
1.可以折叠分区,比如将“已下载未配置”折叠起来,这样就没那么占地方(主要是我平常也不看这个)
2.可以忽略依赖更新,如 #3 的图片所示,我有一个依赖 @satorijs/element ,当前版本是3.2.0,最新版是4.0.0-alpha-0,但我有一个插件,依赖3.2.0版本,所以我就不能升级 @satorijs/element ,但又想忽略他,让他不要提示更新
3.待补充…
2 个赞
thdd
6
@Vediya 有个bug,不知道是不是这个插件导致的(没装之前没有)
现在我只要启动插件,然后刷新页面,插件列表就会多出来两个插件,分别是 downloads 和 nix 。
在 market-next 插件没有运行的情况下,就不会有这种情况
2 个赞
thdd
13
@Vediya 我现在使用的版本是 3.6.0-alpha.3,好像有点潜在的 bug?
-
无法保存配置:已经勾选“屏蔽预览版”,并设置了忽略某个插件的更新,但刷新页面后设置就没了,又会重新展示出来。
-
更新依赖时会卡住:刷新也没用,需要关闭页面重新进入。(由于其他插件没有推送更新,不能确定更新其他插件时会不会有这个问题,但 market-next 会有)
-
页面长时间停留卡死:长时间停留在依赖管理页面时,页面会自然卡住,不知道什么原因,也是需要关闭页面重新进入才能恢复。
2 个赞
Vediya
16
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 个赞