mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-15 08:17:09 +00:00
feat(skills): add slash command activation
This commit is contained in:
1 parent
14b32bd219
commit
c99f7e1fa4
24 files changed
+978
-40
No files matched your search
@@ -22,7 +22,7 @@ type ConfigMethods struct {
|
||||
cfgPath string
|
||||
secretsStore store.ConfigSecretsStore
|
||||
syncFn func(ctx context.Context, cfg *config.Config) // nil-safe; syncs non-secret settings to system_configs
|
||||
eventBus bus.EventPublisher // nil-safe; broadcasts config change events
|
||||
eventBus bus.EventPublisher // nil-safe; broadcasts config change events
|
||||
}
|
||||
|
||||
func NewConfigMethods(cfg *config.Config, cfgPath string, secretsStore store.ConfigSecretsStore, eventBus bus.EventPublisher) *ConfigMethods {
|
||||
@@ -265,27 +265,53 @@ func (m *ConfigMethods) handleSchema(_ context.Context, client *gateway.Client,
|
||||
"type": "object",
|
||||
"description": "Gateway server settings (host, port, token)",
|
||||
},
|
||||
"tools": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Tool configuration (browser, exec, web search)",
|
||||
},
|
||||
"skills": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Skill storage and upload settings",
|
||||
"properties": map[string]any{
|
||||
"max_upload_size_mb": map[string]any{
|
||||
"type": "integer",
|
||||
"minimum": config.MinSkillMaxUploadSizeMB,
|
||||
"maximum": config.MaxSkillMaxUploadSizeMB,
|
||||
"default": config.DefaultSkillMaxUploadSizeMB,
|
||||
"description": "Maximum skill ZIP upload size in MB",
|
||||
"tools": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Tool configuration (browser, exec, web search)",
|
||||
},
|
||||
"skills": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Skill storage and upload settings",
|
||||
"properties": map[string]any{
|
||||
"max_upload_size_mb": map[string]any{
|
||||
"type": "integer",
|
||||
"minimum": config.MinSkillMaxUploadSizeMB,
|
||||
"maximum": config.MaxSkillMaxUploadSizeMB,
|
||||
"default": config.DefaultSkillMaxUploadSizeMB,
|
||||
"description": "Maximum skill ZIP upload size in MB",
|
||||
},
|
||||
"slash_commands": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Explicit slash command skill activation settings",
|
||||
"properties": map[string]any{
|
||||
"enabled": map[string]any{
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable slash command detection in user prompts",
|
||||
},
|
||||
"suggest_not_found": map[string]any{
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Suggest similar skills when a requested skill is not found",
|
||||
},
|
||||
"partial_matching": map[string]any{
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Allow unique skill slug/name prefixes",
|
||||
},
|
||||
"prefix": map[string]any{
|
||||
"type": "string",
|
||||
"default": config.DefaultSkillSlashCommandPrefix,
|
||||
"description": "Single-character slash command prefix",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"sessions": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Session storage configuration",
|
||||
},
|
||||
},
|
||||
"sessions": map[string]any{
|
||||
"type": "object",
|
||||
"description": "Session storage configuration",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user