DeepSeek Harness
DeepSeek Harness (dsh) is an open-source agent harness from DeepSeek AI built on an everything-is-a-plugin architecture. The @youdotcom-oss/dsh-plugin package wires You.com into it at three levels in one install: You.com becomes the backend for dsh’s native web_search tool, four You.com MCP servers mount, and three bundled skills teach the model when to reach for each tool.
DeepSeek Harness is in developer preview. Compatibility-breaking changes are expected across both dsh and this plugin before general availability.
Install the Plugin
Add the Plugin to a Profile
Run the dsh CLI’s plugin command against the web profile:
The first run initializes the profile if needed, installs the package, and appends it to the profile’s bundle list.
Set Your API Key (Optional)
Keyless web_search and the you-discover and you-docs MCP tools work with no credentials. The rest reads YDC_API_KEY from the launch environment. Set it before starting dsh:
Get a key at you.com/platform.
What the Plugin Installs
Web search. web_search answers through You.com—keyless out of the box, higher limits with an API key. web_fetch keeps DeepSeek Harness’s built-in HTTP provider by default; opting into You.com’s extracted page content needs an API key (see Configuration).
MCP servers.
Skills.
Keyless Tier
With no YDC_API_KEY in the environment, web_search runs through You.com’s free profile: 100 queries per day, no account. The you-discover and you-docs MCP servers work keyless too. You.com-backed web_fetch and the research and finance servers need a key.
Configuration
Every field defaults when omitted, so the shipped patch needs no config. To change one, add a config block to the youcom-skills row in your profile’s cordis.patch.yml. Fresh profiles ship that file as an empty [] list, so replace it with the row:
To opt web_fetch into You.com as well, set fetchProvider: youcom on the web row of your own patch. Patch config is a whole-row replacement, so restate searchProvider: youcom on the same row.
Example Prompts
Keep the Plugin Updated
dsh plugin forwards to pnpm in the profile directory, so the standard verbs work:
Remove it with dsh plugin --profile web remove @youdotcom-oss/dsh-plugin.
A running profile keeps the bundle set from startup, so restart the profile after adding, removing, or updating a bundle. Ordinary edits to the profile’s cordis.patch.yml hot-reload without a restart.
Troubleshooting
dsh: command not found
Install Node.js, then run npx @deepseek-ai/dsh web to start the harness without a global install. See the DeepSeek Harness README for the full setup.
dsh plugin says pnpm: command not found
The plugin subcommand forwards to pnpm, which must be on PATH. Node.js ships Corepack. Run corepack enable to activate it, or install pnpm directly, then retry the install.
Plugin install fails on peer dependencies
The plugin’s peer-dep ranges track dsh’s prerelease line. Update dsh and retry the install, or pin the plugin version to match your build.
Keyless search stopped returning results
The free profile carries a daily request cap. Set YDC_API_KEY in the launch environment, or add apiKey to the plugin config, to lift the cap.
Research or finance tools are missing
you-research and you-finance send Authorization: Bearer $YDC_API_KEY. Without a key the servers still mount but expose zero tools rather than blocking the rest of the profile. Set the key and restart dsh.
Skills don't appear
Confirm the plugin is in the profile’s bundle list with dsh web --dump-config, which shows the @youdotcom-oss/dsh-plugin layer. Then restart dsh.