mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-20 02:17:24 +00:00
feat(tools): add tool alias registry for Claude Code skill compatibility
Add alias support to the tool Registry so Claude Code skills can reference Anthropic tool names (Read, Write, Edit, Bash, etc.) and have them resolve to GoClaw canonical tools (read_file, write_file, edit, exec, etc.). - Registry: aliases map, RegisterAlias(), resolve(), Aliases() - Policy engine: auto-includes alias defs when canonical tool passes filter - System prompt: alias entries in coreToolSummaries + missing use_skill - Legacy toolAliases migrated to Registry.RegisterAlias() at startup
This commit is contained in:
1 parent
c25e770d43
commit
ec34f488df
4 files changed
+120
-10
No files matched your search
@@ -536,6 +536,28 @@ func runGateway() {
|
||||
toolsReg.Register(tools.NewMessageTool())
|
||||
slog.Info("session + message tools registered")
|
||||
|
||||
// Register legacy tool aliases (backward-compat names from policy.go).
|
||||
for alias, canonical := range tools.LegacyToolAliases() {
|
||||
toolsReg.RegisterAlias(alias, canonical)
|
||||
}
|
||||
|
||||
// Register Claude Code tool aliases so Claude Code skills work without modification.
|
||||
// LLM calls alias name → registry resolves to canonical tool → executes.
|
||||
for alias, canonical := range map[string]string{
|
||||
"Read": "read_file",
|
||||
"Write": "write_file",
|
||||
"Edit": "edit",
|
||||
"Bash": "exec",
|
||||
"WebFetch": "web_fetch",
|
||||
"WebSearch": "web_search",
|
||||
"Agent": "spawn",
|
||||
"Skill": "use_skill",
|
||||
"ToolSearch": "mcp_tool_search",
|
||||
} {
|
||||
toolsReg.RegisterAlias(alias, canonical)
|
||||
}
|
||||
slog.Info("tool aliases registered", "count", len(toolsReg.Aliases()))
|
||||
|
||||
// Allow read_file to access skills directories and CLI workspaces (outside workspace).
|
||||
// Skills can live in ~/.goclaw/skills/, ~/.agents/skills/, ~/.goclaw/skills-store/, etc.
|
||||
// CLI workspaces live in ~/.goclaw/cli-workspaces/ (agent working files).
|
||||
|
||||
Reference in new issue
Block a user