diff --git a/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directThreadSanitize.ts b/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directThreadSanitize.ts index 3f1495115..5a8780be6 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directThreadSanitize.ts +++ b/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directThreadSanitize.ts @@ -431,7 +431,7 @@ const SENSITIVE_ASSIGNMENT = new RegExp( ); const BEARER_VALUE = - /(\bbearer\b)(\s+)((?:\\.?["'][^"']*\\.?["'])|(?:<[^>]*>)|(?:\[[^\]]*\])|(?:[^\s,;,;&\]})<>]+))/gi; + /(\bbearer\b)(\s+)((?:\\?["'][^"']*\\?["'])|(?:<[^>]*>)|(?:\[[^\]]*\])|(?:[^\s,;,;&\]})<>]+))/gi; const CONFIG_NAMES = /(?:\.env|game-creator\.config)[^\s'"`,;::&\]})<>]*/gi; diff --git a/apps/ai-game-creator-shell/tests/directThreadSanitize.test.ts b/apps/ai-game-creator-shell/tests/directThreadSanitize.test.ts index 2a264aa9f..434c7acb0 100644 --- a/apps/ai-game-creator-shell/tests/directThreadSanitize.test.ts +++ b/apps/ai-game-creator-shell/tests/directThreadSanitize.test.ts @@ -56,6 +56,10 @@ describe('directThreadSanitize', () => { expect(sanitizeDirectThreadText(ROOT, 'h x Bearer abc123 y')).toBe( 'h x Bearer [redacted-secret] y', ); + // 带引号的 Bearer 值(含空格)也要整段遮掉,不能只遮到第一个空格。 + expect(sanitizeDirectThreadText(ROOT, 'h x Bearer "abc def" y')).toBe( + 'h x Bearer [redacted-secret] y', + ); }); it('.env / game-creator.config 换成配置占位符', () => {