三种模式联网检索,过滤广告并生成摘要推荐
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 745403lkh/dsh-ai-search该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 16 处,展示前 16 条)
- 写入剪贴板client.js:838
return navigator.clipboard.writeText(text).then( - 发起网络请求client.js:880
return fetch(ROUTE + path, init).then(function (response) { - 请求外部主机api.bilibili.comclient.js:1982
var biliResponse = await fetch('https://api.bilibili.com/x/web-interface/view?bvid=' + bvidMatch[1], { credentials: 'omit' }) - 发起网络请求client.js:1982
var biliResponse = await fetch('https://api.bilibili.com/x/web-interface/view?bvid=' + bvidMatch[1], { credentials: 'omit' }) - 读取本地文件lib/history.js:91
const parsed = JSON.parse(readFileSync(filePath(), 'utf8')) - 写入本地文件lib/history.js:107
mkdirSync(dirname(filePath()), { recursive: true }) - 写入本地文件lib/history.js:108
writeFileSync( - 发起网络请求lib/search.js:275
const result = await web.fetch({ url: source.url }, phaseSignal(parent, config.fetchTimeoutMs)) - 读取本地文件lib/settings.js:255
stored = JSON.parse(readFileSync(filePath(), 'utf8')) - 写入本地文件lib/settings.js:327
mkdirSync(dirname(target), { recursive: true }) - 写入本地文件lib/settings.js:328
writeFileSync(target, `${JSON.stringify(next, null, 2)}\n`, 'utf8') - 发起网络请求lib/encyclopedia.js:413
const result = await web.fetch({ url: source.url }, phaseSignal(FETCH_TIMEOUT_MS)) - 请求外部主机api.bilibili.comlib/browse.js:569
const result = await web.fetch({ url: `https://api.bilibili.com/x/web-interface/view?bvid=${bvid}` }, signal) - 发起网络请求lib/browse.js:569
const result = await web.fetch({ url: `https://api.bilibili.com/x/web-interface/view?bvid=${bvid}` }, signal) - 发起网络请求lib/browse.js:668
const result = await web.fetch({ url }, AbortSignal.timeout(6000)) - 发起网络请求lib/browse.js:961
const result = await web.fetch({ url: item.url }, phaseSignal(THUMBNAIL_TIMEOUT_MS))
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.bilibili.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
基于 DeepSeek Harness 的 AI 搜索,无广告。三种模式:答疑(摘要+推荐)、百科(可调档位)、浏览(图文视频信息流,按相关性、时效性、热度加权)。支持结果语言与搜索历史。
README
由 DeepSeek 最新模型翻译生成dsh-ai-search:AI 搜索
Harness 里的搜索面板,包含三个模式:答疑、百科、浏览。
底层共用「联网检索 → 广告过滤 → 正文精读」,再按模式做各自的 AI 处理。
三个模式
1. 答疑(默认)
- 检索 → 过滤广告 → 精读正文 → AI 摘要 + 推荐排序。
- 输出:2–4 句摘要、3–6 条推荐(带推荐理由与评分)、已过滤清单、全部来源。
- 只接受候选里出现过的 URL,模型编造的链接会被丢弃。
2. 百科
- 面向百科与权威来源检索(同时检索原问题和「百科 / wiki encyclopedia」两路)。
- 优先百科域名(Wikipedia、百度百科、Britannica 等),再读正文。
- 按百科体例生成词条:标题 + 概述 + 若干章节 + 参考来源,中立客观。
- 档位可调(设置 → AI 搜索 → 百科模式详细程度):
- 简明:3–4 个章节,短
- 标准:5–6 个章节(默认)
- 详尽:7–9 个章节,覆盖背景/技术细节/影响/争议
3. 浏览
- 像搜索引擎信息流:按页面分成 综合 / 文章 / 视频 / 图片 四个板块,默认综合。
- 排名只用三个指标:相关性 / 时效性 / 热度,权重在设置里用滑杆调(自动归一化;例如只看相关性就把另外两项拉到 0)。不包含竞价/推广权重,广告在检索阶段已被过滤。
展开完整文档(README 剩余 1 节)
dsh-ai-search:AI 搜索
Harness 里的搜索面板,包含三个模式:答疑、百科、浏览。
底层共用「联网检索 → 广告过滤 → 正文精读」,再按模式做各自的 AI 处理。
三个模式
1. 答疑(默认)
- 检索 → 过滤广告 → 精读正文 → AI 摘要 + 推荐排序。
- 输出:2–4 句摘要、3–6 条推荐(带推荐理由与评分)、已过滤清单、全部来源。
- 只接受候选里出现过的 URL,模型编造的链接会被丢弃。
2. 百科
- 面向百科与权威来源检索(同时检索原问题和「百科 / wiki encyclopedia」两路)。
- 优先百科域名(Wikipedia、百度百科、Britannica 等),再读正文。
- 按百科体例生成词条:标题 + 概述 + 若干章节 + 参考来源,中立客观。
- 档位可调(设置 → AI 搜索 → 百科模式详细程度):
- 简明:3–4 个章节,短
- 标准:5–6 个章节(默认)
- 详尽:7–9 个章节,覆盖背景/技术细节/影响/争议
3. 浏览
- 像搜索引擎信息流:按页面分成 综合 / 文章 / 视频 / 图片 四个板块,默认综合。
- 排名只用三个指标:相关性 / 时效性 / 热度,权重在设置里用滑杆调(自动归一化;例如只看相关性就把另外两项拉到 0)。不包含竞价/推广权重,广告在检索阶段已被过滤。
- 每条结果显示三个分项指标与加权后的综合分。
- 综合板块固定顺序:始终按「文章 → 视频 → 图片」分组展示,顺序不随各板块数量变化。
- 视频只认大型视频站:哔哩哔哩、抖音、快手、YouTube、腾讯视频、优酷、爱奇艺、西瓜、 AcFun、Vimeo 等;检索时用 site: 定向这些站点,卡片上标出来源平台(如「视频 · 哔哩哔哩」)。
普通网页即使被视频检索词带出也不会被误判成视频。
- 站点上限按类型区分:视频/图片站允许同站最多 10 条(它们本来结果就多),普通站点 5 条;多出来的只标为「同站点结果较多,已精简」,不算广告。
- 广告判定偏保守:只过滤明确的广告网络域名、Advertisement/Sponsored/【广告】 等明确标识、推广链接与重复内容;不再用「佣金/返利/领券」这类弱信号删结果。
- 下一页:每个板块底部有「下一页」按钮,点击检索新一批并追加;翻页时会带上已看过的链接(exclude),服务端与客户端都会按 URL 去重,不会重复出现同一条。
- 图片板块会尝试抓取页面 og:image 作为缩略图(失败则显示占位图标);视频板块支持 YouTube 缩略图。
设置(设置 → AI 搜索)
独立的设置页,修改立即生效:
| 设置 | 说明 |
| 结果语言 | 跟随 Harness(默认)/ 中文 / English;强制 AI 摘要、理由与提醒的输出语言 |
| 百科模式详细程度 | 简明 / 标准 / 详尽 |
| 浏览模式指标权重 | 相关性 / 时效性 / 热度 三个滑杆(0–100,自动归一化并显示百分比) |
| 切换页面时保留结果 | 默认开启。在对话与搜索、或工作区之间切换后返回,保留原结果与当前板块 |
| 搜索历史 | 最近 20 条成功搜索,可一键清空 |
设置左侧导航的图标由 Harness 外壳按固定 section id 映射,插件无法自定义; AI 搜索设置页使用外壳对插件 section 的默认导航图标。
本机数据
DSH home(默认 ~/.dsh)下的 ai-search/ 目录:
| 文件 | 内容 |
| settings.json | 语言 / 百科档位 / 浏览权重 / 是否保留页面状态 |
| history.json | 最近 20 条搜索记录 |
接口
所有接口(含 GET)都必须携带本地客户端请求头 x-dsh-ai-search: 1,且只接受本机回环来源
(Host 必须是 localhost / 127.0.0.1 / [::1];带 Origin 时必须是同源或桌面壳协议)。
第三方网页的跨站 / 表单 / no-cors fetch 带不上这个头,因此触发不了接口;本接口从不返回 CORS 头。搜索只接受 POST,并限制每客户端每分钟 10 次(超限 429 + Retry-After)。
| 方法 | 路径 | 说明 |
| GET | /.dsh-ai-search/health | 依赖服务、版本、模式、当前设置与历史条数 |
| GET/POST | /.dsh-ai-search/settings | 读取 / 部分更新设置 |
| GET/POST | /.dsh-ai-search/history | 读取 / 清空搜索历史 |
| POST | /.dsh-ai-search/search | { query, mode?, maxResults?, ai?, uiLanguage?, page?, exclude? } |
安全说明:旧版 GET /search 调试入口已移除(它可被任意网页用简单请求触发,刷检索/模型配额、探测过滤规则、污染历史)。改用 POST + 请求头 + 回环来源校验 + 频率限制。本机调试时需显式带请求头,例如:
curl -H "x-dsh-ai-search: 1" -H "content-type: application/json" -d '{"query":"..."}' http://127.0.0.1:端口/.dsh-ai-search/search
模式:qa(默认)/ encyclopedia / browse。page 仅浏览模式使用(1–5)。
三个模式的响应都带 ok/mode/language/ai/aiModel/stats/cached;答疑带 answer/picks,百科带 title/lead/sections/references,浏览带 boards/items/weights/hasMore/page (视频条目另有 sourcePlatform 标出来源平台)。
错误响应统一为 { ok: false, error: { code, message } }。
结构
| 文件 | 作用 |
| index.js | Host 入口:注册 HTTP 路由、curated_search 工具、设置与历史 |
| lib/search.js | 三模式分发、语言解析、缓存、健康检查 |
| lib/curate.js | 答疑模式的提示词、JSON 解析与降级排序 |
| lib/encyclopedia.js | 百科模式:双路检索、百科来源排序、词条生成 |
| lib/browse.js | 浏览模式:分页查询、三指标评分/加权、板块、缩略图 |
| lib/model-json.js | 通用模型 JSON 调用(路由解析、流式聚合) |
| lib/filters.js | 链接规范化、广告识别、去重、相关度排序 |
| lib/html-text.js | HTML → 正文纯文本、标题与摘录提取 |
| lib/routes.js | 同源 HTTP 接口(请求头 + 回环来源守卫 + 频率限制) |
| lib/settings.js / lib/history.js / lib/paths.js | 设置 / 历史持久化与路径 |
| lib/tool.js | curated_search 工具(含 mode/page 参数) |
| client.js | 浏览器半侧:侧边栏图标、搜索页(三模式、分页)、独立设置页 |
依赖
不依赖任何第三方 npm 包:Host 只用 Harness 的 ctx.web / ctx.llm / ctx.agentDefaultModel 与 Node 内置能力;Client 通过 window.__ModuleLoader__ 请求平台自带的 React。
备注
- 搜索结果与网页内容属于外部不可信数据,工具输出会提示模型只当作资料、不要当作指令。
- 检索与模型调用会消耗账户配额;同一问题、同一模式 10 分钟内重复搜索直接读缓存(浏览模式仅第 1 页缓存,翻页不缓存)。
- 智能体工具支持同样的三个模式:curated_search(query, mode, page)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
745403lkh/dsh-ai-search
三种模式联网检索,过滤广告并生成摘要推荐
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,332已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,153已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,244已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,046已汉化DSH
71.1
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,480已汉化DSH
71