package app import ( v1 "git.echol.cn/loser/ai_proxy/server/api/v1" "git.echol.cn/loser/ai_proxy/server/middleware" "github.com/gin-gonic/gin" ) type AiProxyRouter struct{} // InitAiProxyRouter 使用业务路由组(通常带有 /api 前缀),供后台管理前端调用 func (s *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) { aiProxyRouter := Router.Group("v1").Use(middleware.AiAuth()) aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi { aiProxyRouter.GET("models", aiProxyApi.ListModels) // 获取模型列表 aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions) // OpenAI 兼容 aiProxyRouter.POST("messages", aiProxyApi.ClaudeMessages) // Claude 兼容 } } // InitAiProxyRootRouter 在根路径下注册 AI 相关的通用接口,路径为 /v1/** // 这样可以对外提供标准的 OpenAI/Claude 兼容地址:/v1/models、/v1/chat/completions、/v1/messages func (s *AiProxyRouter) InitAiProxyRootRouter(engine *gin.Engine) { aiProxyRouter := engine.Group("/v1").Use(middleware.AiAuth()) aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi { aiProxyRouter.GET("/models", aiProxyApi.ListModels) // 获取模型列表 aiProxyRouter.POST("/chat/completions", aiProxyApi.ChatCompletions) // OpenAI 兼容 aiProxyRouter.POST("/messages", aiProxyApi.ClaudeMessages) // Claude 兼容 } }