npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@koishi-ce/plugin-market

v1.4.1

Published

Manage your bots and plugins with console

Readme

@koishi-ce/plugin-market

简体中文 | English

控制台的插件市场与依赖安装器,移植自上游 koishijs/webui 的 plugins/market(原版 v2.11.11 线)。在网页上搜索、浏览、安装、卸载、升级插件与依赖;安装操作由 installer 服务执行——直接调用当前项目的包管理器。建议配合 @koishi-ce/plugin-console 使用。

配置项

| 字段 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | registry.endpoint | string | 本地 npmrc 回落官方源 | npm registry 地址 | | registry.timeout | number | 5 秒 | registry 请求超时 | | search.endpoint | string | 无(需手填) | 市场搜索端点,可用官方 https://registry.koishi.chat/index.json 或社区镜像 | | search.timeout | number | 30 秒 | 搜索请求超时 | | search.proxyAgent | string | - | 搜索请求的代理地址 |

search.endpoint 不配置时会退化为 npm 原始搜索(逐页爬取全量包,极慢),建议配置镜像端点。

功能与页面

  • 插件市场页(/market,权限 4):搜索、分类浏览、兼容性过滤(按 peer 的 koishi 版本范围 semver 相交判定);
  • 依赖管理页(/dependencies,权限 4):查看本地依赖的 request / resolved / workspace / latest 状态,手动安装与覆盖;
  • 安装进度:状态栏右侧实时显示;市场页支持 ctrl+r 刷新;
  • 数据服务:dependencies(本地依赖收集)、registry(各包版本元数据缓存)、market(搜索结果)。

指令

| 指令 | 权限 | 说明 | | --- | --- | --- | | plugin.install <name>(别名 .i) | 4 | 安装插件 | | plugin.uninstall <name>(别名 .r) | 4 | 卸载插件 | | plugin.upgrade [name...](别名 .update / .up) | 4 | 升级插件,-s, --koishi 升级框架自身 |

CE 相对上游的调整

  • 守护请求:安装清单永不覆盖或删除 workspace: 前缀与 npm:@koishi-ce alias 的依赖声明——前者是本仓 monorepo 归属,后者是下游脚手架的 shim 归属,防止重新拉下 npm 官方包形成第二份框架副本;
  • Bun 适配:npmrc 读取改为原生文件解析(Bun 无 config 子命令);manifest 探测纯 fs 化;安装后按 isResidentInCache 判定是否需要整进程重载;
  • 网络韧性:市场请求对 429 / 408 / 5xx 指数退避重试并遵循 Retry-After;
  • client 侧依赖重定向:前端依赖 npm 包 @koishijs/market(上游以源码发布的组件库),其内部以 npm 名引用的 @koishijs/components 在构建时经 alias 重定向到本仓 workspace 版 @koishi-ce/components,避免组件库双实例。

许可证

AGPL-3.0。本包是上游 koishijs/webui 的社区再分发,版权归 Shigma 及 Koishijs 贡献者(上游)与 Koishi-CE 贡献者,见 NOTICE。


English

The plugin market and dependency installer for the console, ported from plugins/market of the upstream koishijs/webui (v2.11.11 line). Search, browse, install, uninstall and upgrade plugins and dependencies on the web; installs are performed by the installer service, which drives the project's own package manager. Best used with @koishi-ce/plugin-console.

Configuration

| Field | Type | Default | Description | | --- | --- | --- | --- | | registry.endpoint | string | local npmrc, falling back to the official registry | npm registry endpoint | | registry.timeout | number | 5s | Registry request timeout | | search.endpoint | string | none (must be set) | Market search endpoint, e.g. the official https://registry.koishi.chat/index.json or a community mirror | | search.timeout | number | 30s | Search request timeout | | search.proxyAgent | string | - | Proxy for search requests |

Without search.endpoint the plugin falls back to raw npm search, which crawls the whole registry page by page and is extremely slow — configuring a mirror endpoint is strongly recommended.

Features and pages

  • Market page (/market, authority 4) — search, category browsing and compatibility filtering (semver intersection against the koishi peer range).
  • Dependencies page (/dependencies, authority 4) — local dependency state (request / resolved / workspace / latest) with manual install and override.
  • Install progress in the status bar; ctrl+r refreshes the market page.
  • Data services — dependencies, registry, market.

Commands

| Command | Authority | Description | | --- | --- | --- | | plugin.install <name> (alias .i) | 4 | Install a plugin | | plugin.uninstall <name> (alias .r) | 4 | Uninstall a plugin | | plugin.upgrade [name...] (aliases .update / .up) | 4 | Upgrade plugins; -s, --koishi upgrades the framework itself |

CE adjustments

  • Guarded requests — the install manifest never overwrites or deletes dependencies declared with the workspace: prefix or npm:@koishi-ce aliases (monorepo ownership and downstream shim ownership respectively), preventing the official npm packages from being pulled back in as a second framework copy.
  • Bun adaptations — native npmrc file parsing (Bun has no config subcommand), pure-fs manifest probing, and post-install process-reload decisions via isResidentInCache.
  • Network resilience — exponential backoff with Retry-After support for 429 / 408 / 5xx market responses.
  • Client-side dependency redirect — the client depends on the npm package @koishijs/market (an upstream component library published as source); its internal references to @koishijs/components are aliased at build time to this repository's workspace @koishi-ce/components, avoiding a duplicate component library instance.

License

AGPL-3.0. Community redistribution of upstream koishijs/webui; copyright Shigma and Koishijs contributors (upstream) and Koishi-CE contributors — see NOTICE.