mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-11 03:13:24 +00:00
feat(tools): seed missing built-in tools into builtin_tools catalog (#1399)
Eleven built-in tools were registered in the runtime tool registry (and thus appeared in agent system prompts and were subject to allow/deny) but were absent from builtinToolSeedData(), so operators could not see or toggle them in the agent allow/deny UI. Seed datetime, heartbeat, memory_expand, list_group_members, zalo_list_groups, vault_search, vault_read, delegate, workstation_exec, claude_remote, and mcp_tool_search so the UI catalog reflects the actual registered tool set. telegram_manager is intentionally excluded per existing test guard. Co-authored-by: Bruno Clermont <bruno.clermont@gmail.com>
This commit is contained in:
1 parent
f9b07d0a9c
commit
951acad714
1 file changed
+25
@@ -26,6 +26,13 @@ func builtinToolSeedData() []store.BuiltinToolDef {
|
||||
Metadata: json.RawMessage(`{"config_hint":"Config → Tools → Exec Approval"}`),
|
||||
},
|
||||
{Name: "wait", DisplayName: "Wait", Description: "Pause the current agent tool sequence for a bounded number of milliseconds", Category: "runtime", Enabled: true},
|
||||
{Name: "datetime", DisplayName: "Date/Time", Description: "Get the current date and time with timezone support, for precise timestamps in scheduling and memory", Category: "runtime", Enabled: true},
|
||||
{Name: "workstation_exec", DisplayName: "Workstation Exec", Description: "Execute an allowlisted command on a linked remote workstation", Category: "runtime", Enabled: true,
|
||||
Requires: []string{"workstation"},
|
||||
},
|
||||
{Name: "claude_remote", DisplayName: "Claude Remote", Description: "Run Claude Code CLI on a remote workstation via workstation_exec", Category: "runtime", Enabled: true,
|
||||
Requires: []string{"workstation"},
|
||||
},
|
||||
|
||||
// web
|
||||
{Name: "web_search", DisplayName: "Web Search", Description: "Search the web for information using a search engine (Brave or DuckDuckGo)", Category: "web", Enabled: true,
|
||||
@@ -46,6 +53,15 @@ func builtinToolSeedData() []store.BuiltinToolDef {
|
||||
Settings: json.RawMessage(`{"extract_on_memory_write":false,"extraction_provider":"","extraction_model":"","min_confidence":0.75}`),
|
||||
Requires: []string{"knowledge_graph"},
|
||||
},
|
||||
{Name: "memory_expand", DisplayName: "Memory Expand", Description: "Expand a memory search result with surrounding context from the same document", Category: "memory", Enabled: true,
|
||||
Requires: []string{"memory"},
|
||||
},
|
||||
{Name: "vault_search", DisplayName: "Vault Search", Description: "Search the Knowledge Vault (documents, wikilinks, episodic and knowledge graph fan-out)", Category: "vault", Enabled: true,
|
||||
Requires: []string{"vault"},
|
||||
},
|
||||
{Name: "vault_read", DisplayName: "Vault Read", Description: "Read the full content of a Knowledge Vault document by doc_id", Category: "vault", Enabled: true,
|
||||
Requires: []string{"vault"},
|
||||
},
|
||||
|
||||
// media — user must configure provider chain via UI before use
|
||||
{Name: "read_image", DisplayName: "Read Image", Description: "Analyze images using a vision-capable LLM provider", Category: "media", Enabled: false,
|
||||
@@ -94,22 +110,31 @@ func builtinToolSeedData() []store.BuiltinToolDef {
|
||||
{Name: "message", DisplayName: "Message", Description: "Send a proactive message to a user on a connected channel (Telegram, Discord, etc.)", Category: "messaging", Enabled: true},
|
||||
{Name: "send_file", DisplayName: "Send File", Description: "Send an existing workspace file as an attachment in the current chat (does not create or modify the file)", Category: "messaging", Enabled: true},
|
||||
{Name: "create_forum_topic", DisplayName: "Create Telegram Forum Topic", Description: "Create a Telegram forum topic and return its message_thread_id for routing", Category: "messaging", Enabled: true},
|
||||
{Name: "list_group_members", DisplayName: "List Group Members", Description: "List the members of the current group chat", Category: "messaging", Enabled: true},
|
||||
{Name: "zalo_list_groups", DisplayName: "Zalo List Groups", Description: "Resolve a Zalo group's real chat ID from its display name", Category: "messaging", Enabled: true},
|
||||
|
||||
// scheduling
|
||||
{Name: "cron", DisplayName: "Cron Scheduler", Description: "Schedule or manage recurring tasks using cron expressions, at-times, or intervals", Category: "scheduling", Enabled: true,
|
||||
Metadata: json.RawMessage(`{"config_hint":"Config → Cron"}`),
|
||||
},
|
||||
{Name: "heartbeat", DisplayName: "Heartbeat", Description: "Schedule or manage the agent's recurring self-check-in heartbeat", Category: "scheduling", Enabled: true},
|
||||
|
||||
// subagents
|
||||
{Name: "spawn", DisplayName: "Spawn", Description: "Spawn a subagent to handle a task in the background", Category: "subagents", Enabled: true,
|
||||
Metadata: json.RawMessage(`{"config_hint":"Config → Agents Defaults"}`),
|
||||
},
|
||||
{Name: "delegate", DisplayName: "Delegate", Description: "Delegate a task to a linked agent for inter-agent orchestration", Category: "subagents", Enabled: true,
|
||||
Requires: []string{"agent_links"},
|
||||
},
|
||||
|
||||
// skills
|
||||
{Name: "skill_search", DisplayName: "Skill Search", Description: "Search for available skills by keyword or description to find relevant capabilities", Category: "skills", Enabled: true},
|
||||
{Name: "use_skill", DisplayName: "Use Skill", Description: "Activate a skill to use its specialized capabilities (tracing marker)", Category: "skills", Enabled: true},
|
||||
{Name: "publish_skill", DisplayName: "Publish Skill", Description: "Register a skill directory (created via skill-creator) in the system database, making it discoverable and grantable to agents", Category: "skills", Enabled: true},
|
||||
{Name: "skill_manage", DisplayName: "Skill Manager", Description: "Create, patch, or delete skills from conversation experience", Category: "skills", Enabled: true},
|
||||
{Name: "mcp_tool_search", DisplayName: "MCP Tool Search", Description: "Search for available MCP external integration tools by keyword (search mode, deferred loading)", Category: "skills", Enabled: true,
|
||||
Requires: []string{"mcp"},
|
||||
},
|
||||
|
||||
// teams
|
||||
{Name: "team_tasks", DisplayName: "Team Tasks", Description: "View, create, update, and complete tasks on the team task board", Category: "teams", Enabled: true,
|
||||
|
||||
Reference in new issue
Block a user