본문으로 건너뛰기
J

dsh-web-search-exa

jakehemmerle/dsh-web-search-exa

Exa search provider for the dsh-web seam: the web_search tool sends queries to Exa's /search API and returns the results as sources, in dsh web, dsh-TUI and headless runs. Needs an Exa API key (EXA_API_KEY, the credential store or a key file read on every search). web_fetch is unchanged and there is no UI.

설치

dsh plugin --profile web add github:jakehemmerle/dsh-web-search-exa

README

dsh-web-search-exa

An Exa search provider for DeepSeek Harness. It registers the provider exa on the @deepseek-ai/dsh-web seam, so the web_search tool sends its queries to Exa's /search API and returns the results as sources. It works the same from dsh web, dsh-TUI and headless runs. web_fetch is unchanged. The plugin has no UI of its own.

Install

The package is a dsh bundle. Use the profile you run (web, headless, …):

dsh plugin --profile web add github:jakehemmerle/dsh-web-search-exa#v0.3.0-rc.1
export EXA_API_KEY=…   # in the environment that launches dsh

The bundle's cordis.patch.yml pins the web seam's searchProvider to exa and adds the web-search-exa row. Restart dsh web after installing.

This release is qualified against DSH 0.2.1-rc.2; its peer pin is exact, so other DSH versions need dsh plugin allow-version or a newer release.

Configuration

Override the row in your profile's own cordis.patch.yml. A patch replaces the whole row config, so restate any field you keep.

FieldDefaultMeaning
apiKeyEnvEXA_API_KEYKey name: looked up in dsh's credential store, then (after apiKeyFile) in the environment
apiKeyFile(unset)File holding the key (raw or dotenv), read on every search, so a rotated key needs no restart; it wins over the environment
apiKey(unset)Literal key, used before any other source (avoid)
baseURLhttps://api.exa.aiExa API origin
typeautoExa search type
highlightChars600Highlight length per result
timeoutMs30000Request timeout
- id: web-search-exa
  config:
    apiKeyFile: /run/secrets/exa

Development

nix flake check runs the fast suites against the pinned dsh; nix run .#e2e runs the real dsh web (Playwright), dsh-TUI (private tmux) and headless suites against a local mock Exa. See SPEC.md, TESTING.md and RELEASING.md.

License: MIT.

관련 플러그인