解决DeepSeek Harness接入第三方API后的网页搜索问题
DeepSeek Harness在接入第三方API后的使用过程中会出现dsh联网搜索服务不可用的提示,在此记录一下对应的解决方案。
问题描述
DeepSeek Harness在接入第三方API后的使用过程中出现dsh联网搜索服务不可用的提示,尝试通过CC Swtich将Chat/Completions格式的第三方API转化为兼容Anthropic Messages协议,并在DSH的网页搜索插件中配置它,但仍然收到DeepSeek returned no web_search_tool_result blocks的错误信息。
问题原因
造成以上问题的根本原因是在DeepSeek Harness中大语言模型API与检索API是相互独立的,模型负责判断+读资料+写答案,搜索API 只负责把资料取回来。DSH的网页搜索需要接入一个兼容 Anthropic Messages 协议、且支持原生 web_search 的端点,而当前第三方API端点不是原生联网搜索的端点,即使通过CC Swtich转译也无法支持WebSearch(原生搜索)功能。
解决方法
一、接入官方API
- 打开 DSH 的
设置页。 - 依次进入
插件(Plugins)—官方(Official),进入网页搜索。 - 在输入框里填入DeepSeek API Key并保存。
使用此方法配置后DSH将使用配置的API进行web search,请随时注意deepseek api余额情况。
二、接入Tavily
Tavily 是一个专为 AI Agent 和 LLM 优化的搜索引擎 API。与 Google、Bing 等传统搜索 API 不同,Tavily 不仅仅是返回一串 URL 和摘要——它在一次 API 调用中完成搜索、抓取、过滤、提取和排序,直接把最相关的结构化内容喂给你的模型。在这里,一个简单的方式就是利用CC Switch的MCP 面板通过MCP搜索服务器将搜索与对话模型解耦。步骤如下。
- 在app.tavily.com进行注册,获取API
- 在CC Switch → MCP 面板 → 添加服务器
- 传输类型选择HTTP / Streamable HTTP(远程)
- URL填写为https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-你的key
- 把该 MCP server 同步到 Claude Code
- 配置完成后在 Claude Code 里输入
/mcp,能看到tavily-search / tavily-extract / tavily-crawl等工具即配置成功。
经过以上操作,在Claude Code 里就能用搜索工具,但DSH仍然无法使用,原因是DSH只接受Anthropic兼容Messages API,Tavily这类纯搜索API不能直接接入,需要加一层转换成Messages协议的代理。
把下面代码存成tavily-adapter.mjs:
1 | import http from 'node:http'; |
在powershell中输入
1 | $env:TAVILY_API_KEY="tvly-你的key" |
保持进程常驻的情况下将DSH的网页搜索的接口地址改成上面的地址http://127.0.0.1:8787即可。