Extensions/ComfyUI-Live-Search
ComfyUI Extension

ComfyUI-Live-Search

🌐 Live Search: Real-time web search and AI summarization. Internet search, web scraping, fact checking, weather, news, GPS coordinate conversion. DuckDuckGo search with…

By Zone-Roam·Created 9 months ago·Updated 8 months ago· 23
Zone-Roam/ComfyUI-Live-Search
Nodes3
On cloudLocal install
CategoryLiveSearch
Stars23
Updated8 months ago
Readme
<div align="center">

🌐 Live Search - Real-time Web Search for ComfyUI

Connect Your ComfyUI to the Internet | Search, Scrape, Summarize

License Python LLM

🔥 Use Cases: Real-time Weather · News Summary · Fact Checking · Product Reviews · Web Scraping · GPS Coordinate Conversion

🤖 Supported Models: GPT-5.1 · DeepSeek-V3 · Gemini 3 Pro · Claude 4.5 · Qwen3 · Doubao · Llama 4 · Ollama

中文文档 | English

</div>

📖 Why Choose Live Search?

ComfyUI Live Search brings the internet directly to your workflows! This powerful internet search node provides:

Real-time Search: DuckDuckGo search engine, stable and reliable
AI Summarization: Automatically reads web pages and extracts key information
Multi-LLM Support: GPT-5.1, DeepSeek-V3, Gemini 3 Pro, Claude 4.5, Qwen3, and 8+ LLM providers
Modular Architecture: Separated API config, search settings, and execution logic
Chinese-Friendly: Perfect support for Chinese LLM providers (Qwen, Doubao, DeepSeek)

Typical Use Cases:

  • 🌤️ Query real-time weather to generate scene images
  • 📰 Fetch latest news and generate related content
  • 🔍 Fact checking and information verification
  • 🛍️ Product information lookup and review summarization
  • 📍 GPS coordinate to location conversion (e.g., "40.00023, 116.27808" → "Beijing, Haidian District")
  • 💬 Pure LLM chat (disable web search for direct AI conversations)
  • 🌐 Any creative workflow requiring internet information

🏗️ New Modular Architecture

Inspired by comfyui_LLM_party's excellent design, we adopt a modular layered architecture:

📊 Node Composition

🔑 API Loader → ⚙️ Settings → 🌐 Search Agent → Results

| Node | Function | Output | |------|----------|--------| | 🔑 Live Search API Loader | API config & model selection | MODEL_CONFIG | | ⚙️ Live Search Settings | Search parameters | SEARCH_SETTINGS | | 🌐 Live Search Agent | Main search logic | answer, source_urls, optimized_prompt |

✅ New Architecture Benefits

  • Modular Design: Separation of config and logic, easier to maintain
  • Reusability: One API Loader can connect to multiple Agents
  • Flexibility: Different Settings for different scenarios
  • Professional: Best practices from large-scale projects

🔄 Backward Compatibility

  • Legacy single-node 🌐 Live Search (Legacy) still available
  • New users recommended to use the new three-node combo

✨ Key Features

  • 🔍 DuckDuckGo Search Engine
    Stable, proxy-friendly, no API key required. Perfect for real-time info retrieval and complements any LLM/VLM.

  • 🧠 Multi-Provider Model Hub (Text & Vision)

    • OpenAI: GPT-5.x, GPT-4.1 family, GPT-4o (now fully TI2T-capable)
    • SiliconFlow: DeepSeek, Qwen3/Qwen2.5 VL, GLM-4.5V, Qwen3-Omni, etc. (single provider covering 70+ CN models)
    • DeepSeek Official / Aliyun / Volcengine, Gemini (OpenAI-format), Anthropic Claude, Qwen (Aliyun), Grok, Doubao, Ollama (local)

    ✅ Every provider is validated end-to-end (auth, payload, response parsing).

  • 🖼️ Dual Mode: T2T & TI2T

    • T2T: Traditional text-only LLM flow with web search + summarization
    • TI2T: Vision-language pipeline (prompt + IMAGE) for reverse image search, landmark recognition, document reading, etc.
    • TI2T supports web search + image context fusion (two-stage VLM call) and is available for OpenAI GPT-5.1 / GPT-4o families & SiliconFlow VLMs.
  • 🌦️ Structured Tooling

    • Open-Meteo integration for precise real-time weather/time when GPS coordinates are provided
    • geopy + Nominatim reverse geocoding (lat/lon → city/country)
    • Query Optimization (rename: optimize_query) improves English search keywords while keeping answers in your selected language
    • Conflict resolution prompts ensure VLM trusts web data for up-to-date info (time, weather).
  • 🈚 Multi-Language Output
    Explicit output control: 中文 or English (no more “Auto” surprises). System prompts enforce consistency for both LLM and VLM flows.

  • 🔐 Cloud-Friendly Security
    API keys never persist to disk, .env + api_config.json supported, and per-node proxy keeps shared GPU rentals safe.

🧠 T2T vs TI2T Modes

| Mode | Inputs | Model Slot | Flow | Perfect For | |------|--------|------------|------|-------------| | T2T (Text → Text) | Prompt | t2t_model | Search (DuckDuckGo) → scrape trusted sources → inject Open-Meteo & geopy context → LLM summarization. | Weather/time, news, fact checking, research, pure LLM chat (disable web search). | | TI2T (Text + IMAGE → Text) | Prompt + ComfyUI IMAGE tensor | ti2t_model | Encode image → VLM query generation → DuckDuckGo search → VLM final reasoning with image + search snippets. | Landmark recognition, “reverse image” info, screenshot comprehension, visual + real-time hybrid tasks. |

Implementation Notes

  • API Loader now provides independent t2t_model / ti2t_model dropdowns per provider. Agent auto-selects based on Settings mode.
  • TI2T currently supports OpenAI GPT-5.1 / GPT-4o / GPT-4-turbo and SiliconFlow VLM lineups (Qwen3-VL, Qwen3-Omni, GLM-4.5V, DeepSeek-VL2, etc.).
  • TI2T keeps web search optional: when enabled, VLM runs twice (query generation + final answer) so image context stays synced with live data.
  • Both modes reuse the unified MODEL_CONFIG output, so legacy workflows remain compatible.

OpenAI GPT-5.x usage notes

  • Access to GPT-5.1 family still requires an OpenAI plan with GPT-5 privileges (Pro/Team/Enterprise). If the API returns 404/403, double-check your account permissions.
  • Live Search automatically switches GPT-5.* calls to the Responses API. You do not need to edit the base URL; simply pick gpt-5.1, gpt-5.1-mini, gpt-5, gpt-5-mini, or gpt-5-pro in API Loader.
  • The node maps max_tokens → OpenAI's max_output_tokens under the hood, so you can keep using the same control in the UI.
  • TI2T (image + text) is currently validated for gpt-5.1, gpt-5.1-mini, gpt-5, gpt-5-mini, and gpt-5-pro. Older GPT-4 models stay available for backward compatibility.

🚀 Installation

Method 1: via ComfyUI Manager (Recommended)

  1. Open Manager panel in ComfyUI
  2. Click Install Custom Nodes
  3. Search for Live Search
  4. Click Install and restart ComfyUI

Method 2: Git Clone

Navigate to your ComfyUI custom_nodes directory and run:

git clone https://github.com/Zone-Roam/ComfyUI-Live-Search.git
cd ComfyUI-Live-Search

# If using Portable version of ComfyUI (Recommended)
..\..\..\python_embeded\python.exe -m pip install -r requirements.txt

# If using system Python or virtual environment
pip install -r requirements.txt

Then restart ComfyUI.

Method 3: Manual Installation

  1. Download the ZIP file
  2. Extract it to ComfyUI/custom_nodes/ComfyUI-Live-Search
  3. Install dependencies as shown in Method 2
  4. Restart ComfyUI

🛠️ Usage Guide

📸 Demo Screenshots

| Screenshot | Scenario | |------------|----------| | TI2T Landmark + Weather | TI2T · Eiffel Tower + Web Search: upload an Eiffel Tower photo, let GPT‑5.1 VLM generate current local time weather Eiffel Tower Paris France, run DuckDuckGo, and answer “这里是巴黎埃菲尔铁塔 … 当前温度 …”. | | TI2T Object ID | TI2T · Cartoon Recognition: feed a Pikachu image with prompt “这个东西是什么?”,VLM 模型在 Web Search OFF 下直接描述颜色、特征与动画背景。 | | T2T Coordinates Weather | T2T · GPS Weather Lookup: text prompt “Please help me find the current time and weather for coordinates 40.00023661635351, 116.27808154448789...”,启用 web search 获取海淀区实时天气并输出中文摘要。 |

Tip: mix and match Settings (mode, language, proxy) with different providers to recreate these flows or capture your own demos.


Modular Node Workflow (Recommended) ⭐

🔑 Live Search API Loader

Configure LLM API and model parameters.

| Parameter | Description | |-----------|-------------| | provider | Choose provider: OpenAI, SiliconFlow, DeepSeek, Gemini, Anthropic, Qwen, Doubao, Ollama, etc. | | t2t_model | Text-only model for T2T mode (LLM) | | ti2t_model | Vision-language model for TI2T mode (VLM). Shows “No VLM models available” if the provider has none. | | api_key | API key (optional, supports .env) | | base_url | API endpoint (optional, falls back to provider defaults) | | temperature | Temperature (0.0-2.0) | | max_tokens | Maximum output length | | timeout | Request timeout |

⚙️ Live Search Settings

Configure search behavior.

| Parameter | Description | |-----------|-------------| | mode | T2T (text) or TI2T (text + image). TI2T expects an IMAGE input on the Agent node. | | enable_web_search | Enable/disable web search (OFF = use as pure LLM) | | num_results | Number of search results (1-10) | | output_language | Output language: 中文 or English | | optimize_query | LLM-powered search keyword optimization (English-focused for better search recall) | | proxy | Proxy address (optional) |

🌐 Live Search Agent

Main search node, connects to the above two nodes.

| Input | Type | Description | |-------|------|-------------| | prompt | STRING | Your question | | model_config | MODEL_CONFIG | From API Loader | | search_settings | SEARCH_SETTINGS | From Settings | | (optional) image | IMAGE | Required when mode = TI2T. Pass any ComfyUI image tensor (RGB/RGBA). | | (optional) role | STRING | Custom system prompt injected before the default instructions. |

| Output | Description | |--------|-------------| | answer | AI-generated answer | | source_urls | Referenced source links | | optimized_prompt | Optimized search query |


🔍 Why Only DuckDuckGo?

This node uses real web scraping for search, not API calls. In our testing:

✅ DuckDuckGo Advantages:

  • Automation-friendly with lenient anti-bot measures
  • Works reliably even with proxy configuration
  • Search quality fully meets real-time information retrieval needs
  • Open-source friendly with strong community support

❌ Google Issues:

  • Extremely strict anti-scraping mechanisms (CAPTCHAs, IP blocks, User-Agent detection)
  • Often returns empty results or CAPTCHA pages even with proxies
  • googlesearch-python library is unstable in production
  • Frequent access leads to temporary IP bans

💡 If You Need Google Search Quality:

  • Consider using official Google Custom Search API (paid)
  • Or use third-party services like SerpAPI (paid)

We chose DuckDuckGo to ensure the node works reliably across all environments.


⚙️ Configuration (Optional)

For local users who don't want to paste their API key every time, there are two configuration methods:

Method 1: Use .env File (Recommended) ⭐

  1. Copy .env.example to .env
  2. Edit .env and fill in your API keys:
OPENAI_API_KEY=sk-your-openai-key-here
DEEPSEEK_OFFICIAL_API_KEY=sk-your-deepseek-key-here

Advantages:

  • ✅ Industry standard practice
  • ✅ Automatically excluded by .gitignore, won't be accidentally committed
  • ✅ More secure and professional

Method 2: Use api_config.json

  1. Rename api_config_example.json to api_config.json
  2. Edit and fill in your API keys:
{
    "openai_api_key": "sk-...",
    "deepseek (official)_api_key": "sk-..."
}

API Key Priority

Node Input (Highest) > .env File > api_config.json (Lowest)

Note: On cloud platforms, always use the api_key widget in the node for security.

📄 License

Apache 2.0 License