Introduction

DeepSeek Harness (dsh) adopts a plugin-based architecture and extends its capabilities by registering Providers. For agent development that requires online access, search and web fetching are fundamental capabilities. The dsh-plugin-youcom plugin registers You.com’s search and fetch services to dsh’s web interface through the Cordis mechanism, enabling Agents to directly use You.com’s indexing and content extraction capabilities.

Plugin Overview

  • Name: dsh-plugin-youcom
  • Maintainer: youdotcom-oss
  • Description: You.com search and fetch Provider plugin
  • Category: Web tools
  • License: MIT

Core Features

This plugin registers two Providers, both exposed through ctx.web:

  1. WebSearchProvider: Provides the POST /v1/search endpoint and returns You.com search results.
  2. WebFetchProvider: Provides the POST /v1/contents endpoint for fetching web page content.

Installation and Configuration

Third-party plugins are discovered through the dsh plugin command. A profile must be specified during installation.

  1. Install the plugin
    Run the following command in the target profile directory:
    dsh plugin --profile <your-profile> add @youdotcom-oss/dsh-plugin-youcom
This command invokes pnpm from the profile. After installation, restart the profile so that the new plugin layer takes effect:
    dsh --profile <your-profile>
  1. Configure the mount (optional)
    You can also mount it directly in cordis.patch.yml. The package includes a built-in patch file that inserts the following configuration:
    - id: youcom
      name: '@youdotcom-oss/dsh-plugin-youcom'
      config:
        apiKey: !!js process.env.YDC_API_KEY
Note that the quotes around the `name` value are required; YAML scalars cannot start with `@`.
  1. Configuration options
    After installation, configure the API Key. The Key can be set through the YDC_API_KEY environment variable or passed directly in the configuration.

    | Field | Default | Description |
    | apiKey | $YDC_API_KEY | You.com API Key. If empty or missing, both Providers are unavailable |
    | baseURL | https://ydc-index.io | Base URL for /v1/search and /v1/contents; must be http(s) |
    | numResults | (unspecified) | Default number of results when the request does not include maxResults |
    | includeNews | true | Merges news results into search sources |

Typical Usage

When multiple search or fetch Providers are mounted in a profile, ctx.web does not select one automatically; you must specify it explicitly in the host configuration:

- id: web
  config:
    searchProvider: youcom
    fetchProvider: youcom

Known Limitations

Be aware of the following limitations before use:

  1. Fetch status code is always 200: /v1/contents performs server-side extraction only and does not return the original HTTP status code. Therefore, if a page returns 404 on the origin server but its content can still be extracted, this endpoint may still show 200, making it impossible to distinguish the cases.
  2. Fetch truncation flag is always false: The plugin does not detect truncation signals, so truncation may be underreported but never overreported.
  3. Search results contain no generated answer: /v1/search returns sources only, generates no summary, and has no content field.
  4. Error bodies have five forms: Depending on the endpoint and rejection layer, the error response body may be {"message": "..."}, {"detail": "..."}, {"error": "..."}, {"detail": [{"msg": "..."}]}, or {"errors": [{"title": "..."}]}.
  5. Developer preview: DeepSeek Harness is in the developer preview stage, and breaking changes may occur between versions. This plugin’s peer dependencies track prerelease versions.

Use Cases

  • Suitable for Agent developers who need to integrate You.com as a search source in the DeepSeek Harness environment.
  • The plugin runs under the permissions of the current dsh process; review the source code and license before installation.

Conclusion

This plugin integrates You.com’s capabilities into the DSH ecosystem through standard interfaces, providing agents with basic online search capabilities. For complete documentation and source code, refer to the links below.