DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

faettt /

dsh-web-search-tavily

Topic repository only

Tavily web search provider for DeepSeek Harness (DSH): provider + tavily_search tool + settings card with enable switch

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@871ec341

dsh-web-search-tavily

将 Tavily 配置为 DeepSeek Harness(DSH)网页搜索提供方的持久化插件。注册搜索提供方 tavily(接管 web_search 路由)、tavily_search 模型工具,并在「设置 → 插件 → 插件配置」提供配置卡片,可随时开关 Tavily、切换回 DeepSeek 默认搜索通道。

特性

  • 搜索提供方:注册 tavily provider,web_search 工具整体走 Tavily(answer + 来源 + 可选图片)。
  • 模型工具:tavily_search 工具,模型可显式调用。
  • 设置卡片:设置 → 插件 → 插件配置 →「Tavily 搜索」卡片,可视化配置全部选项。
  • 一键开关:关闭后 web_search 自动回退 DeepSeek 默认搜索通道,无需改动组合配置。
  • 凭据安全:API Key 走 DSH 凭据服务(环境变量 / ~/.dsh/.credentials.yaml),配置端不落盘密钥。
  • 重启持久:配置存于 ~/.dsh/settings.yaml,随 profile 持久化。

安装

  1. 将本包加入 profile 依赖(~/.dsh/profiles/web/package.json):

    {
      "dependencies": {
        "dsh-web-search-tavily": "github:faettt/dsh-web-search-tavily"
      }
    }
    

    然后 pnpm install。

  2. 在 cordis.patch.yml 追加两段(接管搜索路由 + 加载插件):

    - insert:
        - id: web-search-tavily
          name: 'dsh-web-search-tavily'
          config:
            apiKeyEnv: TAVILY_API_KEY
    
    - id: web
      config:
        searchProvider: tavily
    
  3. 配置 API Key(二选一):

    • 环境变量:export TAVILY_API_KEY=tvly-xxxx(加到 ~/.zshrc)
    • 或直接在设置卡片「API Key」字段填写保存
  4. 重启 DSH。

配置项

字段 默认 说明
enabled true 开关;关闭后搜索走默认通道
apiKeyEnv TAVILY_API_KEY 凭据引用名(环境变量/凭据服务)
apiKey — 字面 API Key(secret,不走设置文档)
searchDepth basic basic / advanced
maxResults 5 每次搜索最多来源条数(1-20)
includeAnswer true 是否生成总结 answer
includeImages false 是否附带图片结果
topic general general / news / finance
days — 仅搜索最近 N 天内容
registerTool true 是否注册 tavily_search 模型工具

架构说明

  • Host 半部(lib/index.js):Tavily provider(ctx.web.registerSearchProvider)、tavily_search 工具、设置命名空间 web-search-tavily(installSettingsSection)、配置端点 GET/POST /api/tavily-settings(webServer 路由,host 直读写 settings,避开 wire 层命名空间暴露白名单)。
  • Client 半部(lib/client.js):设置卡片(settings.plugin.item 槽位),通过同源 fetch 读写配置端点。
  • 开关原理:enabled=false 时 provider available() 返回 false,并将 web.searchProviderId 置为 undefined——dsh-web 的选择逻辑自动落到唯一可用通道(DeepSeek 默认搜索)。

开发

# 本地验证 host 半部
node --input-type=module -e 'import("dsh-web-search-tavily").then(m => console.log(Object.keys(m)))'

# client bundle 为手写 ModuleLoader 格式,修改后同步两份:
cp lib/client.js ../../node_modules/dsh-web-search-tavily/lib/client.js

修改 host 半部后需重启 DSH;修改 client bundle 后由 HMR 自动生效(刷新浏览器即可)。

License

MIT

—/ 5

No ratings yet

Manifest verification required

Commit 871ec341b071

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout