Skip to content

feat: add Tavily search agent to Heurist Mesh - #136

Open
tavily-integrations wants to merge 1 commit into
heurist-network:mainfrom
Tavily-FDE:feat/tavily-migration/tavily-mesh-agent
Open

feat: add Tavily search agent to Heurist Mesh#136
tavily-integrations wants to merge 1 commit into
heurist-network:mainfrom
Tavily-FDE:feat/tavily-migration/tavily-mesh-agent

Conversation

@tavily-integrations

Copy link
Copy Markdown

Summary

  • Added a new TavilySearchAgent mesh agent (mesh/agents/tavily_search_agent.py) that provides web search and URL content extraction via Tavily's API
  • Exposes two tools: tavily_web_search (advanced search with domain/topic/time filtering) and tavily_extract_url (content extraction from up to 20 URLs)
  • Uses AsyncTavilyClient from tavily-python SDK with @with_retry and @with_cache decorators
  • Follows existing agent patterns (mirrors ExaSearchAgent structure)

Files changed

  • mesh/agents/tavily_search_agent.py — New agent implementation
  • mesh/tests/tavily_search_agent_example.yaml — Test YAML with example inputs/outputs
  • mesh/pyproject.toml — Added tavily-python>=0.5.0 dependency

Dependency changes

  • Added tavily-python>=0.5.0 to mesh/pyproject.toml

Environment variable changes

  • Requires TAVILY_API_KEY environment variable

Notes for reviewers

  • The agent uses search_depth="advanced" by default for highest relevance (2 credits per search)
  • An agent image at mesh/images/Tavily.png is referenced in metadata but not included — needs to be added separately
  • No existing agents were modified; this is a purely additive change

🤖 Generated with Claude Code

Automated Review

  • Passed after 1 attempt(s)
  • Final review: The TavilySearchAgent implementation is correct, complete, and consistent with the existing ExaSearchAgent pattern. It introduces a new mesh agent with two tools (tavily_web_search and tavily_extract_url), uses the proper AsyncTavilyClient SDK, adds the dependency to mesh/pyproject.toml, and includes a test YAML. No regressions or unintended changes. Only minor style and design issues found.

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