feat: 更新后端agent和skill服务
- agent_handler.go: 新增ListAgents、CreateAgent接口 - skill_handler.go: 更新skill内容获取和保存功能 - agent_service.go: 新增agent服务逻辑 - main.go: 新增agent路由 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,7 +40,27 @@ type ChatResponse struct {
|
||||
Metadata interface{} `json:"metadata"`
|
||||
}
|
||||
|
||||
|
||||
// CreateAgentResponse 创建智能体响应
|
||||
type CreateAgentResponse struct {
|
||||
AgentID int `json:"agent_id"`
|
||||
Name string `json:"name"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
// ListAgentsResponse 获取智能体列表响应
|
||||
type ListAgentsResponse struct {
|
||||
Agents []interface{} `json:"agents"`
|
||||
}
|
||||
|
||||
// Chat 单智能体对话
|
||||
// @Summary 单智能体对话
|
||||
// @Tags 智能体管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param request body ChatRequest true "对话请求"
|
||||
// @Success 200 {object} ChatResponse
|
||||
// @Router /api/agent/chat [post]
|
||||
func (h *AgentHandler) Chat(c *gin.Context) {
|
||||
var req ChatRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
@@ -88,6 +108,12 @@ func (h *AgentHandler) Chat(c *gin.Context) {
|
||||
}
|
||||
|
||||
// ChatStream 单智能体对话(流式输出)
|
||||
// @Summary 单智能体对话(流式输出)
|
||||
// @Tags 智能体管理
|
||||
// @Accept json
|
||||
// @Produce text/event-stream
|
||||
// @Param request body ChatRequest true "对话请求"
|
||||
// @Router /api/agent/chat/stream [post]
|
||||
func (h *AgentHandler) ChatStream(c *gin.Context) {
|
||||
var req ChatRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
@@ -132,6 +158,13 @@ type TeamChatResponse struct {
|
||||
}
|
||||
|
||||
// TeamChat 多智能体群聊
|
||||
// @Summary 多智能体群聊
|
||||
// @Tags 智能体管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param request body TeamChatRequest true "群聊请求"
|
||||
// @Success 200 {object} TeamChatResponse
|
||||
// @Router /api/agent/team/chat [post]
|
||||
func (h *AgentHandler) TeamChat(c *gin.Context) {
|
||||
var req TeamChatRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
@@ -167,3 +200,46 @@ func (h *AgentHandler) TeamChat(c *gin.Context) {
|
||||
Metadata: nil,
|
||||
})
|
||||
}
|
||||
|
||||
// CreateAgent 创建智能体
|
||||
// @Summary 创建智能体
|
||||
// @Tags 智能体管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param request body CreateAgentRequest true "创建智能体请求"
|
||||
// @Success 200 {object} CreateAgentResponse
|
||||
// @Router /api/agent/create [post]
|
||||
func (h *AgentHandler) CreateAgent(c *gin.Context) {
|
||||
var req service.CreateAgentRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// 获取用户 ID
|
||||
userID := 1 // TODO: 从 c.Get("user_id") 获取
|
||||
|
||||
result, err := h.agentService.CreateAgent(req, userID)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
// ListAgents 获取智能体列表
|
||||
// @Summary 获取智能体列表
|
||||
// @Tags 智能体管理
|
||||
// @Produce json
|
||||
// @Success 200 {object} ListAgentsResponse
|
||||
// @Router /api/agent/list [get]
|
||||
func (h *AgentHandler) ListAgents(c *gin.Context) {
|
||||
result, err := h.agentService.ListAgents()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, result)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user