前言¶
DeepSeek Harness(dsh)采用插件化架构,通过注册 Provider 来扩展能力。对于需要联网能力的智能体开发来说,搜索与网页抓取是基础能力。dsh-plugin-youcom 插件通过 Cordis 机制,向 dsh 的 web 接口注册了 You.com 的搜索与抓取服务,使 Agent 能够直接使用 You.com 的索引与内容提取能力。
插件概览¶
- 名称: dsh-plugin-youcom
- 维护者: youdotcom-oss
- 简介: You.com 搜索与抓取 Provider 插件
- 分类: 联网工具
- 许可证: MIT
核心功能¶
该插件注册了两个 Provider,均通过 ctx.web 暴露:
- WebSearchProvider: 提供
POST /v1/search接口,返回 You.com 的搜索结果。 - WebFetchProvider: 提供
POST /v1/contents接口,用于抓取网页内容。
安装与配置¶
第三方插件通过 dsh plugin 命令发现。安装时需指定 profile。
- 安装插件
在目标 profile 目录下执行:
dsh plugin --profile <your-profile> add @youdotcom-oss/dsh-plugin-youcom
此命令会调用 profile 中的 pnpm,安装后需重启 profile 以使新插件层生效:
dsh --profile <your-profile>
- 配置挂载(可选)
也可以直接在cordis.patch.yml中挂载。该包内置了一个 patch 文件,会插入以下配置:
- id: youcom
name: '@youdotcom-oss/dsh-plugin-youcom'
config:
apiKey: !!js process.env.YDC_API_KEY
注意 `name` 前的引号是必须的,YAML 标量不能以 `@` 开头。
-
配置项
安装后需配置 API Key。Key 可以通过环境变量YDC_API_KEY设置,或直接在配置中传入。字段 默认值 说明 apiKey$YDC_API_KEYYou.com API Key。为空或缺失时,两个 Provider 均不可用 baseURLhttps://ydc-index.io/v1/search和/v1/contents的基础地址,必须为http(s)numResults(未设置) 当请求未携带 maxResults时的默认结果数量includeNewstrue将新闻结果合并到搜索源中
典型用法¶
当 profile 中挂载了多个搜索或抓取 Provider 时,ctx.web 不会自动选择,需要在宿主配置中显式指定:
- id: web
config:
searchProvider: youcom
fetchProvider: youcom
已知限制¶
使用前需了解以下限制:
- 抓取状态码恒为 200:
/v1/contents仅进行服务端提取,不返回原始 HTTP 状态码。因此,页面在源站 404 但仍能提取内容时,这里也会显示 200,无法区分。 - 抓取截断标志恒为 false: 插件未检测截断信号,因此可能低估截断情况,但不会高估。
- 搜索结果无生成答案:
/v1/search仅返回来源,不生成摘要,没有content字段。 - 错误体有五种形态: 根据端点和拒绝层不同,错误返回体可能为
{"message": "..."},{"detail": "..."},{"error": "..."},{"detail": [{"msg": "..."}]}, 或{"errors": [{"title": "..."}]}。 - 开发者预览: DeepSeek Harness 处于开发者预览阶段,版本间可能存在破坏性变更。此插件的 peer 依赖已跟踪预发布版本。
适用场景¶
- 适合需要在 DeepSeek Harness 环境中集成 You.com 作为搜索源的 Agent 开发者。
- 插件运行在当前 dsh 进程的权限下,安装前应检查源码与许可证。
结尾¶
该插件通过标准接口将 You.com 的能力接入 DSH 生态,为智能体提供了基础的联网检索能力。完整文档与源码可参考下方链接。