From 8653eddf560e1b0668ef6308e3362c38f1b15d1b Mon Sep 17 00:00:00 2001 From: Cyber Dick Lang <286878701@qq.com> Date: Mon, 27 Oct 2025 18:10:47 +0800 Subject: [PATCH] feat: Add categorized provider list with clear API key requirements - Added visual separators to distinguish between free and API key required services - Free Services: Microsoft Translator, Google Translate, LibreTranslate, MyMemory - Require API Key: GLM-4 Flash, Silicon Flow, Baidu, Youdao, DeepL, Azure - Added separator validation to prevent selection of category headers - Improved user experience with clear service categorization - Enhanced provider selection clarity for better decision making --- nodes/tools/text_translator.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nodes/tools/text_translator.py b/nodes/tools/text_translator.py index 282c497..283bffd 100644 --- a/nodes/tools/text_translator.py +++ b/nodes/tools/text_translator.py @@ -736,10 +736,12 @@ class TextTranslator_UTK: # Provider list with free/paid indicators (ordered by priority) provider_list = [ "auto", + "--- Free Services ---", "Microsoft Translator (Free)", "Google Translate (Free)", "LibreTranslate (Free)", "MyMemory (Free)", + "--- Require API Key ---", "GLM-4 Flash (Free)", "Silicon Flow (Free)", "Baidu Translate (Free)", @@ -839,6 +841,12 @@ class TextTranslator_UTK: else: # Use specific provider print(f"🎯 Using specific provider: {provider}") + + # Skip separator items + if provider.startswith("---"): + print(f"❌ Error: '{provider}' is a separator, not a provider") + return ("", "", f"Error: '{provider}' is a separator, not a provider") + if provider not in self.providers: print(f"❌ Error: Unknown provider '{provider}'") return ("", "", f"Error: Unknown provider '{provider}'")