dsh-web-search-exa
jakehemmerle/dsh-web-search-exa
dsh-web 接缝的 Exa 搜索提供方:web_search 工具把查询发送到 Exa 的 /search API,并把结果作为来源返回,适用于 dsh web、dsh-TUI 和 headless 运行。需要 Exa API key(EXA_API_KEY、凭据存储,或每次搜索时读取的 key 文件)。web_fetch 不变,没有界面。
安装
dsh plugin --profile web add github:jakehemmerle/dsh-web-search-exaREADME
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.
| Field | Default | Meaning |
|---|---|---|
apiKeyEnv | EXA_API_KEY | Key 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) |
baseURL | https://api.exa.ai | Exa API origin |
type | auto | Exa search type |
highlightChars | 600 | Highlight length per result |
timeoutMs | 30000 | Request 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.