前言¶
在 DeepSeek Harness (DSH) 的插件生态中,通用的网络搜索插件通常仅执行关键词检索。当用户在开发特定项目(例如编写 Rust CLI)时,通用的搜索结果往往包含大量无关信息,而非用户需要的特定技术文档或解决方案。dsh-context-aware-search 旨在解决这一痛点,它通过读取会话上下文来重写查询,提升搜索结果的相关性。
插件简介¶
这是一个 DeepSeek Harness (DSH) 插件,由用户 helibeiqi 维护。它的核心作用是将 web_search 接口从简单的“关键词轰炸”转变为“上下文感知的研究助手”。它读取当前会话,重写查询,对搜索结果进行重新排序并标记可信度,同时支持一键源总结。
核心能力¶
该插件提供以下主要功能:
- 上下文感知查询重写:读取会话中最近 N 条消息,提取当前正在使用的语言、框架或库,对原始查询进行扩展(例如将
await 报错扩展为Python asyncio await 常见错误 解决方案)。 - 结果重新排序:使用 TF-IDF 算法对结果进行打分,根据查询与上下文的相似度对结果进行重排,确保最相关的结果排在前面。
- 一键源总结:提供
web_summarize工具,自动抓取指定 URL 或搜索结果的前 N 条链接,生成包含关键点、关键数据和源链接的结构化 Markdown 摘要。 - 源可信度标签:根据域名规则(如
.edu、.gov、官方文档)对每个结果标记high(高)、medium(中)、low(低)可信度。 - 多后端自动故障转移:支持 DuckDuckGo、Bing 和 SearXNG,并具备自动回退机制。
- 零配置:默认情况下使用 DuckDuckGo,无需 API Key 即可启动。
安装与启用¶
安装前请确认 DeepSeek Harness 版本为 0.1.0-rc.6,因为插件与该运行时版本进行了绑定。
安装命令如下:
dsh-context-aware-search@0.1.1
注意:严禁安装 @latest。该插件是基于 DeepSeek Harness 0.1.0-rc.6 构建的,版本不匹配可能导致搜索和抓取功能异常。
使用方法¶
在对话中直接使用搜索指令即可,插件会自动处理上下文重写和结果排序。
示例 1:搜索并总结¶
web_summarize query="Rust error handling best practices" topN=3
示例 2:总结特定文档¶
web_summarize url="https://doc.rust-lang.org/book/ch09-00-error-handling.html"
工作流程¶
- 插件读取最近
contextWindow条消息(默认为 8 条)。 - 分析上下文中的技术栈,重写原始查询。
- 调用多个后端进行搜索(DuckDuckGo -> Bing -> SearXNG)。
- 使用 TF-IDF 对结果进行重新排序并标记可信度。
- 返回包含重写查询说明、结果排名表(含可信度标签)的 Markdown 内容。
注意事项¶
- 依赖环境:该插件依赖 DeepSeek npm 注册表,需要相应的访问权限。
- 算法限制:重排序功能不依赖嵌入模型,仅使用 TF-IDF 进行关键词提取和评分。
- 技术栈:仅使用 TypeScript 和平台原生的
fetch,无外部模型依赖,运行轻量。
总结¶
dsh-context-aware-search 通过引入会话上下文,显著提升了网络搜索在技术场景下的精准度。它适合需要在对话流中持续获取特定领域信息(如编程文档、技术博客)的开发者。更多详情可参考 插件目录 或 GitHub 仓库。