🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

免费联网搜索 skyhome000/dsh-free-web

DeepSeek Harness
skyhome00010 天前有提交已提供中文文档扫描:含敏感能力

免密钥抓取 Bing 结果,按会话切换三档联网

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add skyhome000/dsh-free-web
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(node_version),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(node_version · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    index.js:82
    const parsed = JSON.parse(readFileSync(MODE_STORE_PATH, 'utf8'))
  • 写入本地文件
    index.js:98
    mkdirSync(dirname(MODE_STORE_PATH), { recursive: true })
  • 写入本地文件
    index.js:100
    writeFileSync(
  • 写入本地文件
    index.js:105
    renameSync(temporaryPath, MODE_STORE_PATH)
  • 发起网络请求
    index.js:430
    const response = await fetch(url, {
  • 读取本地文件
    index.js:515
    const entries = readdirSync(dirname(executable), { withFileTypes: true })
  • 读取本地文件
    index.js:542
    if (!existsSync(candidate)) continue
  • 执行外部命令来自配置/变量
    index.js:596
    child = spawn(executable, args, { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true })
  • 删除本地文件递归
    index.js:667
    await rm(profileDirectory, { recursive: true, force: true, maxRetries: 3 }).catch(() => {})
  • 发起网络请求
    client.js:249
    const response = await fetch(ENDPOINT + path, {
  • 发起网络请求
    client.js:611
    const response = await fetch(`${ENDPOINT}/mode?sessionId=${encodeURIComponent(sessionId)}`, {
  • 发起网络请求
    client.js:621
    const response = await fetch(`${ENDPOINT}/mode`, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 免费联网搜索,无需搜索 API 或密钥。抓取 Bing 页面/RSS,本地 Chrome/Edge 兜底,每个会话可切换关/智能/常开三档,另有侧边栏搜索面板。

README

由 DeepSeek 最新模型翻译生成
dsh-free-web — 免费联网搜索 给 DeepSeek Harness(DSH)用的免费联网搜索插件:不用搜索 API,也不需要 API Key。 它向 ctx.web 注册一个搜索提供方,直接读取 Bing 的公开结果页,失败时改用 RSS 视图,再失败才调用本机 Chrome/Edge 做一次无头渲染。它同时为 DSH 内置的 web_search 提供搜索能力,在输入框权限选项右侧加入「关闭 / 智能 / 始终」三档开关,并在左侧栏加入一个可交互的搜索面板。 这里没有浏览器扩展:DSH 的界面本身就是 Web 页面,所以插件由 Host 半(Node)和 Client 半(DSH 自己加载的 React 组件)组成;Chrome 只是 Host 可选调用的无头渲染器。 功能 - 不用搜索 API、不用 Key:抓的是浏览器同样会加载的公开结果页。 - 按会话三档联网开关(输入框工具栏,权限选项右边): - 关闭联网:web_search 被 Host 门禁拒绝;web_fetch 仍可用于打开你给的链接。 - 智能联网(默认):模型在推理中自行判断何时搜索,可以多次检索、换关键词、再用 web_fetch 打开具体页面。 - 始终联网:Host 在每轮用户消息进入模型前自动检索一次(15 秒上限),把结果作为运行时上下文注入;结果不足时模型仍可自己再搜。
展开完整文档(README 剩余 1 节)
dsh-free-web — 免费联网搜索

给 DeepSeek Harness(DSH)用的免费联网搜索插件:不用搜索 API,也不需要 API Key。

它向 ctx.web 注册一个搜索提供方,直接读取 Bing 的公开结果页,失败时改用 RSS 视图,再失败才调用本机 Chrome/Edge 做一次无头渲染。它同时为 DSH 内置的 web_search 提供搜索能力,在输入框权限选项右侧加入「关闭 / 智能 / 始终」三档开关,并在左侧栏加入一个可交互的搜索面板。

这里没有浏览器扩展:DSH 的界面本身就是 Web 页面,所以插件由 Host 半(Node)和 Client 半(DSH 自己加载的 React 组件)组成;Chrome 只是 Host 可选调用的无头渲染器。

功能

- 不用搜索 API、不用 Key:抓的是浏览器同样会加载的公开结果页。
- 按会话三档联网开关(输入框工具栏,权限选项右边):
- 关闭联网:web_search 被 Host 门禁拒绝;web_fetch 仍可用于打开你给的链接。
- 智能联网(默认):模型在推理中自行判断何时搜索,可以多次检索、换关键词、再用 web_fetch 打开具体页面。
- 始终联网:Host 在每轮用户消息进入模型前自动检索一次(15 秒上限),把结果作为运行时上下文注入;结果不足时模型仍可自己再搜。
- 左侧栏搜索面板:手动搜索、引擎状态、结果跳转。
- Web 与 Desktop 都能用:路由挂在 /api/dsh-free-web/ 下,Client 半用相对 URL,dsh web 和桌面端 dsh-app:// 页面走同一套代码。
- 失败不阻塞:三条链路都失败时,工具返回正常的错误结果,本轮对话继续。

界面截图

输入框联网开关——按会话选择「关闭 / 智能 / 始终」:

输入框联网开关与三档模式

左侧栏搜索面板——引擎状态、手动搜索、结果跳转:

左侧栏搜索面板

环境要求

- DSH 0.2.1-rc.3 或更新版本(在 0.2.1-rc.3、desktop profile、Windows 11 上开发与测试)。
- Host 端 Node.js 20+(DSH 自带运行时)。
- 可选:Google Chrome 或 Microsoft Edge,用于 HTTP 抓取失败时的无头渲染兜底;会自动探测,没有也能只用 HTTP。

安装

把仓库克隆到一个固定目录(profile 会链接到这个目录,安装后不要删除):

git clone https://github.com/skyhome000/dsh-free-web.git

然后在 DSH 里作为本地 bundle 安装:图形界面走「插件 → 添加插件 → 从目录安装」,或用插件管理器工具:

plugin_manager install_bundle target: /absolute/path/to/dsh-free-web

安装或更新后刷新一次 DSH 页面(Ctrl+R),让浏览器端模块重新加载。

bundle patch 会把内置 web 服务切换到本插件,同时保留官方的 HTTP 抓取提供方:

- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: free-web
fetchProvider: http

卸载 bundle 后 patch 一并移除,web.searchProvider 回到 DSH 默认值。

使用

输入框联网开关

按钮在输入框工具栏、权限预设的右边,显示当前模式(🌐 智能联网):

| 模式 | 行为 |
| 关闭联网 | web_search 调用被 Host 门禁拒绝;web_fetch 仍可用,便于打开你给出的链接。 |
| 智能联网(默认) | 模型在需要最新/可核验信息时自行搜索,并可在推理过程中多次检索。 |
| 始终联网 | 每轮对话的第一个模型步骤前,Host 自动检索一次(15 秒上限)并作为运行时上下文注入;模型使用这些结果,必要时继续补充搜索。 |

模式按会话保存在 %DSH_HOME%/free-web/session-modes.json(最多 500 个会话),切换后对下一步立即生效,不需要新开会话。

左侧栏面板

点击左侧栏的「联网搜索」即可打开:

- 关键词输入、回车搜索;
- 搜索方式:自动 / HTTP / Chrome;
- 引擎状态:HTTP 就绪、本机 Chrome/Edge 版本、web_search 接入状态,可重新检测;
- 结果卡片:标题、URL、摘要,点击标题在新标签页打开原文;
- 失败时显示回退记录(哪条链路、什么原因)。

工作原理

1. 搜索提供方——index.js 向 ctx.web 注册 id 为 free-web 的 WebSearchProvider;available() 恒为 true,search() 按下面的链路执行并返回 { sources, truncated }。
2. 搜索链路
1. https://www.bing.com/search?q=…,解析 li.b_algo 的标题、链接与摘要;
2. 同一查询的 &format=rss 视图,解析 RSS;
3. 本机 Chrome/Edge 的 --headless=new --dump-dom 渲染同一页面后解析,使用 %TEMP% 下的临时 profile。
3. 按 Agent 的策略——在 agent/created 时(以及插件挂载时已存在的 Agent)在 agent 自己的 context 上注册:
- ctx.tools.guard:会话为「关闭」时拒绝 web_search;
- systemPrompt.section:文本跟随当前模式;
- systemPrompt.context:「始终」模式下携带自动检索结果;
- agent/pre-step 监听器:在每轮第一步执行自动检索。
4. 界面——client.js 注册左侧栏入口、主面板(main,key free-web)和输入框开关(conversation.input.left),通过相对地址 api/dsh-free-web/status、/search、/mode 访问 Host。

配置

| 项 | 值 |
| DSH_FREE_WEB_CHROME / CHROME_PATH | 指定浏览器可执行文件路径。 |
| 自动探测路径 | Windows 下的 Chrome / Edge(Program Files、Program Files (x86)、LocalAppData);macOS 的 /Applications/Google Chrome.app/…;Linux 的 google-chrome、chromium、microsoft-edge。 |
| 结果条数 | web_search 最多 8 条;面板请求 8 条。 |
| 超时 | HTTP 网页 7s、RSS 6s、本机浏览器 22s、面板请求 40s、自动检索 15s。 |
| 模式存储 | %DSH_HOME%/free-web/session-modes.json。 |

没有插件 Config schema;以上是代码常量与环境变量。

安全边界

- 路由只接受本机来源:Origin 缺失、null、dsh-app: 桌面壳来源,或 127.0.0.1 / localhost / [::1];其他来源返回 403。
- POST 必须是 application/json——跨站 JSON 请求需要预检,而预检只为本机来源放行;请求体上限 64 KiB,查询长度上限 400 字符。
- 不读取 Cookie、浏览器会话或登录态;可选的无头浏览器使用全新的临时 profile,用完删除。
- 抓取结果是外部数据,按不可信内容处理;web_search 工具原本就带这一标注,面板沿用同样的提示。

开发

npm test # node:test,15 个离线单测
npm run check # 对两个半端做 node --check

测试覆盖 HTML/RSS 解析(含 Bing 跳转链接还原)、路由与门禁接线、按会话模式路由、Client 半的 slot 注册与开关渲染;使用临时 DSH_HOME,不访问网络。

index.js Host 半:搜索提供方、路由、模式存储、Agent 策略 client.js Client 半:左侧栏面板、输入框开关 cordis.patch.yml bundle patch:插件行 + web.searchProvider 切换
locale/{en,zh}.json 插件管理器里的标题与描述
icon.svg 插件图标 test/ 离线单测 .github/workflows/ CI(Ubuntu 与 Windows 上的语法检查 + 测试)

已知限制

- Bing 可能改版、限流或按地区返回不同结果;链路会依次退到 RSS 和本机浏览器,但相关性由 Bing 决定。
- 「始终联网」的自动查询词是用户消息原文(最多 400 字符);很长的口语化问题可能得到较宽泛的结果,提示词会要求模型按需继续检索。
- Chrome 兜底较慢(通常 6–15 秒),且只在 HTTP 解析失败时才会使用。
- 本项目与 DeepSeek、Microsoft、Google 均无关联。

License

MIT
预览分享卡片长什么样 ↓skyhome000/dsh-free-web
分享 · DeepSeek Harness Hub
skyhome000/dsh-free-web

免密钥抓取 Bing 结果,按会话切换三档联网

这是你的仓库?认领条目

回到顶部