← 返回列表
未验证
为智能体接入 You.com 搜索与网页抓取能力
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/16 · 已提供中文文档
You.com 搜索 + 抓取提供程序插件,用于 DeepSeek Harness (dsh),外加一个面向研究的 agent 预设
综合分
30
GitHub 分
30
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add youdotcom-oss/dsh-plugin-youcom该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-web用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-plugin-youcom
一个用于 DeepSeek Harness(dsh)的 You.com 搜索 + 抓取提供程序插件。
dsh-plugin-youcom 是一个 Cordis 插件,向 dsh web 接缝(ctx.web)注册一个 WebSearchProvider(POST /v1/search)和一个 WebFetchProvider(POST /v1/contents)。
安装
第三方提供程序以树外插件的形式发布,通过 dsh-plugin GitHub 主题被发现。将此包添加到某个 profile:
dsh plugin --profile add @youdotcom-oss/dsh-plugin-youcom
dsh plugin 会在 profile 目录中转发给 pnpm,因此 pnpm 必须在你的 PATH 上。之后重启该 profile,以便新的 bundle 层被组合进插件栈:
dsh --profile
或者直接在 cordis.patch.yml 中挂载它。此包附带了一个(见 cordis.patch.yml),它会将下面这一行插入到现有的 dsh-web 组合中:
- id: youcom
name: '@youdotcom-oss/dsh-plugin-youcom'
config:
apiKey: !!js process.env.YDC_API_KEY
name 周围的引号是必需的。普通的 YAML 标量不能以 @ 开头。
设置 YDC_API_KEY(可在 you.com/platform/api-keys 获取),或者直接在配置中传入 apiKey。
配置
| 字段 | 默认值 | 含义 |
|---|---|---|
| apiKey | $YDC_API_KEY | You.com API 密钥。为空或缺失会使两个提供程序均不可用 |
| baseURL | https://ydc-index.io | 由 /v1/search 和 /v1/contents 共享的端点基址。必须是 http(s),并且其携带的任何路径前缀(代理挂载点)都会被保留 |
| numResults | (未设置) | 当请求未携带 maxResults 时的默认搜索结果数量 |
| includeNews | true | 将 results.news[] 与 results.web[] 一起合并到搜索来源中 |
在挂载了多个提供程序时选择此提供程序
ctx.web 仅在某个提供程序是唯一可用的情况下才会自动选择它。将此提供程序与另一个搜索或抓取提供程序叠加使用时,需要在宿主机的 web 行上显式固定:
- id: web
config:
searchProvider: youcom
fetchProvider: youcom
已知限制
- 成功时 fetch 的 statusCode 始终为 200。 /v1/contents 在服务端进行检索和提取,并且不报告源站 HTTP 状态,因此一个在源站返回 404 但仍产生可提取内容的页面,在这里与干净的 200 无法区分。原始 HTTP 抓取提供程序会报告真实的状态码。
- fetch 的 truncated 始终为 false。 /v1/contents 未记录任何截断信号,因此这可能会少报,但绝不会多报。
- 搜索结果不携带生成的答案。 /v1/search 仅返回来源,因此 content 会被省略而不是凭空编造,并且没有摘要片段的来源会保持无摘要片段。
- 搜索结果字段在传输层使用 snake_case(page_age、favicon_url)。此包直接解析原始响应,中间没有 SDK 层,因此 src/types.ts 与传输层的大小写形式直接对应。以 pageAge 为键的映射器会静默丢弃每一个 publishedAt。
- 错误响应体有五种形态,具体取决于端点以及是哪一层拒绝了请求。网关会在请求到达应用之前以 {"message": "..."} 拒绝无效密钥,而应用本身则返回 {"detail": "..."}、{"error": "..."}、{"detail": [{"msg": "..."}]} 或 {"errors": [{"title": "..."}]}。src/error-message.ts 会检查所有这些形态。
- DeepSeek Harness 处于开发者预览阶段,并记录了各版本之间破坏兼容性的变更。此包的 peer 依赖相应地跟踪其预发布版本线。
开发
npm install
npm run build # tsc -> lib/
npm run typecheck
npm test # vitest,但请先阅读下面的警告
当你的环境中设置了 YDC_API_KEY 时,npm test 会访问实时的 You.com API。 tests/live-smoke.test.ts 仅在密钥缺失时跳过,因此在已配置的机器上直接运行 npm test 会消耗真实配额。若要单独运行离线测试套件:
env -u YDC_API_KEY npx vitest run
许可证
MIT同作者(youdotcom-oss)的其他插件
扫码进群