package random import ( "context"; "fmt"; "math/rand" "git.yeij.top/AskaEth/Cyrene_v2/internal/plugin" ) type Plugin struct{} func New() *Plugin { return &Plugin{} } func (p *Plugin) Name() string { return "random" } func (p *Plugin) Version() string { return "1.0.0" } func (p *Plugin) Description() string { return "随机数" } func (p *Plugin) Init(_ context.Context, _ plugin.PluginConfig) error { return nil } func (p *Plugin) Close() error { return nil } func (p *Plugin) Enabled() bool { return true } func (p *Plugin) Tools() []plugin.ToolDefinition { return []plugin.ToolDefinition{{Name:"random", Description:"随机数", Parameters:map[string]any{"min":map[string]string{"type":"number"},"max":map[string]string{"type":"number"}}}} } func (p *Plugin) Execute(_ context.Context, _ string, params map[string]any) (string, error) { min,max := 1,100 if v,ok := params["min"].(float64); ok { min=int(v) } if v,ok := params["max"].(float64); ok { max=int(v) } return fmt.Sprintf("%d", rand.Intn(max-min+1)+min), nil }