From 7f33eb85bad366920492ada73d3740ca5343f771 Mon Sep 17 00:00:00 2001 From: shiyu Date: Sat, 27 Sep 2025 14:11:59 +0800 Subject: [PATCH] feat(Processor): support setting extension to empty to indicate no extension restriction --- services/processors/vector_index.py | 2 +- web/src/pages/FileExplorerPage/components/ContextMenu.tsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/processors/vector_index.py b/services/processors/vector_index.py index d06ab74..8335774 100644 --- a/services/processors/vector_index.py +++ b/services/processors/vector_index.py @@ -93,7 +93,7 @@ def _compress_image_for_embedding(input_bytes: bytes) -> Tuple[bytes, Dict[str, class VectorIndexProcessor: name = "向量索引" - supported_exts = ["jpg", "jpeg", "png", "bmp", "txt", "md"] + supported_exts: List[str] = [] # 留空表示不限扩展名 config_schema = [ { "key": "action", "label": "操作", "type": "select", "required": True, "default": "create", diff --git a/web/src/pages/FileExplorerPage/components/ContextMenu.tsx b/web/src/pages/FileExplorerPage/components/ContextMenu.tsx index 8a7013a..89f9c13 100644 --- a/web/src/pages/FileExplorerPage/components/ContextMenu.tsx +++ b/web/src/pages/FileExplorerPage/components/ContextMenu.tsx @@ -61,7 +61,11 @@ export const ContextMenu: React.FC = (props) => { if (!entry.is_dir && processorTypes.length > 0) { const ext = entry.name.split('.').pop()?.toLowerCase() || ''; processorSubMenu = processorTypes - .filter(pt => pt.supported_exts.includes(ext)) + .filter(pt => { + const exts = pt.supported_exts; + if (!Array.isArray(exts) || exts.length === 0) return true; + return exts.includes(ext); + }) .map(pt => ({ key: 'processor-' + pt.type, label: pt.name,