aiChatRoutes.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package routes
  2. import (
  3. "fwh-toolbox-server/controllers"
  4. "github.com/gofiber/fiber/v2"
  5. )
  6. func AiChatSetup(api fiber.Router) {
  7. // 发送消息(SSE 流式响应)
  8. api.Post("/ai/chat", controllers.AiChat)
  9. // 获取会话历史列表
  10. api.Get("/ai/sessions/list", controllers.GetAiSessionList)
  11. // 获取当前活跃会话信息(agent/model/用量)
  12. api.Get("/ai/sessions/current", controllers.GetCurrentAiSession)
  13. // 创建新会话
  14. api.Post("/ai/sessions/new", controllers.CreateAiSession)
  15. // 切换到历史会话(恢复 AI 上下文,轻量响应)
  16. api.Post("/ai/sessions/:id", controllers.SwitchAiSession)
  17. // 流式加载会话回放消息(SSE)
  18. api.Get("/ai/sessions/:id/load", controllers.StreamLoadAiSession)
  19. // 更新会话标题
  20. api.Patch("/ai/sessions/:id", controllers.UpdateAiSessionTitle)
  21. // 删除会话
  22. api.Delete("/ai/sessions/:id", controllers.DeleteAiSession)
  23. // 取消当前操作
  24. api.Post("/ai/cancel", controllers.CancelAiChat)
  25. // 回复写权限请求
  26. api.Post("/ai/permission", controllers.ResolvePermission)
  27. // 下载 AI 生成的文件
  28. api.Get("/ai/files/download", controllers.DownloadAiFile)
  29. // 获取用户的 AI 文件列表
  30. api.Get("/ai/files/list", controllers.ListAiFiles)
  31. // 上传文件给 AI 分析
  32. api.Post("/ai/files/upload", controllers.UploadAiFile)
  33. }