此文档已弃用。请访问我们的最新文档:https://koishi.chat

发布插件

为了让别人更方便地使用你编写的插件,你需要将其作为一个 npm 包进行发布。只需满足一定的规范,你的插件就能显示在 插件市场 中,其他人就可以通过控制台来安装它。

TIP

基本要求

要想显示在插件市场中,插件的 package.json 需要满足以下基本要求:

一个符合上述标准的示例:

package.json
{
  "name": "koishi-plugin-example",
  "version": "1.0.0",
  "peerDependencies": {
    "koishi": "^4.3.2"
  }
}

添加相关信息

除去上面的基本要求外,package.json 中还有一些字段能帮助显示插件的相关信息。

package.json
{
  "name": "koishi-plugin-example",
  "version": "1.0.0",
  "author": "Alice <alice@gmail.com>",      // 作者
  "maintainers": [                          // 维护者
    "Bob <bob@gmail.com>"
  ],
  "license": "MIT",                         // 许可证
  "homepage": "https://example.com",        // 主页
  "keywords": ["example"],                  // 关键词
  "peerDependencies": {
    "koishi": "^4.3.2"
  }
}
  • author: 插件作者,通常使用 名字 <邮箱> 的格式
  • maintainers: 插件维护者,应该是一个数组,其中元素格式同上
  • license: 插件许可证,你可以在 这里open in new window 了解各种许可证的详细信息
  • homepage: 插件主页,可以是一个网址 (也可以放你的 GitHub 项目地址)
  • keywords: 插件关键词,应该是一个字符串数组,会用于插件市场中的搜索功能

koishi 字段

除此以外,我们还提供了一个额外的 koishi 字段,用于指定与 Koishi 相关的信息。

package.json
{
  "name": "koishi-plugin-dialogue",
  "version": "1.0.0",
  "peerDependencies": {
    "koishi": "^4.3.2"
  },
  "koishi": {
    "description": {                        // 不同语言的插件描述
      "en": "English Description",
      "zh": "中文描述"
    },
    "service": {
      "required": ["database"],             // 必需的服务
      "optional": ["assets"],               // 可选的服务
      "implements": ["dialogue"],           // 实现的服务
    },
    "locales": ["en", "zh"],                // 支持的语言
  }
}
  • description: 插件描述,应该是一个对象,其中的键代表语言名,值是对应语言下的描述
  • service: 插件的服务相关信息,具体包含下列属性:
    • required: 必需的服务,应该是一个服务名构成的数组
    • optional: 可选的服务,应该是一个服务名构成的数组
    • implements: 实现的服务,应该是一个服务名构成的数组
  • locales: 插件支持的语言,应该是一个语言名构成的数组