Skip to content

[feat] add Nimble web search tool#6534

Open
ilchemla wants to merge 19 commits intoagno-agi:mainfrom
ilchemla:main
Open

[feat] add Nimble web search tool#6534
ilchemla wants to merge 19 commits intoagno-agi:mainfrom
ilchemla:main

Conversation

@ilchemla
Copy link
Copy Markdown

Summary

Adds NimbleTools to provide real-time web search capabilities using the official nimble_python SDK.

Type of change

  • New feature
  • Improvement

Features

  • Web search with configurable parameters (max_results, deep_search, include_answer)
  • Time-based filtering to get recent results (hour, day, week, month, year)
  • Domain filtering to include/exclude specific domains
  • Multiple output formats (markdown, plain_text, simplified_html)
  • Localization support (locale, country)
  • Both sync and async client support
  • Comprehensive cookbook with 7 examples

Implementation Details

  • Uses the official nimble_python SDK (https://github.com/Nimbleway/nimble-python)
  • Leverages Nimble API's built-in parsing_type parameter for formatting
  • Simple, clean design with method-level parameter defaults
  • Class-level configuration only for global settings (locale, country, output_format)
  • Proper error handling and logging
  • 114 lines of clean, maintainable code

Checklist

  • Code complies with style guidelines
  • Ran format/validation scripts (./scripts/format.sh and ./scripts/validate.sh)
  • Self-review completed
  • Documentation updated (comments, docstrings)
  • Examples and guides: Cookbook example included at cookbook/91_tools/nimble_tools.py
  • Tested in clean environment

Additional Notes

  • Requires nimble_python package: pip install nimble_python
  • Requires NIMBLE_API_KEY environment variable
  • All ruff and mypy checks passed

Adds NimbleTools to provide real-time web search capabilities using the
official nimble_python SDK.

Features:
- Web search with configurable parameters (max_results, deep_search, include_answer)
- Time-based filtering (hour, day, week, month, year)
- Domain filtering (include/exclude specific domains)
- Multiple output formats (markdown, plain_text, simplified_html)
- Localization support (locale, country)
- Both sync and async client support
- Comprehensive cookbook with 7 examples

Implementation:
- Uses Nimble API's built-in parsing_type for formatting
- Simple, clean design with method-level parameter defaults
- Only class-level config for global settings (locale, country, output_format)
- Proper error handling and logging

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@ilchemla ilchemla requested a review from a team as a code owner February 12, 2026 09:38
ilchemla and others added 5 commits February 12, 2026 11:38
Enhanced web_search_using_nimble docstring to help agents choose between fast mode and deep search:
- Added clear mode selection guidance
- Explained when to use each mode
- Improved parameter descriptions for better decision-making

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
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