dsh-web-search-doubao:豆包联网搜索插件

前言

DeepSeek Harness(DSH)的设计理念是「一切皆插件」。当内置搜索提供方无法满足特定场景需求时,开发者需要接入外部 API。这个插件通过把字节跳动 feedcoop 的 global_search API 接入 DSH 的 ctx.web 能力接缝,为 DSH 增加了豆包的联网搜索能力。

插件介绍

这是一个树外 bundle 插件。它向 ctx.web 注册了一个 WebSearchProvider(id: doubao),并自带 cordis.patch.yml 层。安装后,它会自动挂载提供方并将默认搜索选择切到 doubao。插件零运行时依赖,不修改 harness 源码。

安装与启用

在 harness 仓库根目录执行以下命令:

dsh plugin --profile web add github:JayLi52/dsh-web-search-doubao

安装过程会自动把包链接进 profile、把 bundle 层加入 dsh.profile.bundles、挂载提供方并切换 searchProvider: doubao。装完即用,无需手改配置。

配置 Token

安装后需要提供 feedcoop Bearer token。推荐使用环境变量方式。

  1. 在 $DSH_HOME/.env(Windows 默认 C:\Users\<你>\.dsh\.env)中写入一行:
DOUBAO_SEARCH_API_KEY=<你的-token>
  1. 重启 dsh web(环境变量在启动时加载)。

之后对配置的修改(除 token 外)可以通过热重载生效。也可以在 profile 的 cordis.patch.yml 里内联 token,但改 env 需重启。

验证配置结果:

dsh --profile web --dump-config | grep -A3 web-search-doubao

配置项

字段 默认值 说明
apiKey '' Bearer token;为空时回退读取 $<apiKeyEnv>。两者皆空 → 提供方不可用
apiKeyEnv DOUBAO_SEARCH_API_KEY 存放 token 的环境变量名
baseURL https://open.feedcoopapi.com API 基址
docCount 10 请求未带 maxResults 时的默认 DocCount
maxSnippetLength 300 每条结果摘要长度上限

使用示例

在 Web UI 新会话里让模型调用 web_search 工具,搜索请求即会走豆包提供方。

如果怀疑搜索没走豆包,可以使用 --patch 覆盖层投毒 key 跑一次性任务:

dsh --profile headless --patch ./wrong-key-test.yml "用 web_search 搜 海淀必去景点"

常见问题

工具调用报 unknown tool "",模型只剩 thinking 死循环
这不是本插件的问题。harness 的 llm-deepseek 适配器对续包带空串 id/name 的流(DashScope 兼容模式等 OpenAI 兼容端点)有解析 bug,会把工具名覆盖成空串。修复见 deepseek-harness packages/llm/llm-deepseek/src/translate.ts(仅当非空才覆盖)。用 DeepSeek 官方端点不受影响。

Doubao API error: invalid_api_key
token 错或未设置。检查 $DSH_HOME/.env 或 patch 里的 apiKey,改 env 需重启。

WEB_PROVIDER_CONFIGURED_UNAVAILABLE
选了 doubao 但 available() 为 false,即没配 token。

WEB_PROVIDER_AMBIGUOUS
多个可用提供方且没配 searchProvider,显式指定 id。

改了 cordis.patch.yml 没生效
patch 是热重载的;若整层解析失败会保留旧树并打日志,检查 YAML 是否为顶层数组。

注意事项

分享给别人时,profile 目录本身不可移植(package.json 里是本机 link: 绝对路径),模型 key(DEEPSEEK_API_KEY 或 Models 页配置)由对方自备。

总结

该插件为 DeepSeek Harness 提供了豆包的联网搜索能力,安装简单,零依赖,适合需要增强 Web 搜索功能的 DSH 场景。

参考链接:
- GitHub 仓库
- 插件目录页

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜