前言¶
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 生態,爲智能體提供了基礎的聯網檢索能力。完整文檔與源碼可參考下方鏈接。