前言¶
DeepSeek Harness (DSH) 的 ctx.web 接口通过 WebSearchProvider 实现联网搜索。现有的第一方 Exa 提供者无法启用 Exa Dynamic Highlights,原因在于请求体被硬编码且缺少必需的 Exa-Beta 请求头。qp-exa-dynamic 插件填补了这一空白,为 DSH 提供了完整的 Exa 支持,默认开启动态高亮,并允许在运行时调整搜索策略。
功能¶
该插件是一个 Exa-backed WebSearchProvider,提供以下能力:
* Exa Dynamic Highlights:默认开启。不同于简单的截断,它会根据文档的相关性分配上下文预算。
* 运行时配置:通过 /exa 命令,可以在不重启进程的情况下调整高亮开关、检索类型和结果数量。
* exa_search 工具:插件注册了一个独立的模型工具 exa_search,其结果上限为 1-50,不受 ctx.web 默认上限的限制。
* 检索类型:支持 keyword、neural、fast、instant、auto 等类型。
安装¶
使用官方安装命令添加插件:
dsh plugin --profile web add qp-exa-dynamic
配置¶
- 覆盖 Provider:安装后,需要在
profiles/web/cordis.patch.yml中覆盖web配置以选择此提供者:
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: exa
fetchProvider: http
- 提供 API Key:通过环境变量
EXA_API_KEY或插件配置文件直接提供。插件默认读取apiKeyEnv(默认值为EXA_API_KEY)。
用法¶
- 命令行:在 DSH 的 composer 中输入
/exa可查看或切换状态。例如:/exa type deep:设置检索类型为 semantic。/exa results 3:设置结果数量为 3。
- 工具调用:在模型侧可以直接调用
exa_search工具:
exa_search(query, maxResults: 20)
注意¶
dynamicHighlights和highlightsMaxCharacters是互斥的。- 插件版本为 0.1.0,许可证为 MIT。
结尾¶
该插件通过修复第一方提供者的限制,使 DSH 能够利用 Exa 的动态高亮和高级检索能力,并通过工具接口给予模型更灵活的调用能力。