Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Unique Web Search

Configurable web search tool for Unique assistants: search the web, read pages, and return citation-ready content chunks.

Search Proxy (recommended)

Outbound web access should go through Unique Search Proxy (connectors/unique_search_proxy/). When SEARCH_PROXY_BASE_URL is set, search and crawl calls use unique-search-proxy-sdk; credentials and provider egress stay on the proxy pod.

Mode When Behaviour
Proxy (recommended) SEARCH_PROXY_BASE_URL set _proxy_search / _proxy_crawl via the SDK
Legacy URL unset Direct provider calls from this process (_legacy_search / _legacy_crawl)
  • New standard engines (Brave, Perplexity) are proxy-only — legacy raises.
  • Custom API always runs locally (never routed through the proxy).
  • Future provider work targets Search Proxy only; legacy is preserved for migrated engines.

Packages involved: unique-search-proxy-core (schemas), unique-search-proxy-sdk (HTTP), unique-search-proxy (server). System overview: connectors/unique_search_proxy/README.md.

Architecture

Web Search Tool Architecture

Search engine kinds

Standard search

Query → normalised results (URL / title / snippet / optional content). Optional page crawl via the configured crawler.

Engine Proxy Notes
Google legacy + proxy Requires scraping by default
Brave proxy-only Rich snippets; ExposableParam knobs
Perplexity proxy-only Content extraction knobs; ExposableParam
Custom API always local Your REST endpoint

Standard engines that live in proxy-core use ExposableParam (expose + value) for optional provider knobs. See Search Engines README.

Agent search (grounding)

An upstream AI agent / grounded model searches and returns opaque text that this tool parses into WebSearchResults.

Engine Proxy Notes
Bing (Azure AI Foundry grounding) legacy + proxy Configurable requires_scraping; market / setLang / freshness are ExposableParam knobs
VertexAI (Gemini grounding) legacy + proxy Configurable requires_scraping

Bing's grounding knobs are baked into the hashed Foundry agent name, so changing one provisions a new agent version.

Web crawlers (page readers)

Crawler Auth Notes
Basic none HTTP + content-type toggles; tool-local url_blocked_patterns (legacy)
Tavily TAVILY_API_KEY Extract API
Jina JINA_API_KEY Reader API
Firecrawl FIRECRAWL_API_KEY Batch scrape

No Crawl4AI. Crawler configs have no exposable LLM knobs.

Execution modes

Mode Status Behaviour
V1 Stable Refine query → search → crawl → process
V2 Stable Parallel plan steps (search / read URL)
V3 Experimental Agent loop: snippet search vs on-demand read_urls

Proxy vs legacy is transparent to executors.

Detailed subsystem docs

Configuration

  • SEARCH_PROXY_BASE_URL — enables the Search Proxy client
  • Provider API keys (on the proxy pod when proxy is enabled; otherwise on assistants-core for legacy)
  • Search / crawler / content-processing settings via WebSearchConfig

Dependency management (uv.lock + min/latest testing)

This package is a library and uses uv for dependency management.

We run tests additionally with minimal dependencies to ensure that the listed ranges are valid. NOTE: We use lowest-direct, not lowest. Lowest attempts to use the lowest possible dependency versions transitively causing issues if a dependency has incorrect metadata. Example:

  • google-cloud-aiplatform says it works with shapely<3.0.0.
  • The lowest resolver assumes 1.0 which needs python 2 -> breaks Therefore we use lowest-direct which only sets our direct dependencies to lowest. However, this only correctly verifies our min dependencies if our code correctly lists all the required dependencies and never imports a transitive dependency. We therefore use deptry to ensure we don't use transitive dependencies and that we have no unused dependencies.

Test locally

  • Latest deps and deptry:
cd tool_packages/unique_web_search
uv sync
uv run pytest
uv run deptry
  • Min deps:
cd tool_packages/unique_web_search
uv venv
uv pip install -e . --resolution=lowest-direct
uv export --only-group dev --no-hashes | uv pip install -r -
uv run --no-sync pytest

Release files for unique-web-search 2026.38.0.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unique-web-search 2026.38.0.dev0
File Size Uploaded
unique_web_search-2026.38.0.dev0.tar.gz 113.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unique-web-search 2026.38.0.dev0
File Interpreter ABI Platform
unique_web_search-2026.38.0.dev0-py3-none-any.whl Python 3 none any Details

Total release size: 286.4 kB

Release files / unique_web_search-2026.38.0.dev0.tar.gz

Download URL unique_web_search-2026.38.0.dev0.tar.gz
Size 113.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3bb21be96b7f05ae02cd982eccdc662ce6e5c50c687e38b7bc6b3ef818b8f98b
BLAKE2b-256 checksum
How to use checksums
5c60161ac5d0b5ba72ddb7a2170fac199c489d001ae263e8fabd09757578d898
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / unique_web_search-2026.38.0.dev0-py3-none-any.whl

Download URL unique_web_search-2026.38.0.dev0-py3-none-any.whl
Size 173.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b4a5cc4495ebd7bb01c297a26f5fb27d32e2bc6eca72797eff8fd822c696c6a
BLAKE2b-256 checksum
How to use checksums
cdce3c478a4f3d2f9a886f91b97bd88ff361c4d18e47adc2865cf4b157cfc768
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

2026.38.0.dev0 This release

2 release files

1.17.0

2 release files

1.16.5

2 release files

1.16.4

2 release files

1.16.3

2 release files

1.16.2

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.5

2 release files

1.14.3

2 release files

1.14.2

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.1

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.4

2 release files

1.11.3

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.1

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.8

2 release files

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page