Update market.ts: 是否考虑修改一下插件市场的机制?
如图,用淘宝的npm镜像api 搜索 含有"koishi-plugin-"的npm包
https://registry.npmmirror.com/-/v1/search?text=koishi-plugin-&size=50
搜索50条,耗时224ms
考虑一下 把这件事情 放在koishi实例本地做? 用来代替现有的插件市场镜像? 或者说 考虑作为一个可选项,实验性功能,可以切换,
之前就是本地做的,但是插件市场过大,一共 2000+ 插件,并且每个插件必须获取具体信息才能确定是否显示,相当于 2000 多次请求,会直接把 npm 干到 429……
之前就是本地做的,但是插件市场过大,一共 2000+ 插件,并且每个插件必须获取具体信息才能确定是否显示,相当于 2000 多次请求,会直接把 npm 干到 429……
sokka,明白了,就是说 每个插件还需要单独请求一下详细信息,
🤔那这样是否可行,在market插件设置中 新增两个 实验性配置项:
- string:自定义npm镜像源(提供淘宝npm镜像源的预设)
- boolean:不加载每个插件的具体信息
并明确告知用户 2.boolean为true的后果: 显示不了每个插件的详细信息,但是同时可以带来插件市场更快的加载速度,以及koishi启动的时候不需要等待market响应完毕
这样是否是一个折中的方案?
我想也许这样适用于这种情况:
- 1.该用户在浏览插件市场的时候 可以接受 只看插件的name, description, keywords, 需要了解详细信息的时候再点进去
- 2.该用户对于koishi开发 或者 koishi插件市场 已经有一定了解,已经记住了插件名称,想要加一点现成的插件直接开始用的,直接搜名字下载开用
🤔🤔🤔🤔🤔
上文已经提到了,要请求详细信息才能得知是否应当在插件市场内显示。
每个插件还需要单独请求一下详细信息
显示插件的详细信息本身就是插件市场的存在目的。如果有人接受只看插件的 name、description、keywords 的话,直接在 npm 上搜 koishi 就可以看到了,0 中转无添加,速度最快效果最好。对于已经记住了插件名称的人,直接在依赖管理页面添加对应包即可。换句话说,这两类人现在已经不需要 market 插件就可达到目的。
- string:自定义npm镜像源(提供淘宝npm镜像源的预设)
market 插件配置中现在已有名为 registry.endpoint(现在在 npmRegistryServer)的配置用于自定义 npm 镜像源,且对于所有用户默认使用淘宝 npm 镜像源。换句话说,从任何地方安装的全新 Koishi 请求的 npm 服务默认就是淘宝 npm。
话说能问问这个建议背后本身的需求吗?或者说,目前插件市场的非本地模式你觉得有什么问题吗?