From a70c858cdabaaca3a16c3b973545815dd8a303ad Mon Sep 17 00:00:00 2001 From: supreme0597 Date: Fri, 22 May 2026 13:30:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mention):=20=E9=87=8D=E6=9E=84=20=5Fva?= =?UTF-8?q?lidate=5Fthread=5Fid=20=E4=B8=BA=E5=85=AC=E6=9C=89=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=BB=A5=E9=98=B2=E8=8C=83=E8=B7=A8=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=20protected=20=E6=88=90=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package/yuxi/agents/backends/sandbox/paths.py | 6 +++--- backend/server/routers/mention_router.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/package/yuxi/agents/backends/sandbox/paths.py b/backend/package/yuxi/agents/backends/sandbox/paths.py index 598d7fde..8233b4a4 100644 --- a/backend/package/yuxi/agents/backends/sandbox/paths.py +++ b/backend/package/yuxi/agents/backends/sandbox/paths.py @@ -21,7 +21,7 @@ def get_virtual_path_prefix() -> str: return "/" + VIRTUAL_PATH_PREFIX.strip("/") -def _validate_thread_id(thread_id: str) -> str: +def validate_thread_id(thread_id: str) -> str: value = str(thread_id or "").strip() if not value: raise ValueError("thread_id is required") @@ -31,7 +31,7 @@ def _validate_thread_id(thread_id: str) -> str: def _thread_root_dir(thread_id: str) -> Path: - safe_thread_id = _validate_thread_id(thread_id) + safe_thread_id = validate_thread_id(thread_id) return Path(conf.save_dir) / "threads" / safe_thread_id / "user-data" @@ -55,7 +55,7 @@ def sandbox_user_data_dir(thread_id: str) -> Path: def sandbox_workspace_dir(thread_id: str, user_id: str) -> Path: - _validate_thread_id(thread_id) + validate_thread_id(thread_id) return _global_user_data_dir(user_id) / WORKSPACE_DIR_NAME diff --git a/backend/server/routers/mention_router.py b/backend/server/routers/mention_router.py index b25ed42b..3cfc3b57 100644 --- a/backend/server/routers/mention_router.py +++ b/backend/server/routers/mention_router.py @@ -43,9 +43,9 @@ async def search_mention_files( # 此时该 thread 专属的 uploads/outputs 目录还没创建或为空, # 用户仅能安全地搜索到自己全局的工作区 (workspace) 文件。 try: - from yuxi.agents.backends.sandbox.paths import _validate_thread_id + from yuxi.agents.backends.sandbox.paths import validate_thread_id - _validate_thread_id(thread_id) + validate_thread_id(thread_id) except ValueError: raise HTTPException(status_code=400, detail="非法的 thread_id 格式")