feat(admin): Agent 并发 - 后台可调同时对话上限并展示 Agent 服务状态

新增运行策略 agentMaxSessions(默认 30,范围 1-64),保存后同时下发到内嵌进程闸门与独立 yingce-agent 的 /v1/limit,降低上限不会中断已开始的对话。系统性能页展示 Agent 服务健康、进行中/排队数量,并可直接修改上限。
This commit is contained in:
ddcat666
2026-09-30 03:37:54 +08:00
parent b59317415d
commit 0ac61434df
17 changed files with 408 additions and 29 deletions

View File

@@ -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 {

View File

@@ -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() {