配置(Settings)¶
声明插件自己的配置项,内核会把它渲染到 WebUI 的设置页,并为每个插件维护独立的配置表。
SettingsAPI¶
| 方法 | 说明 |
|---|---|
DataDir |
DataDir returns the plugin-specific data directory (guaranteed to exist): |
Defs |
Defs returns config definitions matching the prefix. |
Dump |
Dump returns all config values. |
Get |
Get reads the plugin's own config value (config_ |
GetCore |
GetCore reads the core config table. |
GetPlugin |
GetPlugin reads another plugin's config table. |
List |
List returns all keys matching the given prefix. |
ListCore |
ListCore lists core config keys matching the prefix. |
ListPlugin |
ListPlugin lists another plugin's config keys matching the prefix. |
Plugins |
Plugins returns a list of all plugin config namespaces. |
RegisterDef |
RegisterDef registers a config definition for UI display. |
Set |
Set writes a config value to the plugin's own config table. |
SetCore |
SetCore writes to the core config table. |
SetPlugin |
SetPlugin writes to another plugin's config table. |
SettingsAPI.DataDir¶
DataDir returns the plugin-specific data directory (guaranteed to exist):
settings.go:25
SettingsAPI.Defs¶
Defs returns config definitions matching the prefix.
settings.go:40
SettingsAPI.Dump¶
Dump returns all config values.
settings.go:43
SettingsAPI.Get¶
Get reads the plugin's own config value (config_
settings.go:5
SettingsAPI.GetCore¶
GetCore reads the core config table.
settings.go:14
SettingsAPI.GetPlugin¶
GetPlugin reads another plugin's config table.
settings.go:28
SettingsAPI.List¶
List returns all keys matching the given prefix.
settings.go:11
SettingsAPI.ListCore¶
ListCore lists core config keys matching the prefix.
settings.go:20
SettingsAPI.ListPlugin¶
ListPlugin lists another plugin's config keys matching the prefix.
settings.go:34
SettingsAPI.Plugins¶
Plugins returns a list of all plugin config namespaces.
settings.go:46
SettingsAPI.RegisterDef¶
RegisterDef registers a config definition for UI display.
settings.go:37
SettingsAPI.Set¶
Set writes a config value to the plugin's own config table.
settings.go:8
SettingsAPI.SetCore¶
SetCore writes to the core config table.
settings.go:17
SettingsAPI.SetPlugin¶
SetPlugin writes to another plugin's config table.
settings.go:31
ConfigDef¶
type ConfigDef struct { Key string `json:"key"` Default interface{} `json:"default,omitempty"` Type string `json:"type"` DisplayName string …
ConfigDef describes a configuration field for the WebUI.
settings.go:50
PluginSDK.Settings¶
Settings returns the settings API for reading/writing plugin configuration. sett 在 New 时一次性写入且无 setter,故不需要加锁。
示例插件里的真实用法
| 插件 | 位置 | 代码 |
|---|---|---|
a2a |
example/a2a/plugin.go:68 |
s.Settings().RegisterDef(sdk.ConfigDef{ |
acp |
example/acp/plugin.go:63 |
s.Settings().RegisterDef(sdk.ConfigDef{ |
ai_image |
example/ai_image/plugin.go:114 |
s.Settings().RegisterDef(sdk.ConfigDef{ |
bili |
example/bili/plugin.go:29 |
s.Settings().RegisterDef(sdk.ConfigDef{ |
plugin.go:401