Integrations

AutoGen

Give Microsoft AutoGen agents a Thunderbit-powered web reader

AutoGen agents accept Python functions as tools. Wrap /distill and any AssistantAgent (or member of a GroupChat) can fetch live web content.

Install

pip install pyautogen httpx

Function tool

import httpx

API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}

def read_url(url: str) -> str:
    """Fetch a URL and return clean Markdown.

    Use for any web research task: docs, articles, search results, product pages.
    """
    resp = httpx.post(f"{API}/distill",
                      headers=H,
                      json={"url": url, "renderMode": "basic"},
                      timeout=60.0)
    resp.raise_for_status()
    return resp.json()["data"]["markdown"]

Register with an Agent

from autogen import AssistantAgent, UserProxyAgent

llm_config = {"model": "gpt-4o", "api_key": "YOUR_OPENAI_KEY"}

researcher = AssistantAgent(name="researcher", llm_config=llm_config)
proxy      = UserProxyAgent(name="proxy", code_execution_config=False)

researcher.register_for_llm(name="read_url", description="Fetch URL as Markdown")(read_url)
proxy.register_for_execution(name="read_url")(read_url)

proxy.initiate_chat(researcher, message="Summarize https://arxiv.org/abs/2501.00001")

GroupChat

For multi-agent crews (researcher + writer + critic), register read_url only on the researcher's register_for_llm so other agents can't trigger it. Execution still goes through the shared UserProxyAgent.