feat(crewai-tools): add SerpdiveSearchTool#6594
Open
edendalexis wants to merge 1 commit into
Open
Conversation
Web search over the SERPdive Search API. Returns a JSON string whose results carry the extracted, answer-ready text of each page (url, title, date, content), plus an optional synthesized answer. Sync and async via the official serpdive SDK, exported from crewai_tools, with a serpdive optional dependency group, stubbed unit tests, a docs page under tools/search-research, and the regenerated tool.specs.json. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughChangesSERPdive Search Tool
Sequence Diagram(s)sequenceDiagram
participant Agent
participant SerpdiveSearchTool
participant SERPdive
Agent->>SerpdiveSearchTool: Submit query
SerpdiveSearchTool->>SERPdive: Execute search with configured parameters
SERPdive-->>SerpdiveSearchTool: Return search response
SerpdiveSearchTool-->>Agent: Return formatted JSON
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add SerpdiveSearchTool
Adds a search tool for SERPdive, an AI search API that returns answer-ready web content: every result carries the actual text of the page (url, title, date, content), already extracted, cleaned, and sized for LLM consumption, so agents can quote and cite straight from the tool output. On a public, replayable 1,000-question benchmark, SERPdive runs at the same speed as Tavily, feeds your LLM 20.2% fewer tokens, and wins 60.7% of decided quality duels.
What's included
lib/crewai-tools/src/crewai_tools/tools/serpdive_search_tool/:SerpdiveSearchTool(sync_run+ async_arun) over the officialserpdiveSDK, following the structure and current style of the existing search tools (import guard,package_dependencies,env_vars, JSON string output) + tool READMEcrewai_tools/__init__.pyandcrewai_tools/tools/__init__.py(imports and__all__),serpdiveoptional dependency group inlib/crewai-tools/pyproject.tomllib/crewai-tools/tests/tools/serpdive_search_tool_test.py: 4 stubbed unit tests (no network), passing locally; the tool was also run live against the production APIdocs/edge/en/tools/search-research/serpdivesearchtool.mdx+ overview card +docs/docs.jsonnav entry (edge only, no frozendocs/v*touched)lib/crewai-tools/tool.specs.jsonregenerated withgenerate_tool_specs.py: the diff is additive only (the new tool's entry), no existing entry changedNotes
SERPDIVE_API_KEY(free key, no card required). No country or locale parameter: the language of the query picks where the search runs automatically.exclude-newer = "3 days": theserpdiveSDK's latest release was published on 2026-07-18, souv sync --all-extrasresolves it once the release is more than 3 days old. No config change is included; if CI runs before then and you prefer, we can add a temporaryexclude-newer-packageoverride instead.🤖 Generated with Claude Code