feat(admin): Agent 并发 - 后台可调同时对话上限并展示 Agent 服务状态
新增运行策略 agentMaxSessions(默认 30,范围 1-64),保存后同时下发到内嵌进程闸门与独立 yingce-agent 的 /v1/limit,降低上限不会中断已开始的对话。系统性能页展示 Agent 服务健康、进行中/排队数量,并可直接修改上限。
This commit is contained in:
@@ -23,6 +23,26 @@ func RegisterAdminSystemPerformanceRoutes(r *gin.RouterGroup, svc *service.Servi
|
||||
ok(c, result)
|
||||
})
|
||||
|
||||
r.PUT("/admin/system-performance/agent-limit", func(c *gin.Context) {
|
||||
actor, err := currentUser(c, svc)
|
||||
if err != nil {
|
||||
failService(c, err)
|
||||
return
|
||||
}
|
||||
c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, 4<<10)
|
||||
var request service.AgentSessionLimitRequest
|
||||
if err := c.ShouldBindJSON(&request); err != nil {
|
||||
failService(c, service.BadAuthRequest("Agent 并发请求无效"))
|
||||
return
|
||||
}
|
||||
result, err := svc.UpdateAgentSessionLimit(c.Request.Context(), actor, request.MaxSessions)
|
||||
if err != nil {
|
||||
failService(c, err)
|
||||
return
|
||||
}
|
||||
ok(c, result)
|
||||
})
|
||||
|
||||
r.POST("/admin/system-performance/cache/clear", func(c *gin.Context) {
|
||||
actor, err := currentUser(c, svc)
|
||||
if err != nil {
|
||||
|
||||
@@ -14,6 +14,7 @@ func TestAdminSystemPerformanceRoutesAreRegistered(t *testing.T) {
|
||||
RegisterAdminSystemPerformanceRoutes(router.Group("/api"), &service.Service{})
|
||||
wanted := map[string]bool{
|
||||
"GET /api/admin/system-performance": false,
|
||||
"PUT /api/admin/system-performance/agent-limit": false,
|
||||
"POST /api/admin/system-performance/cache/clear": false,
|
||||
}
|
||||
for _, route := range router.Routes() {
|
||||
|
||||
Reference in New Issue
Block a user