Replies: 5 comments 1 reply
|
same! |
|
我也遇到了,选了不同的llm provider 但是web search的供应商默认用deepseek官方的,并且key先用环境变量,其次读.dsh/ 没有跟随provider 修改web search的端点 |
|
web_search 写死官方端点,自配网关用户必现认证失败——工具端点硬编码问题,应该走 provider 配置而不是写死。 自配网关的兼容坑(含端点/认证)我们第 2 章和 FAQ 有整理:https://github.com/Electricitysheep/dsh-handbook/blob/main/docs/02-quickstart.md |
|
这就是 #779 / #408 那条缝:聊天可以走网关或其它模型,默认 web_search 仍打官方 DeepSeek,没官方 key 就 401。 dsh-plugin-search 只做简化:
安装: 然后重启 dsh。不是搜索全家桶。 |
|
是的,问题很明确,建议dsh后续版本中,用户自配网关后,通过配置,把url同步到websearch工具对应的环境变量。避免这个问题。 |
Uh oh!
There was an error while loading. Please reload this page.
web_search 固定请求官方端点,导致自配网关的用户搜索必现认证失败
Title(建议)
web_searchalways hits the hardcodedapi.deepseek.com/anthropic/v1even when the chat endpoint is overridden (llm-deepseek.baseURL), causing "Authentication Fails, Your api key is invalid" for users on a compatible gateway环境 Environment
0.1.0-rc.6(@deepseek-ai/dsh)dsh web(GUI)现象 Symptom
聊天一切正常,但每次调用
web_search工具都会在界面上返回红色错误:(
****eHfw是服务端把请求中携带的DEEPSEEK_API_KEY打码后的尾号。)该错误在所有会话中 100% 复现,且
web_search从未成功过一次。配置 Config(关键点)
~/.dsh/settings.yaml:~/.dsh/.credentials.yaml:根因分析 Root Cause
聊天链路
dsh-llm-deepseek的 baseURL 来自llm-deepseek.baseURL配置(或$DEEPSEEK_BASE_URL),用户可自由指向任意 OpenAI 兼容网关(本例为 opencode zen)。但搜索链路
dsh-web-search-deepseek的默认端点写死为https://api.deepseek.com/anthropic/v1(源码见下),不复用聊天端点的配置,也不复用$DEEPSEEK_BASE_URL:只有显式设置
web-search-deepseek.baseURL配置段或DEEPSEEK_SEARCH_BASE_URL环境变量才会改变。两条链路使用同一个
DEEPSEEK_API_KEY凭据。当用户的 key 只对自定义网关有效(而非官方平台 key)时:聊天正常,而web_search把同一个 key 发往官方端点 → 官方返回 401:DSH 把该消息原样透传,界面显示为红色
Error:。复现步骤 To Reproduce
settings.yaml配置llm-deepseek.baseURL指向一个非官方的 OpenAI/Anthropic 兼容网关,并在~/.dsh/.credentials.yaml存放仅对该网关有效的 key(如 opencode zen key,67 位混合字母数字,而官方 key 为sk-+ 32 位小写十六进制)。web_search。验证证据 Evidence
curl https://api.deepseek.com/user/balance(携带该 key)→ 401,错误文案与界面上完全一致。curl https://opencode.ai/zen/go/v1/models(携带该 key)→ 200,key 有效。web_search_20250305工具请求发往https://opencode.ai/zen/go/v1/messages→ 200,返回web_search_tool_result与 10 条结果 → 证明把搜索端点指到同一网关即可正常工作。建议修复 Suggestion
web_search默认端点继承/回退到聊天配置(llm-deepseek.baseURL/$DEEPSEEK_BASE_URL),或至少在 key 与端点不匹配时给出可读的配置提示(如报错中提示DEEPSEEK_SEARCH_BASE_URL/web-search-deepseek.baseURL)。临时 Workaround
在
~/.dsh/settings.yaml增加(已验证可行):或设置环境变量:
DEEPSEEK_SEARCH_BASE_URL=https://opencode.ai/zen/go/v1All reactions