Skip to content

Add Linkup as web search provider - #301

Open
shauryajain21 wants to merge 1 commit into
virattt:mainfrom
shauryajain21:add-linkup-integration
Open

shauryajain21 wants to merge 1 commit into
virattt:mainfrom
shauryajain21:add-linkup-integration

Conversation

@shauryajain21

Copy link
Copy Markdown

This pull request adds Linkup as a web search provider. It follows the same structure as the existing Exa / Tavily / LangSearch providers: it plugs into the web_search fallback chain and the /search provider picker.

Integration

  • Added linkupSearch in src/tools/search/linkup.ts, using the official linkup-sdk client (lazily initialized, like exa.ts). It runs a standard-depth search returning 5 results, and uses the shared parseSearchResults / formatToolResult helpers so sourceUrls are populated.
  • Registered it in src/tools/registry.ts when LINKUP_API_KEY is set. It is added at the end of the chain, so the default provider order is unchanged.
  • Exported it from src/tools/search/index.ts.
  • Added a mocked unit test (src/tools/search/linkup.test.ts) that covers request params, URL extraction, and error prefixing.

UI and config

  • Added linkup to SearchProviderId / SEARCH_PROVIDERS in src/utils/env.ts and to the provider list in src/components/select-list.ts.
  • Added LINKUP_API_KEY to env.example and the README. Keys are available at https://app.linkup.so.

Usage

# .env
LINKUP_API_KEY=your-linkup-api-key

Then pick Linkup with /search to make it the preferred provider. Otherwise it is used as a fallback after the other configured providers.

Tests

  • bun run typecheck: passes
  • bun test: 319 pass, 0 fail
  • Manual live check: web_search returned 5 results with source URLs through the Linkup provider

@shauryajain21
shauryajain21 marked this pull request as ready for review October 1, 2026 14:56
@shauryajain21
shauryajain21 force-pushed the add-linkup-integration branch from 1cc2ddd to c81934e Compare October 2, 2026 13:45
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