dsh-plugin-verified-search
f0909172434
Verified current-source search workflow for DeepSeek Harness
PROJECT TOPICS
PROJECT README
Tavily 搜索提供者插件(组合包 / bundle),为 DeepSeek Harness(dsh)注册 ctx.web 搜索能力,走 Tavily 原生 REST API(POST https://api.tavily.com/search)。
dsh.bundle manifest + cordis.patch.yml 层。tavily,并把 web 能力行的 searchProvider 钉扎为 tavily(可在 profile 的 cordis.patch.yml 中覆盖)。include_answer,结果映射为 web_search 工具的 answer 内容,同时返回带 title/snippet/publishedAt 的引用源列表。max_results 按工具层 maxResults 收紧,硬上限 20(Tavily 文档上限)。前提:已安装 dsh CLI 与 pnpm。
# 从 GitHub 安装(源码为纯 JS,无需构建授权)
dsh plugin --profile <name> add github:paul-yangmy/dsh-tavily-web-search
# 或本地开发链接
dsh plugin --profile <name> add /path/to/dsh-tavily-web-search
# 或 tarball / npm(若已发布)
dsh plugin --profile <name> add ./dsh-tavily-web-search-0.1.0.tgz
dsh plugin --profile <name> add dsh-tavily-web-search
安全建议:从 git 安装时锁定 commit(
github:paul-yangmy/dsh-tavily-web-search#<sha>),避免后续推送改变实际运行的代码。
API 密钥不放在包内,按以下优先级在每次搜索时解析(见 lib/index.js):
web-search-tavily.apiKey 字面量(不推荐,settings 非密钥库);web-search-tavily.apiKeyEnv(默认 TAVILY_API_KEY)→ 凭据服务 $DSH_HOME/.credentials.yaml → 启动环境变量。# 推荐:把密钥写入 dsh 凭据库(hot-reload,无需重启)
# $DSH_HOME/.credentials.yaml
TAVILY_API_KEY: tvly-<your-key>
settings.yaml(可选,默认值即如此):
web-search-tavily:
baseURL: https://api.tavily.com
安装后 web_search 工具即刻生效;若同时安装了其他搜索提供者插件,最后安装的层按行胜出。
peerDependencies 全部由 profile 内置的 @deepseek-ai/dsh-base 提供(dsh-web、dsh-credentials、dsh-settings、dsh-launch-environment、cordis);运行时唯一第三方依赖为 @deepseek-ai/schemastery。
# 仅验证模块可加载与导出结构(不联网、不需要密钥)
node test/smoke.mjs
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。