DDDMUC/dsh-free-search7

dsh-free-search

Free web search for DeepSeek Harness: 8 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa keyless) + platform search + web_fetch, with web settings UI.

AI Analysis

核心用途是为 DSH 智能体提供免费的联网搜索与网页内容抓取能力。适合需要实时检索网络信息的任务。用户可通过 Web 设置界面直观切换引擎和配置 API 密钥。

Package
dsh-free-search
Version
0.4.2
License
MIT
Last updated
Aug 16, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DDDMUC/dsh-free-search

使用

网页设置(推荐)

安装后,打开 设置 → 插件 → 可配置 标签页 → Free Search 卡片(官方设置页,无需 dsh-web-ui):

  • Search engine:下拉框切换引擎,保存即生效
  • API keys:为 Exa / Perplexity / DeepSeek 填写 key(密码框,保存后只显示"已配置")

命令行 / 配置文件

配置存在 ~/.dsh/settings.yaml

free-search:
  provider: bing              # ddg / ddg-lite / bing / searxng / exa / perplexity / deepseek-official
  bingMarket: zh-CN           # Bing 市场
  region: cn-zh               # DuckDuckGo 区域(可选)
  searxngInstances:           # 自定义 SearXNG 实例(可选)
    - https://your-instance.example
  exaApiKey: ...              # 或通过设置页填写
  perplexityApiKey: ...
  deepseekApiKey: ...

让 agent 测试所有引擎

对 agent 说"测试一下所有搜索引擎",它会调用 free_search_test 工具,逐个测试并报告:

Search engine test:
- ddg: FAIL - DuckDuckGo is rate-limited right now (anti-bot challenge, usually temporary) - Bing works
- bing: OK (2 results, e.g. "DeepSeek Harness developer preview...")
- exa: FAIL - EXA_API_KEY not configured

抓取网页内容(web_fetch)

搜索到 URL 后,可以让 agent 读取网页全文(如"打开第一个链接看看内容")。web_fetch 工具已启用(官方 dsh-web-fetch-http provider):

  • 自动跟随重定向、解码正文(HTML 转文本)
  • 支持超时和大小限制
  • ⚠️ 注意:web_fetch 无 SSRF 防护,agent 理论上可访问内网地址——按需使用

平台搜索(platform_search)

让 agent 搜特定平台,如"在 GitHub 上搜 deepseek harness"、"看看 B站有什么相关视频"、"V2EX 上关于 dsh 的讨论"。platform_search 工具支持:

平台用途
githubGitHub 仓库搜索(API,免费无 key)
v2exV2EX 热门/相关主题
bilibiliB站视频/内容搜索(公开接口)

全部走公开 API,零外部依赖,开箱即用。

命令行 / 配置文件

配置存在 ~/.dsh/settings.yaml

free-search:
  provider: bing              # ddg / ddg-lite / bing / searxng / exa / perplexity / deepseek-official
  bingMarket: zh-CN           # Bing 市场
  region: cn-zh               # DuckDuckGo 区域(可选)
  searxngInstances:           # 自定义 SearXNG 实例(可选)
    - https://your-instance.example
  exaApiKey: ...              # 或通过设置页填写
  perplexityApiKey: ...
  deepseekApiKey: ...