mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-23 08:00:55 +00:00
1399 lines
36 KiB
Go
1399 lines
36 KiB
Go
package v2
|
|
|
|
import (
|
|
"github.com/1Panel-dev/1Panel/agent/app/api/v2/helper"
|
|
"github.com/1Panel-dev/1Panel/agent/app/dto"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags AI
|
|
// @Summary Create Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentCreateReq true "request"
|
|
// @Success 200 {object} dto.AgentItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents [post]
|
|
func (b *BaseApi) CreateAgent(c *gin.Context) {
|
|
var req dto.AgentCreateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.Create(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Batch install Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentBatchInstallReq true "request"
|
|
// @Success 200 {object} dto.AgentItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/batch/install [post]
|
|
func (b *BaseApi) BatchInstallAgent(c *gin.Context) {
|
|
var req dto.AgentBatchInstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.BatchInstall(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Batch upgrade Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentBatchUpgradeReq true "request"
|
|
// @Success 200 {array} dto.AgentBatchUpgradeResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/batch/upgrade [post]
|
|
func (b *BaseApi) BatchUpgradeAgent(c *gin.Context) {
|
|
var req dto.AgentBatchUpgradeReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.BatchUpgrade(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Batch install Agent Skill
|
|
// @Accept json
|
|
// @Param request body dto.AgentBatchSkillInstallReq true "request"
|
|
// @Success 200 {array} dto.AgentBatchSkillInstallResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/batch/skill/install [post]
|
|
func (b *BaseApi) BatchInstallAgentSkill(c *gin.Context) {
|
|
var req dto.AgentBatchSkillInstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.BatchInstallSkill(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Batch operate Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentBatchOperateReq true "request"
|
|
// @Success 200 {array} dto.AgentBatchOperateResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/batch/operate [post]
|
|
func (b *BaseApi) BatchOperateAgent(c *gin.Context) {
|
|
var req dto.AgentBatchOperateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.BatchOperate(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Page Agents
|
|
// @Accept json
|
|
// @Param request body dto.SearchWithPage true "request"
|
|
// @Success 200 {object} dto.PageResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/search [post]
|
|
func (b *BaseApi) PageAgents(c *gin.Context) {
|
|
var req dto.SearchWithPage
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
total, list, err := agentService.Page(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, dto.PageResult{
|
|
Items: list,
|
|
Total: total,
|
|
})
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete check Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {array} dto.AppResource
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/delete/check [post]
|
|
func (b *BaseApi) DeleteCheckAgent(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
checkData, err := agentService.DeleteCheck(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, checkData)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete Agent
|
|
// @Accept json
|
|
// @Param request body dto.AgentDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/delete [post]
|
|
func (b *BaseApi) DeleteAgent(c *gin.Context) {
|
|
var req dto.AgentDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.Delete(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Reset Agent token
|
|
// @Accept json
|
|
// @Param request body dto.AgentTokenResetReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/token/reset [post]
|
|
func (b *BaseApi) ResetAgentToken(c *gin.Context) {
|
|
var req dto.AgentTokenResetReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.ResetToken(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent remark
|
|
// @Accept json
|
|
// @Param request body dto.AgentRemarkUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/remark [post]
|
|
func (b *BaseApi) UpdateAgentRemark(c *gin.Context) {
|
|
var req dto.AgentRemarkUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateRemark(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Bind Agent website
|
|
// @Accept json
|
|
// @Param request body dto.AgentWebsiteBindReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/website/bind [post]
|
|
func (b *BaseApi) BindAgentWebsite(c *gin.Context) {
|
|
var req dto.AgentWebsiteBindReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.BindWebsite(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Unbind Agent website
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/website/unbind [post]
|
|
func (b *BaseApi) UnbindAgentWebsite(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UnbindWebsite(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent model config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentModelConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/model/get [post]
|
|
func (b *BaseApi) GetAgentModelConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.GetModelConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent model config
|
|
// @Accept json
|
|
// @Param request body dto.AgentModelConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/model/update [post]
|
|
func (b *BaseApi) UpdateAgentModelConfig(c *gin.Context) {
|
|
var req dto.AgentModelConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateModelConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent overview
|
|
// @Accept json
|
|
// @Param request body dto.AgentOverviewReq true "request"
|
|
// @Success 200 {object} dto.AgentOverview
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/overview [post]
|
|
func (b *BaseApi) GetAgentOverview(c *gin.Context) {
|
|
var req dto.AgentOverviewReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.GetOverview(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Hermes chat sessions
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {array} dto.AgentHermesChatSessionItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/hermes/chat/sessions [post]
|
|
func (b *BaseApi) GetHermesChatSessions(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
res, err := agentService.GetHermesChatSessions(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, res)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Rename Hermes chat session
|
|
// @Accept json
|
|
// @Param request body dto.AgentHermesChatSessionRenameReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/hermes/chat/sessions/rename [post]
|
|
func (b *BaseApi) RenameHermesChatSession(c *gin.Context) {
|
|
var req dto.AgentHermesChatSessionRenameReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.RenameHermesChatSession(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete Hermes chat session
|
|
// @Accept json
|
|
// @Param request body dto.AgentHermesChatSessionDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/hermes/chat/sessions/delete [post]
|
|
func (b *BaseApi) DeleteHermesChatSession(c *gin.Context) {
|
|
var req dto.AgentHermesChatSessionDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.DeleteHermesChatSession(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get model account providers
|
|
// @Success 200 {array} dto.ProviderInfo
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/providers [get]
|
|
func (b *BaseApi) GetAgentProviders(c *gin.Context) {
|
|
list, err := agentService.GetProviders()
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, list)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Create model account
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountCreateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts [post]
|
|
func (b *BaseApi) CreateAgentAccount(c *gin.Context) {
|
|
var req dto.AgentAccountCreateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.CreateAccount(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update model account
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/update [post]
|
|
func (b *BaseApi) UpdateAgentAccount(c *gin.Context) {
|
|
var req dto.AgentAccountUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateAccount(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Page model accounts
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountSearch true "request"
|
|
// @Success 200 {object} dto.PageResult
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/search [post]
|
|
func (b *BaseApi) PageAgentAccounts(c *gin.Context) {
|
|
var req dto.AgentAccountSearch
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
total, list, err := agentService.PageAccounts(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, dto.PageResult{
|
|
Items: list,
|
|
Total: total,
|
|
})
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Count model accounts by provider
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountProviderCountReq true "request"
|
|
// @Success 200 {object} map[string]int64
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/counts [post]
|
|
func (b *BaseApi) CountAgentAccountsByProviders(c *gin.Context) {
|
|
var req dto.AgentAccountProviderCountReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
counts, err := agentService.CountAccountsByProviders(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, counts)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary List model account models
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountModelReq true "request"
|
|
// @Success 200 {array} dto.AgentAccountModel
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/models [post]
|
|
func (b *BaseApi) GetAgentAccountModels(c *gin.Context) {
|
|
var req dto.AgentAccountModelReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
list, err := agentService.GetAccountModels(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, list)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Create model account model
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountModelCreateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/models/create [post]
|
|
func (b *BaseApi) CreateAgentAccountModel(c *gin.Context) {
|
|
var req dto.AgentAccountModelCreateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.CreateAccountModel(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update model account model
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountModelUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/models/update [post]
|
|
func (b *BaseApi) UpdateAgentAccountModel(c *gin.Context) {
|
|
var req dto.AgentAccountModelUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateAccountModel(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete model account model
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountModelDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/models/delete [post]
|
|
func (b *BaseApi) DeleteAgentAccountModel(c *gin.Context) {
|
|
var req dto.AgentAccountModelDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.DeleteAccountModel(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Verify model account
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountVerifyReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/verify [post]
|
|
func (b *BaseApi) VerifyAgentAccount(c *gin.Context) {
|
|
var req dto.AgentAccountVerifyReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.VerifyAccount(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete model account
|
|
// @Accept json
|
|
// @Param request body dto.AgentAccountDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/accounts/delete [post]
|
|
func (b *BaseApi) DeleteAgentAccount(c *gin.Context) {
|
|
var req dto.AgentAccountDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.DeleteAccount(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Create Agent role
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleCreateReq true "request"
|
|
// @Success 200 {object} dto.AgentRoleCreateResp
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/create [post]
|
|
func (b *BaseApi) CreateAgentRole(c *gin.Context) {
|
|
var req dto.AgentRoleCreateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.CreateRole(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete Agent role
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/delete [post]
|
|
func (b *BaseApi) DeleteAgentRole(c *gin.Context) {
|
|
var req dto.AgentRoleDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.DeleteRole(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Bind Agent role channel
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleBindReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/bind [post]
|
|
func (b *BaseApi) BindAgentRole(c *gin.Context) {
|
|
var req dto.AgentRoleBindReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.BindRole(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Unbind Agent role channel
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleBindReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/unbind [post]
|
|
func (b *BaseApi) UnbindAgentRole(c *gin.Context) {
|
|
var req dto.AgentRoleBindReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UnbindRole(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get configured Agent roles from config file
|
|
// @Accept json
|
|
// @Param request body dto.AgentConfiguredAgentsReq true "request"
|
|
// @Success 200 {array} dto.AgentConfiguredAgentItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/list [post]
|
|
func (b *BaseApi) GetConfiguredAgentRoles(c *gin.Context) {
|
|
var req dto.AgentConfiguredAgentsReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetConfiguredAgents(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent role channels from config file
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleChannelsReq true "request"
|
|
// @Success 200 {array} dto.AgentRoleChannelItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/channels [post]
|
|
func (b *BaseApi) GetAgentRoleChannels(c *gin.Context) {
|
|
var req dto.AgentRoleChannelsReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetRoleChannels(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent role markdown files
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleMarkdownFilesReq true "request"
|
|
// @Success 200 {array} dto.AgentRoleMarkdownFileItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/md/list [post]
|
|
func (b *BaseApi) GetAgentRoleMarkdownFiles(c *gin.Context) {
|
|
var req dto.AgentRoleMarkdownFilesReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetRoleMarkdownFiles(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent role markdown file
|
|
// @Accept json
|
|
// @Param request body dto.AgentRoleMarkdownFilesUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/agent/md/update [post]
|
|
func (b *BaseApi) UpdateAgentRoleMarkdownFile(c *gin.Context) {
|
|
var req dto.AgentRoleMarkdownFilesUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateRoleMarkdownFiles(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Feishu channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentFeishuConfigReq true "request"
|
|
// @Success 200 {object} dto.AgentFeishuConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/feishu/get [post]
|
|
func (b *BaseApi) GetAgentFeishuConfig(c *gin.Context) {
|
|
var req dto.AgentFeishuConfigReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetFeishuConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent Feishu channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentFeishuConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/feishu/update [post]
|
|
func (b *BaseApi) UpdateAgentFeishuConfig(c *gin.Context) {
|
|
var req dto.AgentFeishuConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateFeishuConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Telegram channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentTelegramConfigReq true "request"
|
|
// @Success 200 {object} dto.AgentTelegramConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/telegram/get [post]
|
|
func (b *BaseApi) GetAgentTelegramConfig(c *gin.Context) {
|
|
var req dto.AgentTelegramConfigReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetTelegramConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent Telegram channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentTelegramConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/telegram/update [post]
|
|
func (b *BaseApi) UpdateAgentTelegramConfig(c *gin.Context) {
|
|
var req dto.AgentTelegramConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateTelegramConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Discord channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentDiscordConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/discord/get [post]
|
|
func (b *BaseApi) GetAgentDiscordConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetDiscordConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent Discord channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentDiscordConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/discord/update [post]
|
|
func (b *BaseApi) UpdateAgentDiscordConfig(c *gin.Context) {
|
|
var req dto.AgentDiscordConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateDiscordConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent QQ Bot channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentWecomConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/wecom/get [post]
|
|
func (b *BaseApi) GetAgentWecomConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetWecomConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent WeCom channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentWecomConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/wecom/update [post]
|
|
func (b *BaseApi) UpdateAgentWecomConfig(c *gin.Context) {
|
|
var req dto.AgentWecomConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateWecomConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent DingTalk channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentDingTalkConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/dingtalk/get [post]
|
|
func (b *BaseApi) GetAgentDingTalkConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetDingTalkConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent DingTalk channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentDingTalkConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/dingtalk/update [post]
|
|
func (b *BaseApi) UpdateAgentDingTalkConfig(c *gin.Context) {
|
|
var req dto.AgentDingTalkConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateDingTalkConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Weixin channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentWeixinConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/weixin/get [post]
|
|
func (b *BaseApi) GetAgentWeixinConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetWeixinConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent QQ Bot channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentQQBotConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/qqbot/get [post]
|
|
func (b *BaseApi) GetAgentQQBotConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetQQBotConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent QQ Bot channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentQQBotConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/qqbot/update [post]
|
|
func (b *BaseApi) UpdateAgentQQBotConfig(c *gin.Context) {
|
|
var req dto.AgentQQBotConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateQQBotConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Delete Agent channel config
|
|
// @Accept json
|
|
// @Param request body dto.AgentChannelDeleteReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/delete [post]
|
|
func (b *BaseApi) DeleteAgentChannelConfig(c *gin.Context) {
|
|
var req dto.AgentChannelDeleteReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.DeleteChannelConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Install Agent plugin
|
|
// @Accept json
|
|
// @Param request body dto.AgentPluginInstallReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/plugin/install [post]
|
|
func (b *BaseApi) InstallAgentPlugin(c *gin.Context) {
|
|
var req dto.AgentPluginInstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.InstallPlugin(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Upgrade Agent plugin
|
|
// @Accept json
|
|
// @Param request body dto.AgentPluginUpgradeReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/plugin/upgrade [post]
|
|
func (b *BaseApi) UpgradeAgentPlugin(c *gin.Context) {
|
|
var req dto.AgentPluginUpgradeReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpgradePlugin(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Uninstall Agent plugin
|
|
// @Accept json
|
|
// @Param request body dto.AgentPluginUninstallReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/plugin/uninstall [post]
|
|
func (b *BaseApi) UninstallAgentPlugin(c *gin.Context) {
|
|
var req dto.AgentPluginUninstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UninstallPlugin(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Check Agent plugin installation status
|
|
// @Accept json
|
|
// @Param request body dto.AgentPluginCheckReq true "request"
|
|
// @Success 200 {object} dto.AgentPluginStatus
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/plugin/check [post]
|
|
func (b *BaseApi) CheckAgentPlugin(c *gin.Context) {
|
|
var req dto.AgentPluginCheckReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.CheckPlugin(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Security config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentSecurityConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/security/get [post]
|
|
func (b *BaseApi) GetAgentSecurityConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetSecurityConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent Security config
|
|
// @Accept json
|
|
// @Param request body dto.AgentSecurityConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/security/update [post]
|
|
func (b *BaseApi) UpdateAgentSecurityConfig(c *gin.Context) {
|
|
var req dto.AgentSecurityConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateSecurityConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent Other config
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {object} dto.AgentOtherConfig
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/other/get [post]
|
|
func (b *BaseApi) GetAgentOtherConfig(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetOtherConfig(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent Other config
|
|
// @Accept json
|
|
// @Param request body dto.AgentOtherConfigUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/other/update [post]
|
|
func (b *BaseApi) UpdateAgentOtherConfig(c *gin.Context) {
|
|
var req dto.AgentOtherConfigUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateOtherConfig(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Get Agent config file
|
|
// @Accept json
|
|
// @Param request body dto.AgentConfigFileReq true "request"
|
|
// @Success 200 {object} dto.AgentConfigFile
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/config-file/get [post]
|
|
func (b *BaseApi) GetAgentConfigFile(c *gin.Context) {
|
|
var req dto.AgentConfigFileReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.GetConfigFile(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent config file
|
|
// @Accept json
|
|
// @Param request body dto.AgentConfigFileUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/config-file/update [post]
|
|
func (b *BaseApi) UpdateAgentConfigFile(c *gin.Context) {
|
|
var req dto.AgentConfigFileUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateConfigFile(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary List Agent skills
|
|
// @Accept json
|
|
// @Param request body dto.AgentIDReq true "request"
|
|
// @Success 200 {array} dto.AgentSkillItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/skills/list [post]
|
|
func (b *BaseApi) ListAgentSkills(c *gin.Context) {
|
|
var req dto.AgentIDReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.ListSkills(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Search Agent skills
|
|
// @Accept json
|
|
// @Param request body dto.AgentSkillSearchReq true "request"
|
|
// @Success 200 {array} dto.AgentSkillSearchItem
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/skills/search [post]
|
|
func (b *BaseApi) SearchAgentSkills(c *gin.Context) {
|
|
var req dto.AgentSkillSearchReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
data, err := agentService.SearchSkills(req)
|
|
if err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.SuccessWithData(c, data)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Update Agent skill status
|
|
// @Accept json
|
|
// @Param request body dto.AgentSkillUpdateReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/skills/update [post]
|
|
func (b *BaseApi) UpdateAgentSkill(c *gin.Context) {
|
|
var req dto.AgentSkillUpdateReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UpdateSkill(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Install Agent skill
|
|
// @Accept json
|
|
// @Param request body dto.AgentSkillInstallReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/skills/install [post]
|
|
func (b *BaseApi) InstallAgentSkill(c *gin.Context) {
|
|
var req dto.AgentSkillInstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.InstallSkill(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Uninstall Agent skill
|
|
// @Accept json
|
|
// @Param request body dto.AgentSkillUninstallReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/skills/uninstall [post]
|
|
func (b *BaseApi) UninstallAgentSkill(c *gin.Context) {
|
|
var req dto.AgentSkillUninstallReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.UninstallSkill(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Login Agent Weixin channel
|
|
// @Accept json
|
|
// @Param request body dto.AgentWeixinLoginReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/weixin/login [post]
|
|
func (b *BaseApi) LoginAgentWeixinChannel(c *gin.Context) {
|
|
var req dto.AgentWeixinLoginReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.LoginWeixinChannel(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|
|
|
|
// @Tags AI
|
|
// @Summary Approve Agent channel pairing code
|
|
// @Accept json
|
|
// @Param request body dto.AgentChannelPairingApproveReq true "request"
|
|
// @Success 200
|
|
// @Security ApiKeyAuth
|
|
// @Security Timestamp
|
|
// @Router /ai/agents/channel/pairing/approve [post]
|
|
func (b *BaseApi) ApproveAgentChannelPairing(c *gin.Context) {
|
|
var req dto.AgentChannelPairingApproveReq
|
|
if err := helper.CheckBindAndValidate(&req, c); err != nil {
|
|
return
|
|
}
|
|
if err := agentService.ApproveChannelPairing(req); err != nil {
|
|
helper.BadRequest(c, err)
|
|
return
|
|
}
|
|
helper.Success(c)
|
|
}
|