package base import ( "github.com/gin-gonic/gin" ) // Tool 定义了工具箱中每个子工具必须实现的接口 type Tool interface { ID() string // 工具的唯一标识,用于路由前缀,如 "zitie" Name() string // 工具的显示名称 Description() string // 工具的描述 Init() error // 初始化逻辑,如加载 embed 的数据 RegisterRoutes(r *gin.RouterGroup) // 注册该工具的 API 路由 } // Registry 存储所有已注册的工具 var Registry = make(map[string]Tool) // Register 用于工具在 init() 函数中注册自己 func Register(t Tool) { Registry[t.ID()] = t }