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

联网工具集 NaivG/dsh-network

DeepSeek Harnessv1.4.0
NaivG17 天前有提交已提供中文文档扫描:含敏感能力

让模型直接读取网页、文档与订阅源内容

36.1/100
综合分
3
GitHub 星标
142
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @naivg/dsh-network
npm 源 · @naivg/dsh-network 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · search
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@naivg/dsh-network @ 1.4.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 10:23:40

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 16 条)
  • 发起网络请求
    dsh/client.js:481
    return fetch('/dsh-network/config').then(function (r) {
  • 发起网络请求
    dsh/client.js:493
    return fetch('/dsh-network/config', opts).then(function (r) {
  • 发起网络请求
    dsh/client.js:501
    return fetch('/dsh-network/health').then(function (r) {
  • 发起网络请求
    dsh/client.js:1001
    var restWork = fetch('/dsh-network/config').then(function (response) {
  • 发起网络请求
    dist/cli.cjs:335
    return new undici.Agent({
  • 发起网络请求
    dist/cli.cjs:400
    const response = await fetch(pinned.url, reqInit).catch((err) => {
  • 发起网络请求
    dist/cli.cjs:1395
    const response = await fetch(u, reqInit).catch((err) => {
  • 读取本地文件
    dsh/persist.js:96
    if (!existsSync(file)) return { file, value: null, error: null }
  • 读取本地文件
    dsh/persist.js:98
    const parsed = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    dsh/persist.js:114
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    dsh/persist.js:116
    writeFileSync(tmp, json, 'utf8')
  • 写入本地文件
    dsh/persist.js:117
    renameSync(tmp, file)
  • 发起网络请求
    dsh/providers.js:74
    async fetch(request, signal) {
  • 发起网络请求
    dsh/serverClient.js:36
    const req = http.request(
  • 执行外部命令来自配置/变量
    dsh/spawnHidden.js:7
    return spawn(command, args, { ...options, windowsHide: true })
  • 发起网络请求
    dsh/client.searchpanel.js:165
    fetch('/dsh-network/search', opts).then(function (response) {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-web@deepseek-ai/dsh-web-search-deepseek
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

5 张 · 点击查看大图

让 DeepSeek Harness 无缝访问互联网。

v1.4.02026-10-15
· 新增 · 搜索引擎:Mojeek Free —— 抓取 Mojeek 的 HTML 搜索结果页的 mojeek-free 引擎。该引擎不在默认链路里,用户不会通过它第一次接触 mojeek.com。 · 搜索引擎:360 搜索(so360)—— so360 引擎。无需凭证;关键细节是验证码拦截会返回 HTTP 200,响应体是约 6–9 KB 的访问异常页面,引擎会给出 360 专属警告,而不是返回空结果。 · 搜索引擎:Mojeek 官方 API —— 付费的 Mojeek Search API 支持(引擎 id 为 mojeek,与免费的搜索结果页分开),复用同一套结果解析辅助函数。 · 搜索引擎:Tavily —— 为持有 Tavily 密钥的用户注册的 tavily 引擎。 · 搜索引擎链路重排 —— 设置对话框现在支持拖拽调整当前引擎链路的顺序,沿用常规的防抖保存来持久化。 · 独立分支上的原生 DeepSeek 搜索 —— 恢复上游 @deepseek-ai/dsh-web-search-deepseek 插件,与本插件并存(对等依赖,可选)。该插件在 cordis.patch.yml 中绑定到 deepseek-native-search,避免工具注册表冲突。 · 变更 · DSH 版本兼容性 —— README 和安装路径已更新,反映支持的 DSH 版本范围(≥ 0.1.0.rc2)。 · README 重写并重新组织;中文镜像(README.ZH.md)现在从徽章行和正文都能链接到,过时和重复的描述已删除。 · 新贡献者 · @1172100122 首次贡献 完整变更日志:
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
social-preview dsh-network 让 DeepSeek Harness 无缝访问互联网。 Listed on DSH Market Listed on dsh-plugin.org dsh-network 给 DeepSeek Harness 配齐了一整套 Web 工具:五个面向模型的工具(外加一个可选下载器)、一个 Network 设置区、一个侧边栏网页搜索面板,还有渲染效果和官方工具卡一样的工具卡。它用一个常驻的 loopback Node 进程,替换掉官方 tool-web 的 web_search / web_fetch。开箱即用。 需要 dsh 0.1.0.rc2 或更高版本。见一件需要知道的事。 快速安装 dsh plugin --profile web add @naivg/dsh-network 见安装。 为什么需要这个插件 DeepSeek Harness 自带 web_search 和 web_fetch,在长页面被内联上限截断之前,它们够用;可一旦遇到 .pdf 或 .docx 链接,交给模型的就是二进制字节;订阅源 URL 送来的是一堵 XML 墙,而不是一列文章;至于需要发原始 POST、查权威门户、或读写磁盘文件的任务,根本没有对应工具。
展开完整文档(README 剩余 1 节)
social-preview

dsh-network

让 DeepSeek Harness 无缝访问互联网。

Listed on DSH Market
Listed on dsh-plugin.org

dsh-network 给 DeepSeek Harness 配齐了一整套 Web 工具:五个面向模型的工具(外加一个可选下载器)、一个 Network 设置区、一个侧边栏网页搜索面板,还有渲染效果和官方工具卡一样的工具卡。它用一个常驻的 loopback Node 进程,替换掉官方 tool-web 的 web_search / web_fetch。开箱即用。

需要 dsh 0.1.0.rc2 或更高版本。见一件需要知道的事。

快速安装

dsh plugin --profile web add @naivg/dsh-network

见安装。

为什么需要这个插件

DeepSeek Harness 自带 web_search 和 web_fetch,在长页面被内联上限截断之前,它们够用;可一旦遇到 .pdf 或 .docx 链接,交给模型的就是二进制字节;订阅源 URL 送来的是一堵 XML 墙,而不是一列文章;至于需要发原始 POST、查权威门户、或读写磁盘文件的任务,根本没有对应工具。模型要完成这些具体任务,只能用 curl、wget 这类外部工具,或者先写个 tmp_xxx.py 脚本(还不保证一次就能跑通)。

常见的绕法是装浏览器自动化插件(比如 browser-use):打开页面、抓 DOM 快照或截图、点击、滚动、重复。页面只有靠交互才能用时,这是对的工具;可用来读文本,它很贵(真的很贵)。每一步都要付一次全新页面快照的钱,外加读快照的 token,而且循环速度受页面渲染速度限制,所以一篇文章可能花掉自身正文好几倍的上下文,其中大部分 token 还都耗在导航、横幅和读者根本不需要的标记上。

dsh-network 就是为了补上这个缺口。文档和订阅源会以解析后的 Markdown 送达,每个订阅项一条;正文超过内联上限时,会落到服务端缓存里,模型可以分页读完,长页面因此能完整读取,不会丢掉尾巴。搜索走一条引擎链(默认 Bing → DuckDuckGo → Baidu,无需密钥),也可以按调用,每次命中都带有标题、链接、摘要和日期;当各个引擎结果不一致时,答案会直接说明,而不是看起来空空如也。http_request、web_sitemap 和 web_config 覆盖了官方那对工具没有工具可用的任务,设置区和侧边栏面板让这一切都能手动编辑和使用,而每个请求——包括可选启用的下载器——都走同一条带围栏的传输通道:逐跳重定向的 SSRF 校验、IP 固定、私有网段拦截和协议锁定。唯一的代价是多一个 Node 进程,由插件自己管理,而 web 接缝会一直被占用,直到你卸载它。

你能得到什么

| 工具 | 作用 |
| web_search | 通过配置好的引擎链搜索(默认 Bing → DuckDuckGo → Baidu),返回可引用的来源(标题、链接、摘要、日期)、摘要、状态标志和不确定说明。engine 参数可以为本次调用固定一个引擎。 |
| web_fetch | 抓取一个 HTTP(S) URL,默认返回 Markdown,也可以按要求返回原始响应体,附带外链和警告。PDF、OOXML(docx/pptx/xlsx)、ODF(odt/odp/ods)和 EPUB 响应会转成 Markdown。Feed 通过根元素识别——<rss>、<feed>、<rdf:RDF>——并逐条渲染,所以 RSS 2.0、RSS 1.0(RDF)和 Atom 1.0 都按条目读取(详情)。 |
| http_request | 发起底层 HTTP(S) 请求,完全控制方法、请求头和请求体。 |
| web_sitemap | 按域名、分类、优先级或自由文本查询一张精选表,涵盖 23 个分类下的 178 个权威门户(arxiv、MDN、包注册表、问答、政府、新闻、视频……),可选返回可直接粘贴的摘要。 |
| web_config | 读取 dsh-network 的实时配置,或者在你打开安全开关后应用部分补丁(见设置)。完整行为:configuration.md。 |
| web_download | 默认关闭。 把二进制文件(图片、压缩包、媒体、字体)保存到磁盘并返回路径,走和其他所有工具相同的传输通道,而不是自己开一个 socket。围栏见安全。 |

web_fetch 和 http_request 的响应体超过内联上限(约 20 KB)时,会返回预览加一个 cacheId;模型再调一次就能翻到其余部分,而超大的 feed 预览总是停在完整条目的边界上,所以可以直接跳到第 40 条,不用重新抓取 URL。见 CLI 与缓存分页。

工具卡片

每个工具都渲染成第一方风格的 dsh 卡片——结果正文上方是无边框的折叠行:

web_search 工具

web_sitemap 工具

http_request 工具

web_config 工具

web_config 用的是同一张卡片。读取会折叠成 Network config · Read config · N engines;写入会展开,逐项列出每个改动过的字段,并附上实际存入的值,所以宿主夹取过的字段(请求 searchMaxResults: 50,实际得到 20)读起来是夹取结果而不是请求值,被安全开关拒绝的写入会显示成琥珀色的 refused 块,而不是静默无操作。实时配置就在下方,按带标签的分组排列(引擎链带密钥标签、超时、防护、允许列表、上限、工具开关、GitHub),再下面是原始 JSON。

支持的搜索引擎

| 引擎 id | 凭据 |
| deepseek-official(HOST ONLY) | DSH 原生账号/凭据(可选;使用可能计费) |
| bing | 无 |
| duckduckgo | 无 |
| baidu | 无 |
| so360 | 无(IP 限速) |
| github | token 可选 |
| searxng | 无(你自己的实例) |
| brave | 需密钥,计费 |
| mojeek | 无(Altcha 门控)/ 需密钥,计费 |
| tavily | 免密钥(限速)/ 需密钥,计费 |

默认链是 Bing → DuckDuckGo → Baidu;其余引擎需要手动开启。
更多细节见 Search engines。

可选的 DeepSeek 原生搜索

在 Settings → Network → Search engines 里添加 DeepSeek (native),然后用移动控件选择它的回退位置。现有链保持不变。插件在隔离的 Cordis 作用域里运行官方服务商,使用 DSH 托管的原生设置和凭据。已在 DSH 0.2.0-rc.2 上验证;不需要宿主补丁,也不需要重复安装 Cordis。原生失败会回退,合法的空结果会停止,取消会终止整条链。独立命令行原生搜索会提示需要 DSH 宿主。配置和测试细节见 native search。

侧边栏网页搜索

dsh 网页 UI 的侧边栏新增 Web Search 入口,排在 Plugins 和
Schedules 之后。面板走的是和 web_search 工具相同的搜索路径,也受同一个开关控制。

安装

from npm:
dsh plugin --profile web add @naivg/dsh-network

or from GitHub (builds the CLI bundle during install):
dsh plugin --profile web add github:NaivG/dsh-network --allow-build=@naivg/dsh-network

or from a local checkout:
dsh plugin --profile web add link:<path-to-this-checkout>
cd <path-to-checkout> # link installs only
pnpm install
pnpm build

dsh web

随后加载器会替你应用 cordis.patch.yml:web 接缝服务商切换到 dsh-network,旧的 tool-web web_search / web_fetch 被禁用,插件行以默认设置插入。

为什么要 --allow-build? 命令行 bundle(dist/cli.cjs)在安装期间由包的 prepare 脚本构建,而 pnpm 12 会阻止 git 托管依赖的构建脚本,除非你允许它们。如果工具调用失败并报 dsh-network CLI bundle is missing,见故障排查。

快速开始

1. 运行 dsh web,然后打开 Settings → Network。这个插件的所有行为都在这里配置。
2. 提一个需要实时联网的问题——「搜索最新的 TypeScript 发布说明并引用来源」。web_search 卡片会显示搜索引擎给出的答案,来源列在下方。
3. 更喜欢点击而不是输入?打开侧边栏的 Web Search,在那里运行同样的查询。
4. 在同一个设置区域里添加搜索引擎、粘贴 GitHub token,或者调整超时——改动会在下一次工具调用时生效,无需重启。

全新安装不需要配置任何东西:默认链路无需密钥,而且任何会花钱(或者需要你自己的服务器)的搜索引擎,都不会在背后偷偷启用。

设置

所有内容都在 Settings → Network 里,下一次工具调用时生效:

- Search engines —— 实时链路(默认 Bing → DuckDuckGo → Baidu),每个搜索引擎都有一个 Edit 对话框,用来配置 endpoint、API Key 和自定义 key=value 选项。见 search engines。
- Tool switches —— webSearchTool、webFetchTool、httpRequestTool、webSitemapTool 和 downloadTool(默认关闭:它是这里唯一会写磁盘的工具,模型既不能读取也不能切换这个开关,和 allowConfigEdit 完全一样)。关掉某个开关后,对应的工具会快速失败,侧边栏路由返回 403;重启 dsh 会彻底注销该工具。
- Safety —— Safety 中列出的各项保护开关,旁边是 Allow the model to modify settings,它控制 web_config 的写入。
- 超时、User-Agent、结果上限、重定向预算、允许的 HTTP 方法和主机允许列表都在同一个区域。

设置持久化到 ~/.dsh/dsh-network.json;删除该文件即可重置。密钥(GitHub token、搜索引擎 API key)也存在那里——浏览器只会显示某个 key 是否已配置,从不显示 key 本身。完整的字段参考,包括 loopback 路由,见 configuration.md。

Safety

- 所有流量都走 undici。插件从不调用 curl.exe、nslookup.exe 或任何其他外部二进制文件。
- 每次重定向都做 SSRF 校验、IP 固定,并默认屏蔽私有/保留地址段;允许列表在你设置之前是空的(不受限制)。
- 传输层拒绝真正的二进制内容(image、audio、video、font、archive、通用 octet-stream)。只有一份固定的文档 MIME 类型允许列表会被解析成 Markdown。唯一的例外是 web_download,它走同样的传输层,而不是自己开 socket。
- loopback 服务器只绑定 127.0.0.1,并且对请求体大小设了上限。
- web_config 的 set 操作由一个模型既不能读也不能写的开关控制,所以坏补丁永远无法把模型锁在自己的写入路径之外。
- web_download 又加了三道防线。文件名逃不出目标根目录(分隔符、.. 和 Windows 设备名都会被中和,写入前还会再检查一次解析后的路径)。可执行扩展名(.exe/.ps1/.sh/.js/.bat/…)在声明的名字和嗅探出的名字下都会被拒绝。正文超过字节上限时直接失败,不做截断,写入走原子的 .part → 重命名,所以只要文件存在,它就是完整的。

需要知道的一件事

我们正式支持 dsh 0.1.0.rc2 及更高版本。因为从这个版本起,API 变得更稳定了。

但有一个例外:原生 deepseek 搜索 API 函数使用的 API(DEEPSEEK_PROVIDER_ID、namespace、Config、apply 全部存在),是人工在 DSH 0.0.1.rc3 及更高版本上验证过的,所以它可能兼容更老的 DSH 版本。但我们不声明支持 0.1.0.rc2 之前的任何版本。

故障排查

- npx @naivg/dsh-network doctor 会打印解析后的配置——引擎链、超时、哪些 API key 已配置——不联系任何服务。离线也能安全运行,是第一个该检查的东西。
- dsh-network CLI bundle is missing —— CLI 构建被跳过了,这只可能发生在 git 或 link 安装时(发布的 tarball 自带 dist/)。用 --allow-build=@naivg/dsh-network 重装 GitHub 路线,或者在 checkout 里跑 pnpm install && pnpm build(link 安装)。见 development.md。
- 带 key 的引擎提示 "no credential" —— 在那个引擎的 Edit 对话框里粘贴 key 并保存;只有 key 真正存下来,那一行的徽标才会变绿。凭据规则见 search engines。
- SearXNG 返回 403 —— 在你实例的 settings.yml 里,于 search.formats 下启用 json。见 search engines。
- 侧边栏搜索面板不见了 —— 只有插件存在且 Web search 开关打开时它才会挂载。
- 想重置一切? 删掉 ~/.dsh/dsh-network.json(DSH_NETWORK_CONFIG_FILE 可覆盖路径)并重启 dsh。

文档

- Search engines —— 引擎链、固定,以及每个引擎的凭据和选项。
- CLI and cache paging —— 独立 CLI、结果信封,以及缓存如何分页。
- Configuration —— 每个字段、每个环境变量、回环路由。
- Architecture —— 进程模型、传输、引擎注册表、浏览器那一半。
- Development —— 构建、测试、代码布局。

致谢

- Deepseek Harness - 插件设计、实现与参考。
- Deepseek - 社交预览用的 deepseek 参考图。

许可证

MIT。见 LICENSE。
预览分享卡片长什么样 ↓NaivG/dsh-network
分享 · DeepSeek Harness Hub
NaivG/dsh-network

让模型直接读取网页、文档与订阅源内容

回到顶部