mirror of https://github.com/msgbyte/tailchat
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
---
|
|
sidebar_position: 1
|
|
title: 开始开发插件
|
|
---
|
|
|
|
## 认识 MiniStar
|
|
|
|
`MiniStar` 是一套完整的微内核架构开发工具链,`tailchat`的插件架构就是基于 `MiniStar` 进行开发。
|
|
|
|
关于更多的 `MiniStar` 相关问题可以查看 `MiniStar` 的官方文档: [https://ministar.moonrailgun.com/](https://ministar.moonrailgun.com/)
|
|
|
|
## 创建一个基础项目
|
|
|
|
首先创建一个基本的 npm 项目, 并全局安装 `MiniStar`
|
|
|
|
```bash
|
|
npm install --global mini-star
|
|
```
|
|
|
|
在项目中执行: `ministar createPlugin` 来创建一个基本的插件
|
|
|
|
在项目中执行: `ministar buildPlugin` 来编译插件
|
|
|
|
> 值得一提的是, 虽然 `Tailchat` 并没有强制规定插件命名规范,但是还是推荐使用 `反域名` 的命名方式(类似于java中的包命名), 然后对插件中的部件,使用 `/` 进行分割
|
|
>
|
|
> 如:
|
|
> 插件名: `com.msgbyte.webview`
|
|
>
|
|
> 注册内容: `com.msgbyte.webview/grouppanel`
|
|
|
|
## 安装插件
|
|
|
|
### 手动安装插件
|
|
|
|
在不经过任何预设的情况下,一个通用的办法是自己构造一个 `manifest` 配置, 然后在 `tailchat` 提供手动安装插件 Tab 中将配置文件粘贴进去安装。
|
|
|
|
插件的url路径可以通过 `oss对象存储服务` / `static-server` 等办法代理
|
|
|
|
一个作为示例的`manifest.json`配置如下:
|
|
|
|
```json
|
|
{
|
|
"label": "网页面板插件",
|
|
"name": "com.msgbyte.webview",
|
|
"url": "/plugins/com.msgbyte.webview/index.js",
|
|
"version": "0.0.0",
|
|
"author": "msgbyte",
|
|
"description": "为群组提供创建网页面板的功能",
|
|
"requireRestart": false
|
|
}
|
|
```
|
|
|
|
## 其他有用的资源
|
|
|
|
- 插件化架构内核依赖库 [MiniStar](https://ministar.moonrailgun.com/)
|
|
- 来自基础项目提供的API: [API 文档](./api/common)
|
|
- 导出接口源码
|
|
- [@capital/common](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/common/index.ts)
|
|
- [@capital/component](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/component/index.tsx)
|