docs: 插件README修正 — 写明三步注册流程 + go:generate指令
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
//go:generate go run gen_plugins.go
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
@@ -1 +1,54 @@
|
|||||||
# 第三方插件目录\n\n在此目录下创建子文件夹,每个文件夹一个插件。\n插件会被 Plugin Manager 自动扫描发现。\n\n示例结构:\n plugins/\n my-hello/\n plugin.json # 插件声明\n main.go # 插件入口\n\n## plugin.json 格式\n\n```json\n{\n "name": "my-hello",\n "version": "1.0.0",\n "author": "your-name",\n "description": "我的第一个插件",\n "struct": "HelloPlugin"\n}\n```\n
|
# 第三方插件目录
|
||||||
|
|
||||||
|
在此目录下创建子文件夹,每个文件夹一个插件。
|
||||||
|
|
||||||
|
## 目录结构
|
||||||
|
|
||||||
|
```
|
||||||
|
plugins/
|
||||||
|
my-hello/
|
||||||
|
plugin.json # 插件声明
|
||||||
|
main.go # 插件入口
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## 注册插件(3 步)
|
||||||
|
|
||||||
|
Go 不支持运行时动态加载,需要通过代码生成注册:
|
||||||
|
|
||||||
|
**1. 编辑 `ai-core/plugins.json`**,添加插件条目:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "name": "my-hello", "import": "你的模块路径", "struct": "HelloPlugin" }
|
||||||
|
```
|
||||||
|
|
||||||
|
**2. 运行代码生成器**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd backend/ai-core && go run cmd/gen_plugins.go
|
||||||
|
```
|
||||||
|
|
||||||
|
这会生成 `cmd/plugins_gen.go`,自动包含所有插件的 import 和注册代码。
|
||||||
|
|
||||||
|
**3. 重新编译 ai-core**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd backend/ai-core && go build -o main.exe ./cmd/
|
||||||
|
```
|
||||||
|
|
||||||
|
## plugin.json 格式
|
||||||
|
|
||||||
|
每个插件目录下的声明文件:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "my-hello",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"author": "your-name",
|
||||||
|
"description": "我的第一个插件"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 插件开发
|
||||||
|
|
||||||
|
详见 [docs/api/plugin-development.md](../../docs/api/plugin-development.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user