Skip to content

feat: add SerpApi search tools and provider descriptions - #10601

Merged
Soulter merged 1 commit into
masterfrom
codex/feat-serpapi-search
Oct 17, 2026
Merged

Soulter merged 1 commit into
masterfrom
codex/feat-serpapi-search

Conversation

@Soulter

@Soulter Soulter commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Selecting SerpApi now makes Google web, Images Light, Finance, and Scholar search available to the agent, with source citations and shared API key rotation. The configuration dropdown also shows readable provider names and capability descriptions while preserving stored option values.

Modifications

  • Add four SerpApi tools, including localized queries, Scholar publication-year filters, Finance history windows, and image/source URLs. Register them in agent requests and both dashboard citation paths.

  • Share key rotation and failover for authentication/quota errors, redact credentials from request errors, and support legacy string key configuration.

  • Place SerpApi first and DeepSeek Search API second in the provider dropdown. Add localized subtitles metadata for core and plugin single/multi-select configuration.

  • Open configuration hint links in a new tab with noopener noreferrer, and include SerpApi and DeepSeek key-management links.

  • Update English/Chinese search and plugin configuration documentation, four WebUI locales, and the changelog. Navigation and stored configuration values are unchanged; existing navigation screenshots do not need replacement.

  • This is not a breaking change.

Verification Steps and Test Results

  • Backend: python -m pytest tests/unit/test_serpapi_search.py tests/unit/test_astr_main_agent.py tests/unit/test_web_search_refs.py tests/unit/test_config.py -q — 356 passed.
  • Existing search regression tests: python -m pytest tests/unit/test_web_search_tools.py -q — 110 passed.
  • Dropdown behavior: node --test dashboard/tests/configSelectItems.test.mjs — 5 passed, covering preserved values, optional subtitles, translations, and plugin fallback.
  • ruff format ., ruff check ., and git diff --check — passed.
  • cd dashboard && pnpm build — passed, including TypeScript checks.
  • cd dashboard && pnpm i18n:check — passed for all four locales.
  • cd docs && pnpm run docs:build — passed.
  • Manually checked the configuration page on localhost:3000: provider labels/order, SerpApi and DeepSeek subtitles, and the SerpApi key hint. Exercised Images Light, Finance, and Scholar against SerpApi using local credentials; results included image links, quote metadata, and publications respectively.

Checklist

  • Feature scope discussed with the requester.
  • Changes tested; verification commands and results provided above.
  • Affected English and Chinese WebUI instructions checked and updated.
  • No new dependencies introduced.
  • No malicious code introduced.

Summary by Sourcery

Enable SerpApi as a search provider with four Google-backed search capabilities and clearer localized provider configuration.

New Features:

  • Add SerpApi-powered Google web, Images Light, Finance, and Scholar search tools with localized queries, citations, and specialized result metadata.

Bug Fixes:

  • Improve SerpApi request resilience by rotating keys on authentication or quota failures and preventing credentials from appearing in errors.

Enhancements:

  • Add readable provider labels and localized capability subtitles while preserving stored configuration values.
  • Open configuration hint links safely in new tabs and support legacy string-form SerpApi keys.

Documentation:

  • Document SerpApi setup and capabilities in English and Chinese search and configuration guides.
  • Document localized select-option subtitles for core and plugin configuration.

Tests:

  • Add backend and dashboard coverage for SerpApi tools, provider injection, citation extraction, configuration metadata, key rotation, and dropdown behavior.

Chores:

  • Update the unreleased changelog and WebUI locale metadata for the new provider and configuration descriptions.

@sourcery-ai

sourcery-ai Bot commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Sorry @Soulter, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 1 hour and 14 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@Soulter
Soulter merged commit 3be08ac into master Oct 17, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant