From c1ea8f156ce6959a15d32a66b1c8ae384c891bb8 Mon Sep 17 00:00:00 2001 From: weichen Date: Fri, 18 Sep 2026 03:46:21 +0000 Subject: [PATCH] =?UTF-8?q?fix(server):=20=E6=B8=85=E9=99=A4=20NewSession?= =?UTF-8?q?=20ProjectID=3D1=20=E5=8D=A0=E4=BD=8D=E4=BB=A5=E5=85=8D?= =?UTF-8?q?=E8=AF=AF=E8=A7=A6=E5=8F=91=E9=A1=B9=E7=9B=AE=E9=89=B4=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 非项目会话创建时 ProjectID 归零,避免跨用户负例在 PG 上被 ERR_FORBIDDEN 误挡。 Co-authored-by: Cursor --- internal/server/server.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/server/server.go b/internal/server/server.go index 9d92073d..bf569257 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -573,8 +573,13 @@ func (s *Server) getOrCreateSession( } } - // 新建会话时立即绑定调用者。NewSession 历史占位 UserID=1 不能当作已绑定归属。 - if callerUserID > 0 && (restored == nil || restored.UserID <= 0) { + // 新建会话时立即绑定调用者。NewSession 历史占位 UserID=1/ProjectID=1 不能当作已绑定归属。 + if restored == nil { + sess.ProjectID = 0 + if callerUserID > 0 { + sess.UserID = callerUserID + } + } else if restored.UserID <= 0 && callerUserID > 0 { sess.UserID = callerUserID }