feat: 系统设置新增原始请求/响应记录开关(仅管理员)

- 系统配置键 log_raw_requests:开启后,仅管理员账号的每次请求
  在用量明细中保存客户端原始请求体与上游原始响应体
  (流式含全部 SSE 事件),用于排障
- UsageLog 新增 raw_request / raw_response 字段(type:text)
- AuthLLM 附带 user_role 供网关判断管理员
- gateway:10s TTL 缓存开关;streamResponse/bufferResponse
  支持累积上游原始响应;recordUsage 填充原始字段
- 前端 SystemConfig 新增开关(会显著增加存储的提示)
- 新增 doc/flow.md 网关调用流程示意图
This commit is contained in:
Sakurasan
2026-09-01 02:32:31 +08:00
parent 9f4d631fc4
commit f9e9a1572f
6 changed files with 393 additions and 4 deletions
+8
View File
@@ -40,8 +40,16 @@ func AuthLLM(db *gorm.DB) gin.HandlerFunc {
return
}
// 附带用户角色(判断是否管理员,供原始请求/响应记录等管理能力使用)。
var user store.User
if err := db.First(&user, apiKey.UserID).Error; err != nil {
unauthorized(c, "无效的API密钥")
return
}
c.Set("api_key", &apiKey)
c.Set("user_id", apiKey.UserID)
c.Set("user_role", user.Role)
c.Next()
}
}