> For clean Markdown of any page, append `.md` to the page URL.
> Documentation index: https://you.com/docs/llms.txt (section indexes: append `/llms.txt` to any section URL).
> Search these docs: Docs MCP at https://you.com/docs/_mcp/server (`searchDocs`, no API key).
> Call live You.com APIs: Product MCP at https://api.you.com/mcp (keyless `?profile=free` exposes `you-search` and `you-discover`. Research and finance use `/mcp/research`, `/mcp/finance`, or `?tools=` on `/mcp`). To pick an API or integration path, call `you-discover` on that server instead of guessing.
> OpenAPI: https://you.com/docs/openapi.json—auth header `X-API-Key`, env `YDC_API_KEY`.

# DeepSeek Harness

[DeepSeek Harness](https://github.com/deepseek-ai/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`](https://www.npmjs.com/package/@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.

> **Warning**
>
> 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:

```bash
dsh plugin --profile web add @youdotcom-oss/dsh-plugin
```

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:

```bash
export YDC_API_KEY="<YDC_API_KEY>"
```

Get a key at [you.com/platform](https://you.com/platform).

## Start dsh and Try It

```bash
dsh web
```

```text
Search the web for the latest DeepSeek model releases and summarize what changed.
```

DeepSeek Harness lists the bundled skills in the session's skill catalog. When a task matches one, the model loads its full instructions with the built-in `skill` tool, then the native `web_search` tool answers through You.com with typed, citable sources.

## 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](#configuration)).

**MCP servers.**

| Server         | Endpoint                                   | Auth          |
| -------------- | ------------------------------------------ | ------------- |
| `you-discover` | `https://api.you.com/mcp?profile=discover` | None          |
| `you-finance`  | `https://api.you.com/mcp/finance`          | `YDC_API_KEY` |
| `you-research` | `https://api.you.com/mcp/research`         | `YDC_API_KEY` |
| `you-docs`     | `https://you.com/docs/_mcp/server`         | None          |

**Skills.**

| Skill          | Use it for                                                                      |
| -------------- | ------------------------------------------------------------------------------- |
| `you-research` | Choosing between agent-led searching and a single cited `you-research` call     |
| `you-finance`  | Finance questions through the You.com finance research MCP tools                |
| `you-discover` | Finding the right You.com API, MCP server, or SDK for a project you're building |

## 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:

```yaml
- id: youcom-skills
  config:
    apiKey: sk-…
    numResults: 10
    includeNews: false
```

| Field           | Type    | Default                                | Meaning                                                                                                                                                                   |
| --------------- | ------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `apiKey`        | string  | `$YDC_API_KEY`                         | API key. An explicit value here takes precedence over `YDC_API_KEY` in the launch environment. Empty enables the keyless search fallback and disables fetch.              |
| `baseURL`       | string  | `https://ydc-index.io`                 | Base endpoint for `/v1/search` and `/v1/contents`. A path prefix (for a proxy) is preserved.                                                                              |
| `freeSearchURL` | string  | `https://api.you.com/mcp?profile=free` | Keyless MCP endpoint used when `apiKey` is empty. No fetch equivalent exists.                                                                                             |
| `numResults`    | number  | server default                         | Default result count when a request carries no `maxResults`.                                                                                                              |
| `includeNews`   | boolean | `true`                                 | Merge news results into search sources alongside web results.                                                                                                             |
| `knowledge`     | string  | off                                    | Request licensed knowledge results alongside web and news, surfaced as the search result's answer content with data-provider credits appended. Only `"core"` is accepted. |

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

```text
Use you-research to compare WebAssembly and JavaScript for performance-critical browser apps. Cite sources.
```

```text
Search for the latest MCP specification changes, then fetch the spec page and summarize the authorization section.
```

```text
Use you-finance to summarize NVIDIA's most recent quarterly results.
```

```text
Use you-discover to find the best way to add You.com search to a TypeScript agent built on the Vercel AI SDK.
```

## Keep the Plugin Updated

`dsh plugin` forwards to pnpm in the profile directory, so the standard verbs work:

```bash
dsh plugin --profile web update @youdotcom-oss/dsh-plugin
```

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](https://github.com/deepseek-ai/deepseek-harness) 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.

## Resources

#### [Agent Skills](/docs/build-with-agents/skills)

What each You.com skill does and how to install skills in other agents.

#### [MCP Server Reference](/docs/build-with-agents/mcp-server)

Endpoints, authentication, and the full tool reference.