ModelEngine-Group / ModelEngine-Group/nexent

[Request] Add Serply as a web search tool option

Open
#3,748 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.9k
Forks
731
Avg merge
19h 34m
Merged PRs (30d)
172

Description

Feature Description

Nexent's SDK ships a family of interchangeable web-search tools (TavilySearchTool, ExaSearchTool, LinkupSearchTool, ...), but there is no option backed by Google SERP results. Users whose agents need Google-flavored organic results (or who already hold a Serply subscription) currently cannot use their key with Nexent.

Proposed Solution

Add a SerplySearchTool that mirrors TavilySearchTool: an HTTP wrapper around the Serply SERP API (GET https://api.serply.io/v1/search/), subclassing the same smolagents Tool base, emitting the same observer messages and SearchResultTextMessage card format, registered via the standard three touch points (tools/__init__.py, ToolSign, tool_labels.py). The tool is optional and only active when a user supplies their own SERPLY_API_KEY.

I have a working implementation with unit tests (network mocked) and have live-tested it against the real API; I will open a PR right after this issue.

Additional Information

Serply API docs: https://serply.io/docs

Disclosure: I work with Serply. The integration follows the existing house pattern and adds no required dependency (plain httpx, already used by the SDK).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the existing TavilySearchTool pattern, then inspect tools/init.py, ToolSign, and tool_labels.py for the three registration points. Run the mocked unit tests mentioned in the issue; done means the optional Serply tool follows the existing message and result-card conventions when SERPLY_API_KEY is supplied.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.