dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
DeepSeek Harness (DSH) 的 Tavily 网页搜索插件。
通过 Tavily Search API 直连提供 web-search-tavily 网页搜索工具,不消耗任何 LLM token——搜索费用只走 Tavily API 额度,Tavily 本身有免费额度。
api.tavily.com/search,无模型参与,搜索不烧 tokentavily-official),工具名为 web-search-tavily需要 DSH 支持的环境(官方要求 Node.js 22.19+)。在 DSH profile 里执行:
dsh plugin --profile web add dsh-tavily-search
装完重启 dsh web 即可使用。dsh plugin 是 profile 目录里的 pnpm 转发层;若首次安装提示 ERR_PNPM_IGNORED_BUILDS,按提示在 profile 的 pnpm-workspace.yaml 的 allowBuilds 里加入相应依赖后重试。
在 Tavily 官网 注册获取自己的 API key,然后任选一种方式提供:
TAVILY_API_KEY 存进 DSH 的凭据存储;dsh web 前导出 TAVILY_API_KEY;apiKey 字段。插件默认配置(apiKeyEnv: TAVILY_API_KEY、searchDepth: basic、includeAnswer: true)一般够用。需要调整时,在 profile 的 cordis.patch.yml 里按相同的行 id 覆盖:
# ~/.dsh/profiles/<name>/cordis.patch.yml
- id: web-search-tavily
name: dsh-tavily-search
config:
apiKeyEnv: TAVILY_API_KEY # 环境变量名,默认 TAVILY_API_KEY
searchDepth: advanced # basic | advanced,advanced 更贵更慢但更全
includeAnswer: true # 是否让 Tavily 生成自然语言回答
注意:按 id 覆盖时
config是整段替换(不是深合并),要改的键都要写上。
想让搜索默认走 Tavily、并停用官方 DeepSeek 搜索(避免搜索消耗 LLM token),在 profile 的 cordis.patch.yml 追加:
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: tavily-official
- id: web-search-deepseek
name: '@deepseek-ai/dsh-web-search-deepseek'
disabled: true
dsh web
重启后对话里就能用 include:web-search-tavily 工具了。
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
apiKey |
string (secret) | — | 直接写 key(不推荐,会落盘) |
apiKeyEnv |
string (credential-ref) | TAVILY_API_KEY |
从凭据服务/环境读取 key 时用的名字 |
baseURL |
string | https://api.tavily.com |
Tavily API 地址,自建中转时可覆盖 |
searchDepth |
string | basic |
basic | advanced |
includeAnswer |
boolean | true |
是否返回 Tavily 生成的自然语言回答 |
dsh --profile web --dump-config # 应出现 id: web-search-tavily 这一层
Q: 搜索报 WEB_PROVIDER_CREDENTIAL_MISSING?
A: 没找到 key。确认 TAVILY_API_KEY 已通过凭据服务或环境变量提供,或检查 apiKeyEnv 拼写。
Q: 和官方 DeepSeek 搜索有什么区别? A: 官方搜索走 DeepSeek 模型调用(每次搜索消耗 LLM token);本插件直连 Tavily,只花 Tavily 额度。
Q: API key 会被共享吗? A: 不会。key 只存在于你自己的 DSH 凭据存储/环境变量里,插件代码中没有任何 key,也不会上传任何 key。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。