hiyms/dsh-web-search-provider ↗★ 0
dsh-web-search-provider
Native web search provider for the DeepSeek Harness web seam (ctx.web): one provider that speaks the OpenAI Responses API (web_search, with search / open_page / find_in_page actions) and the Anthropic-compatible Messages API (web_search_20250305), selected and verified against the provider the harness currently chats with
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-web-search-provider
为 DeepSeek Harness 的 web 能力接缝(ctx.web)提供原生网络搜索的 provider。一个 provider,两种线上协议:
- OpenAI Responses API ——
POST {baseURL}/responses,启用服务端web_search_2025_08_26工具(带版本号的拼写在会丢弃无名web_search的网关端点上也能执行,如 OpenCode Zen/Go;OpenAI 与 DeepSeek 官方文档均支持)。服务端自行执行完整浏览循环 ——search/open_page/find_in_page三种 action —— 适配器完整理解这三种 action,以及url_citation/web_search/search_result的来源注解词汇。 - Anthropic 兼容 Messages API ——
POST {baseURL}/messages,启用原生web_search_20250305服务端工具,按现有web-search-deepseek插件的方式映射web_search_tool_result块与引文摘录。
与 include:web-search-deepseek(仅限 DeepSeek,且不验证端点是否真的执行搜索)不同,本插件探测 harness 当前正在对话的 provider,用一次有界请求探测所选端点确实运行原生搜索,无响应时自动禁用 —— 除非使用者在配置中显式指定协议与端点。
选择逻辑
| 配置 | 行为 |
|---|---|
设置了 protocol | 搜索始终走该协议。baseURL、apiKeyEnv、model 依次回退到当前聊天路由(兼容时)、环境变量($DSH_WEB_SEARCH_RESPONSES_BASE_URL / $DSH_WEB_SEARCH_ANTHROPIC_BASE_URL)、DeepSeek 官方默认值。 |
未设置 protocol | 从默认模型选择(agent-default-model)与 llm-pi-ai 设置段探测当前聊天路由。路由自身协议可搜索(openai-responses / anthropic-messages)时走该协议;Chat-Completions 路由的线路上无法搜索,则探测其主机的已知可搜索兄弟协议:DeepSeek 官方(路由 deepseek / deepseek-official,或 api.deepseek.com 主机)依次探测 openai-responses 与 anthropic-messages;OpenAI 探测 openai-responses。未知网关不产生兄弟候选 —— 请显式配置 protocol。 |
| 无法解析任何候选 | provider 注册为不可用、不注册任何 tool、启动日志说明原因。 |
探测(默认 probe: true)通过 tool_choice 强制服务端工具执行,并要求结构化证据返回(web_search_call 条目或 web_search_tool_result 块)。不少"Responses 兼容"网关会接受 字段却静默忽略 —— 这正是静态协议检查看不到的失效模式。每次探测在 provider 上消耗一次真实搜索,每个计划只跑一次(后台执行,受 约束),设置 可完全跳过。