From 0656062a4fe86b4854f5fcff8c3468ab2e01424c Mon Sep 17 00:00:00 2001 From: vinland100 Date: Tue, 6 Jan 2026 15:32:17 +0800 Subject: [PATCH] feat: Add Rust, Swift, Kotlin, and SQL patterns to the RAG splitter and enhance frontend access token retrieval by checking sessionStorage. --- backend/app/services/rag/splitter.py | 21 +++++++++++++++++++ .../AgentAudit/hooks/useResilientStream.ts | 2 +- frontend/src/shared/api/agentStream.ts | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/backend/app/services/rag/splitter.py b/backend/app/services/rag/splitter.py index cc62344..b29af0d 100644 --- a/backend/app/services/rag/splitter.py +++ b/backend/app/services/rag/splitter.py @@ -453,6 +453,27 @@ class CodeSplitter: (r"system\s*\(", "system_call"), (r"send\s*\(", "dynamic_method_call"), ], + "rust": [ + (r"\bunsafe\b", "unsafe_code"), + (r"Command::new", "process_execution"), + (r"File::create", "file_creation"), + (r"File::open", "file_access"), + ], + "swift": [ + (r"Process\(\)", "process_start"), + (r"try!", "force_try"), + (r"eval\s*\(", "eval"), + ], + "kotlin": [ + (r"Runtime\.getRuntime\(\)\.exec", "runtime_exec"), + (r"ProcessBuilder", "process_builder"), + (r"password\s*=", "password_assign"), + ], + "sql": [ + (r"DROP\s+TABLE", "drop_table"), + (r"DELETE\s+FROM", "delete_records"), + (r"GRANT\s+ALL", "grant_privileges"), + ], } def __init__( diff --git a/frontend/src/pages/AgentAudit/hooks/useResilientStream.ts b/frontend/src/pages/AgentAudit/hooks/useResilientStream.ts index 4325790..73251ee 100644 --- a/frontend/src/pages/AgentAudit/hooks/useResilientStream.ts +++ b/frontend/src/pages/AgentAudit/hooks/useResilientStream.ts @@ -298,7 +298,7 @@ export function useResilientStream( const connectInternal = useCallback(async () => { if (!taskId || isDisconnectingRef.current) return; - const token = localStorage.getItem('access_token'); + const token = localStorage.getItem('access_token') || sessionStorage.getItem('access_token'); if (!token) { setError('Not authenticated'); updateConnectionState('failed'); diff --git a/frontend/src/shared/api/agentStream.ts b/frontend/src/shared/api/agentStream.ts index 2fc6429..62443fd 100644 --- a/frontend/src/shared/api/agentStream.ts +++ b/frontend/src/shared/api/agentStream.ts @@ -142,7 +142,7 @@ export class AgentStreamHandler { return; } - const token = localStorage.getItem('access_token'); + const token = localStorage.getItem('access_token') || sessionStorage.getItem('access_token'); if (!token) { this.options.onError?.('未登录'); return;