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:
- WebSearchProvider: Provides the
POST /v1/searchendpoint and returns You.com search results. - WebFetchProvider: Provides the
POST /v1/contentsendpoint 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.
- 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>
- Configure the mount (optional)
You can also mount it directly incordis.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 `@`.
-
Configuration options
After installation, configure the API Key. The Key can be set through theYDC_API_KEYenvironment 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/searchand/v1/contents; must behttp(s)|
|numResults| (unspecified) | Default number of results when the request does not includemaxResults|
|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:
- Fetch status code is always 200:
/v1/contentsperforms 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. - Fetch truncation flag is always false: The plugin does not detect truncation signals, so truncation may be underreported but never overreported.
- Search results contain no generated answer:
/v1/searchreturns sources only, generates no summary, and has nocontentfield. - 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": "..."}]}. - 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.