This plugin makes DeepSeek Harness's built-in web_search tool use
Parallel Search. It does
not add a new tool or provide web_fetch.
It currently supports @deepseek-ai/dsh@0.1.0-rc.6 on Node.js ^22.19.0 || >=24.0.0.
DeepSeek Harness is still a developer preview, so later versions may
need a plugin update.
You will need:
- pnpm 10 or newer;
- a Parallel API key; and
- a model provider already configured in DeepSeek Harness.
You do not need to install dsh globally. The commands below run the supported
version through npx.
First, make your Parallel API key available in the terminal where you will run Harness:
export PARALLEL_API_KEY="your-key"Then install the plugin into the web profile:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 \
plugin --profile web add \
--allow-build=@parallel-web/dsh-web-search-parallel \
"github:parallel-web/dsh-web-search-parallel#main"The --allow-build flag lets pnpm build this plugin and nothing else. For a
reproducible install, replace main with a full commit SHA.
Stop any running Harness process, then start it again:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 webInspect the profile:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 \
--profile web --dump-config | \
grep -E 'searchProvider: parallel|web-search-parallel'You should see searchProvider: parallel and a web-search-parallel entry.
Seeing the built-in web-search-deepseek plugin as well is normal—the
searchProvider setting decides which provider handles searches.
For direct request evidence, start Harness with information-level Parallel logging:
PARALLEL_LOG=info npx --yes @deepseek-ai/dsh@0.1.0-rc.6 webAfter a web_search call, the terminal should show a successful request to
https://api.parallel.ai/v1/search. Review logs before sharing them.
The defaults work without extra configuration. If you want to tune the search,
edit ~/.dsh/profiles/web/cordis.patch.yml:
- id: web-search-parallel
config:
mode: turbo
maxCharsTotal: 12000
maxCharsPerResult: 2000| Setting | Default | What it controls |
|---|---|---|
mode |
Parallel's advanced default |
turbo, basic, or advanced search |
maxCharsTotal |
25000 |
Total excerpt characters returned to Harness |
maxCharsPerResult |
no limit | Excerpt characters kept for each result |
Keep PARALLEL_API_KEY in the environment rather than putting it in this file,
which is stored as readable text.
dshis not found: use thenpx @deepseek-ai/dshcommands above.- Port 3080 is already in use: stop the older Harness process before starting another one.
- The provider is still
deepseek-official: restart Harness and check whether yourcordis.patch.ymlcontains a latersearchProvideroverride. - pnpm reports missing DSH peer dependencies: this warning is expected for this Git install. Harness supplies those packages from the profile runtime.
- Harness answers without searching: the configured model decides when to
call
web_search. Try a prompt that clearly requires current information. - The provider is unavailable: confirm
PARALLEL_API_KEYis set in the same terminal that starts Harness.
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 \
plugin --profile web remove @parallel-web/dsh-web-search-parallelRestart Harness after removing the plugin.
See CONTRIBUTING.md for local development, tests, and the packed-artifact review workflow. Report vulnerabilities according to SECURITY.md.
For help, contact support@parallel.ai.
MIT licensed.