Documentation
¶
Overview ¶
Package pluginkit 只登记插件类型:kind 与构造函数。
init() 里应只调用 Register,不读取配置、不构造实例。 按 kind 查看配置字段和依赖扩展点见 Describe;PluginDescription.Template 可导出可填写配置骨架。 配置识别见 github.com/lengzhao/pluginkit/config, 启动期实例化见 github.com/lengzhao/pluginkit/build。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompatibleKinds ¶
CompatibleKinds 返回构造返回值静态上可满足 want 的插件 kind。 精确匹配扩展点类型的 kind 排在前面,其次是具体类型实现,最后是接口返回的宽松匹配。
func FormatType ¶
FormatType 把 reflect.Type 格式化为可读字符串,供 UI 展示。
Types ¶
type FieldDescription ¶
type FieldDescription struct {
Name string
GoName string
Type reflect.Type
List bool
Optional bool
}
FieldDescription 描述 struct 顶层字段的配置名、Go 名、类型和单值/多值/可选规则。
type KindCandidate ¶
KindCandidate 是空槽可插入的插件候选。
func KindCandidates ¶
func KindCandidates(want reflect.Type) []KindCandidate
KindCandidates 返回可满足 want 的插件候选,含返回类型与是否精确匹配。
type PluginDescription ¶
type PluginDescription struct {
Kind string
Config []FieldDescription
Extensions []FieldDescription
ReturnType reflect.Type
}
PluginDescription 描述已注册插件类型的配置字段和依赖扩展点字段。
func Describe ¶
func Describe(kind string) (PluginDescription, bool)
Describe 按 kind 返回已注册插件类型的元信息。 未注册时返回 false,不报错。
func (PluginDescription) Template ¶
func (d PluginDescription) Template() map[string]any
Template 返回可填入配置的骨架,格式与 build 接受的 PluginUse 一致。 init() 注册后即可调用,不构造实例。config 字段为零值占位;deps 使用 use: "" 占位; 可选 deps 会省略。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package build 在启动期按配置构造插件实例图。
|
Package build 在启动期按配置构造插件实例图。 |
|
Package config 识别 plugins 配置树,得到 PluginUse。
|
Package config 识别 plugins 配置树,得到 PluginUse。 |
|
examples
|
|
|
agent
command
|
|
|
commands
command
|
|
|
manager
command
|
|
|
workflow
command
|
|
|
Package manager 提供 pluginkit 插件配置的工作台 Web UI 与 HTTP API。
|
Package manager 提供 pluginkit 插件配置的工作台 Web UI 与 HTTP API。 |