From ccd2a0be5b9e09224d38dfb256f672a0af3bc012 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 17 Aug 2025 04:15:13 +0400 Subject: [PATCH] refac --- backend/open_webui/config.py | 15 +++++---------- backend/open_webui/utils/middleware.py | 14 ++++++++------ 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py index 2275b880f1..a2cd997738 100644 --- a/backend/open_webui/config.py +++ b/backend/open_webui/config.py @@ -1857,16 +1857,11 @@ CODE_INTERPRETER_JUPYTER_TIMEOUT = PersistentConfig( ), ) -CODE_INTERPRETER_BLACKLISTED_MODULES = PersistentConfig( - "CODE_INTERPRETER_BLACKLISTED_MODULES", - "code_interpreter.blacklisted_modules", - [ - library.strip() - for library in os.environ.get("CODE_INTERPRETER_BLACKLISTED_MODULES", "").split(",") - if library.strip() - ], -) - +CODE_INTERPRETER_BLOCKED_MODULES = [ + library.strip() + for library in os.environ.get("CODE_INTERPRETER_BLOCKED_MODULES", "").split(",") + if library.strip() +] DEFAULT_CODE_INTERPRETER_PROMPT = """ #### Tools Available diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index b071805f2b..e62c6f3c5b 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -92,7 +92,7 @@ from open_webui.config import ( CACHE_DIR, DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE, DEFAULT_CODE_INTERPRETER_PROMPT, - CODE_INTERPRETER_BLACKLISTED_MODULES, + CODE_INTERPRETER_BLOCKED_MODULES, ) from open_webui.env import ( SRC_LOG_LEVELS, @@ -2371,15 +2371,16 @@ async def process_chat_response( try: if content_blocks[-1]["attributes"].get("type") == "code": code = content_blocks[-1]["content"] - if CODE_INTERPRETER_BLACKLISTED_MODULES: - blocking_code = textwrap.dedent(f""" + if CODE_INTERPRETER_BLOCKED_MODULES: + blocking_code = textwrap.dedent( + f""" import builtins - BLACKLISTED_MODULES = {CODE_INTERPRETER_BLACKLISTED_MODULES} + BLOCKED_MODULES = {CODE_INTERPRETER_BLOCKED_MODULES} _real_import = builtins.__import__ def restricted_import(name, globals=None, locals=None, fromlist=(), level=0): - if name.split('.')[0] in BLACKLISTED_MODULES: + if name.split('.')[0] in BLOCKED_MODULES: importer_name = globals.get('__name__') if globals else None if importer_name == '__main__': raise ImportError( @@ -2388,7 +2389,8 @@ async def process_chat_response( return _real_import(name, globals, locals, fromlist, level) builtins.__import__ = restricted_import - """) + """ + ) code = blocking_code + "\n" + code if (