Documentation
¶
Index ¶
- Variables
- func CreateGlobalInstance(instanceKey, strategyType string, config interface{}) error
- func CreateStrategyInstance(strategyType string, config interface{}) (types.Strategy, error)
- func GetGlobalInstance(instanceKey string) (types.Strategy, bool)
- func GetOrCreateGlobalInstance(instanceKey, strategyType string, config interface{}) (types.Strategy, error)
- func GetRegisteredStrategyTypes() []string
- func IsStrategyTypeRegistered(strategyType string) bool
- func MustRegisterStrategyFactory(info *StrategyFactoryInfo)
- func RegisterInstanceManager(agentID string, manager *InstanceManager)
- func RegisterStrategyFactory(info *StrategyFactoryInfo) error
- type FactoryRegistry
- func (fr *FactoryRegistry) CreateStrategy(strategyType string, config interface{}) (types.Strategy, error)
- func (fr *FactoryRegistry) GetFactoryCount() int
- func (fr *FactoryRegistry) GetFactoryInfo(strategyType string) (*StrategyFactoryInfo, bool)
- func (fr *FactoryRegistry) GetRegisteredTypes() []string
- func (fr *FactoryRegistry) IsRegistered(strategyType string) bool
- func (fr *FactoryRegistry) ListFactories() []*StrategyFactoryInfo
- func (fr *FactoryRegistry) MustRegisterFactory(info *StrategyFactoryInfo)
- func (fr *FactoryRegistry) RegisterFactory(info *StrategyFactoryInfo) error
- func (fr *FactoryRegistry) UnregisterFactory(strategyType string) error
- type InstanceManager
- func (im *InstanceManager) BatchCreate(configs map[string]StrategyConfig) error
- func (im *InstanceManager) ClearAll()
- func (im *InstanceManager) Clone(newAgentID string) *InstanceManager
- func (im *InstanceManager) ConfigureStrategy(strategyKey string, config interface{}) error
- func (im *InstanceManager) CreateStrategy(strategyKey, strategyType string, config interface{}) (types.Strategy, error)
- func (im *InstanceManager) GetAvailableTypes() []string
- func (im *InstanceManager) GetConfig(strategyKey string) (interface{}, bool)
- func (im *InstanceManager) GetInfo() InstanceManagerInfo
- func (im *InstanceManager) GetOrCreateStrategy(strategyKey, strategyType string, config interface{}) (types.Strategy, error)
- func (im *InstanceManager) GetStrategy(strategyKey string) (types.Strategy, bool)
- func (im *InstanceManager) GetStrategyKeys() []string
- func (im *InstanceManager) GetStrategyType(strategyKey string) (string, bool)
- func (im *InstanceManager) ListStrategies() []types.Strategy
- func (im *InstanceManager) RemoveStrategy(strategyKey string) error
- type InstanceManagerInfo
- type StrategyConfig
- type StrategyFactory
- type StrategyFactoryInfo
- type StrategyInfo
- type StrategyInstanceInfo
- type StrategyPool
- func (sp *StrategyPool) AddTag(instanceKey string, tag string) error
- func (sp *StrategyPool) ConfigureInstance(instanceKey string, config interface{}) error
- func (sp *StrategyPool) CreateInstance(instanceKey, strategyType string, config interface{}) error
- func (sp *StrategyPool) GetByTag(tag string) []types.Strategy
- func (sp *StrategyPool) GetFactoryInfo(strategyType string) (*StrategyFactoryInfo, bool)
- func (sp *StrategyPool) GetInfo() StrategyPoolInfo
- func (sp *StrategyPool) GetInstance(instanceKey string) (types.Strategy, bool)
- func (sp *StrategyPool) GetInstanceKeys() []string
- func (sp *StrategyPool) GetOrCreateInstance(instanceKey, strategyType string, config interface{}) (types.Strategy, error)
- func (sp *StrategyPool) GetRegisteredFactoryTypes() []string
- func (sp *StrategyPool) GetTypes() []string
- func (sp *StrategyPool) ListInstances() []types.Strategy
- func (sp *StrategyPool) ListInstancesByType(strategyType string) []types.Strategy
- func (sp *StrategyPool) RemoveInstance(instanceKey string) error
- func (sp *StrategyPool) SearchInstances(keyword string) []types.Strategy
- type StrategyPoolInfo
Constants ¶
This section is empty.
Variables ¶
var GlobalFactoryRegistry = NewFactoryRegistry()
全局工厂注册表实例
var GlobalStrategyPool = NewStrategyPool()
全局策略池实例
Functions ¶
func CreateGlobalInstance ¶
便捷函数,使用全局策略池
func CreateStrategyInstance ¶
func GetRegisteredStrategyTypes ¶
func GetRegisteredStrategyTypes() []string
func MustRegisterStrategyFactory ¶
func MustRegisterStrategyFactory(info *StrategyFactoryInfo)
func RegisterInstanceManager ¶
func RegisterInstanceManager(agentID string, manager *InstanceManager)
RegisterInstanceManager 注册实例管理器到全局注册表
func RegisterStrategyFactory ¶
func RegisterStrategyFactory(info *StrategyFactoryInfo) error
便捷函数,使用全局注册表
Types ¶
type FactoryRegistry ¶
type FactoryRegistry struct {
// contains filtered or unexported fields
}
FactoryRegistry 策略工厂注册表
func (*FactoryRegistry) CreateStrategy ¶
func (fr *FactoryRegistry) CreateStrategy(strategyType string, config interface{}) (types.Strategy, error)
CreateStrategy 根据类型和配置创建策略实例
func (*FactoryRegistry) GetFactoryCount ¶
func (fr *FactoryRegistry) GetFactoryCount() int
GetFactoryCount 获取已注册工厂数量
func (*FactoryRegistry) GetFactoryInfo ¶
func (fr *FactoryRegistry) GetFactoryInfo(strategyType string) (*StrategyFactoryInfo, bool)
GetFactoryInfo 获取工厂信息
func (*FactoryRegistry) GetRegisteredTypes ¶
func (fr *FactoryRegistry) GetRegisteredTypes() []string
GetRegisteredTypes 获取所有已注册的策略类型
func (*FactoryRegistry) IsRegistered ¶
func (fr *FactoryRegistry) IsRegistered(strategyType string) bool
IsRegistered 检查策略类型是否已注册
func (*FactoryRegistry) ListFactories ¶
func (fr *FactoryRegistry) ListFactories() []*StrategyFactoryInfo
ListFactories 列出所有注册的工厂
func (*FactoryRegistry) MustRegisterFactory ¶
func (fr *FactoryRegistry) MustRegisterFactory(info *StrategyFactoryInfo)
MustRegisterFactory 注册策略工厂,失败时panic(用于init())
func (*FactoryRegistry) RegisterFactory ¶
func (fr *FactoryRegistry) RegisterFactory(info *StrategyFactoryInfo) error
RegisterFactory 注册策略工厂
func (*FactoryRegistry) UnregisterFactory ¶
func (fr *FactoryRegistry) UnregisterFactory(strategyType string) error
UnregisterFactory 注销策略工厂
type InstanceManager ¶
type InstanceManager struct {
// contains filtered or unexported fields
}
InstanceManager 策略实例管理器 - 为Agent/MCP提供独立的策略实例缓存
func GetInstanceManager ¶
func GetInstanceManager(agentID string) (*InstanceManager, bool)
GetInstanceManager 从全局注册表获取实例管理器
func GetOrCreateInstanceManager ¶
func GetOrCreateInstanceManager(agentID string) *InstanceManager
GetOrCreateInstanceManager 获取或创建实例管理器
func NewInstanceManager ¶
func NewInstanceManager(agentID string) *InstanceManager
NewInstanceManager 创建新的实例管理器
func NewInstanceManagerWithPool ¶
func NewInstanceManagerWithPool(agentID string, pool *StrategyPool) *InstanceManager
NewInstanceManagerWithPool 使用指定策略池创建实例管理器
func (*InstanceManager) BatchCreate ¶
func (im *InstanceManager) BatchCreate(configs map[string]StrategyConfig) error
BatchCreate 批量创建策略实例
func (*InstanceManager) Clone ¶
func (im *InstanceManager) Clone(newAgentID string) *InstanceManager
Clone 克隆实例管理器(深拷贝配置)
func (*InstanceManager) ConfigureStrategy ¶
func (im *InstanceManager) ConfigureStrategy(strategyKey string, config interface{}) error
ConfigureStrategy 配置策略实例
func (*InstanceManager) CreateStrategy ¶
func (im *InstanceManager) CreateStrategy(strategyKey, strategyType string, config interface{}) (types.Strategy, error)
CreateStrategy 创建策略实例
func (*InstanceManager) GetAvailableTypes ¶
func (im *InstanceManager) GetAvailableTypes() []string
GetAvailableTypes 获取所有可用的策略类型
func (*InstanceManager) GetConfig ¶
func (im *InstanceManager) GetConfig(strategyKey string) (interface{}, bool)
GetConfig 获取策略配置
func (*InstanceManager) GetInfo ¶
func (im *InstanceManager) GetInfo() InstanceManagerInfo
GetInfo 获取实例管理器信息
func (*InstanceManager) GetOrCreateStrategy ¶
func (im *InstanceManager) GetOrCreateStrategy(strategyKey, strategyType string, config interface{}) (types.Strategy, error)
GetOrCreateStrategy 获取或创建策略实例(懒加载模式)
func (*InstanceManager) GetStrategy ¶
func (im *InstanceManager) GetStrategy(strategyKey string) (types.Strategy, bool)
GetStrategy 获取策略实例
func (*InstanceManager) GetStrategyKeys ¶
func (im *InstanceManager) GetStrategyKeys() []string
GetStrategyKeys 获取所有策略键
func (*InstanceManager) GetStrategyType ¶
func (im *InstanceManager) GetStrategyType(strategyKey string) (string, bool)
GetStrategyType 获取策略类型
func (*InstanceManager) ListStrategies ¶
func (im *InstanceManager) ListStrategies() []types.Strategy
ListStrategies 列出所有策略实例
func (*InstanceManager) RemoveStrategy ¶
func (im *InstanceManager) RemoveStrategy(strategyKey string) error
RemoveStrategy 移除策略实例
type InstanceManagerInfo ¶
type InstanceManagerInfo struct {
AgentID string `json:"agent_id"`
TotalStrategies int `json:"total_strategies"`
Strategies []StrategyInstanceInfo `json:"strategies"`
}
InstanceManagerInfo 实例管理器信息
type StrategyConfig ¶
type StrategyConfig struct {
Type string `json:"type"`
Config interface{} `json:"config"`
}
StrategyConfig 策略配置
type StrategyFactory ¶
StrategyFactory 策略工厂函数类型
type StrategyFactoryInfo ¶
type StrategyFactoryInfo struct {
Type string `json:"type"`
Factory StrategyFactory `json:"-"`
}
StrategyFactoryInfo 策略工厂信息 (极简版)
type StrategyInfo ¶
type StrategyInfo struct {
Name string `json:"name"`
Type string `json:"type"`
Version string `json:"version"`
Description string `json:"description"`
Tags []string `json:"tags,omitempty"`
}
StrategyInfo 策略信息
type StrategyInstanceInfo ¶
type StrategyInstanceInfo struct {
StrategyKey string `json:"strategy_key"`
StrategyType string `json:"strategy_type"`
Name string `json:"name"`
Version string `json:"version"`
Description string `json:"description"`
Config interface{} `json:"config,omitempty"`
}
StrategyInstanceInfo 策略实例信息
type StrategyPool ¶
type StrategyPool struct {
// contains filtered or unexported fields
}
StrategyPool 策略池实现 - 现在支持工厂注册和实例管理
func (*StrategyPool) AddTag ¶
func (sp *StrategyPool) AddTag(instanceKey string, tag string) error
AddTag 为策略实例添加标签(扩展功能)
func (*StrategyPool) ConfigureInstance ¶
func (sp *StrategyPool) ConfigureInstance(instanceKey string, config interface{}) error
ConfigureInstance 配置特定实例
func (*StrategyPool) CreateInstance ¶
func (sp *StrategyPool) CreateInstance(instanceKey, strategyType string, config interface{}) error
CreateInstance 根据策略类型和配置创建策略实例
func (*StrategyPool) GetByTag ¶
func (sp *StrategyPool) GetByTag(tag string) []types.Strategy
GetByTag 根据标签获取策略实例(扩展功能)
func (*StrategyPool) GetFactoryInfo ¶
func (sp *StrategyPool) GetFactoryInfo(strategyType string) (*StrategyFactoryInfo, bool)
GetFactoryInfo 获取工厂信息
func (*StrategyPool) GetInstance ¶
func (sp *StrategyPool) GetInstance(instanceKey string) (types.Strategy, bool)
GetInstance 根据实例键获取策略实例
func (*StrategyPool) GetInstanceKeys ¶
func (sp *StrategyPool) GetInstanceKeys() []string
GetInstanceKeys 获取所有已注册的策略实例键
func (*StrategyPool) GetOrCreateInstance ¶
func (sp *StrategyPool) GetOrCreateInstance(instanceKey, strategyType string, config interface{}) (types.Strategy, error)
GetOrCreateInstance 获取或创建策略实例(懒加载)
func (*StrategyPool) GetRegisteredFactoryTypes ¶
func (sp *StrategyPool) GetRegisteredFactoryTypes() []string
GetRegisteredFactoryTypes 获取工厂注册表中的所有策略类型
func (*StrategyPool) ListInstances ¶
func (sp *StrategyPool) ListInstances() []types.Strategy
ListInstances 获取所有策略实例
func (*StrategyPool) ListInstancesByType ¶
func (sp *StrategyPool) ListInstancesByType(strategyType string) []types.Strategy
ListInstancesByType 根据类型获取策略实例列表
func (*StrategyPool) RemoveInstance ¶
func (sp *StrategyPool) RemoveInstance(instanceKey string) error
RemoveInstance 移除策略实例
func (*StrategyPool) SearchInstances ¶
func (sp *StrategyPool) SearchInstances(keyword string) []types.Strategy
SearchInstances 搜索策略实例(按实例键、类型、描述关键字)
type StrategyPoolInfo ¶
type StrategyPoolInfo struct {
TotalStrategies int `json:"total_strategies"`
TypeCount int `json:"type_count"`
StrategyTypes map[string]int `json:"strategy_types"`
Strategies []StrategyInfo `json:"strategies"`
}
StrategyPoolInfo 策略池信息