mirror of
https://gitcode.com/JianFeeeee/homeagent-sdk.git
synced 2026-09-20 17:08:01 +00:00
- Plugin.Start(sdk *PluginSDK) 接口签名改为指针 - 方法表重写: 移除 CallLLM/QueryKnowledge/SetMemory 等不存在方法 - IOInjector 参数顺序修正为 (source, channel, text) - 删除虚构 SDKConfig, 替换为实际 New() 构造函数签名 - .hmap 内容描述一致化 (plugin.so + plugin.dll + main.lua) - 添加 meta/ 包元数据文件
59 lines
1.9 KiB
Go
59 lines
1.9 KiB
Go
package sdk
|
|
|
|
type SettingsAPI interface {
|
|
// Get reads the plugin's own config value (config_<name> table).
|
|
Get(key string) (interface{}, error)
|
|
|
|
// Set writes a config value to the plugin's own config table.
|
|
Set(key string, value interface{}) error
|
|
|
|
// List returns all keys matching the given prefix.
|
|
List(prefix string) ([]string, error)
|
|
|
|
// GetCore reads the core config table.
|
|
GetCore(key string) (interface{}, error)
|
|
|
|
// SetCore writes to the core config table.
|
|
SetCore(key string, value interface{}) error
|
|
|
|
// ListCore lists core config keys matching the prefix.
|
|
ListCore(prefix string) ([]string, error)
|
|
|
|
// GetPlugin reads another plugin's config table.
|
|
GetPlugin(plugin, key string) (interface{}, error)
|
|
|
|
// SetPlugin writes to another plugin's config table.
|
|
SetPlugin(plugin, key string, value interface{}) error
|
|
|
|
// ListPlugin lists another plugin's config keys matching the prefix.
|
|
ListPlugin(plugin, prefix string) ([]string, error)
|
|
|
|
// RegisterDef registers a config definition for UI display.
|
|
RegisterDef(def ConfigDef)
|
|
|
|
// Defs returns config definitions matching the prefix.
|
|
Defs(prefix string) []*ConfigDef
|
|
|
|
// Dump returns all config values.
|
|
Dump() map[string]interface{}
|
|
|
|
// Plugins returns a list of all plugin config namespaces.
|
|
Plugins() []string
|
|
}
|
|
|
|
// ConfigDef describes a configuration field for the WebUI.
|
|
type ConfigDef struct {
|
|
Key string `json:"key"`
|
|
Default interface{} `json:"default,omitempty"`
|
|
Type string `json:"type"`
|
|
DisplayName string `json:"display_name"`
|
|
Description string `json:"description,omitempty"`
|
|
Category string `json:"category,omitempty"`
|
|
Options []string `json:"options,omitempty"`
|
|
Min float64 `json:"min,omitempty"`
|
|
Max float64 `json:"max,omitempty"`
|
|
Step float64 `json:"step,omitempty"`
|
|
Required bool `json:"required,omitempty"`
|
|
Secret bool `json:"secret,omitempty"`
|
|
}
|