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

网络代理 mafeis/dsh-net-proxy

DeepSeek Harnessv0.8.1
mafeis3 天前有提交已提供中文文档扫描:含敏感能力

awesome · DSH plugin

45.3/100
综合分
20
GitHub 星标
311
npm 周下载
—/5
用户评分

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.1-rc.5 下真实安装成功,但当前 dsh 已更新至 0.2.2-rc.1,本站尚未在新版下复验
L5 · 运行时冒烟等级说明 →
数据截至 2026/10/30·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 3 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 05:23:18

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

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

可执行外部命令发起外部网络请求
查看扫描证据(共 12 处,展示前 8 条)
  • 发起网络请求
    lib/client.js:596
    fetch(LOG_API + "?full=" + id + "&side=" + side).then(function (r) { return r.json(); }).then(function (j) {
  • 发起网络请求
    lib/client.js:703
    fetch(LOG_API + "?limit=" + limit).then(function (r) { return r.json(); }).then(function (j) {
  • 发起网络请求
    lib/client.js:714
    fetch(LOG_API, { method: "POST", headers: { "Content-Type": "application/json", "X-DSH-Net-Proxy": "1" }, body: JSON.stringify({ action: "clearLog" })
  • 发起网络请求
    lib/client.js:912
    fetch(LOG_API + "?limit=500").then(function (r) { return r.json(); }).then(function (j) {
  • 发起网络请求
    lib/client.js:1047
    fetch(API).then(function (r) { return r.json(); }).then(function (j) {
  • 发起网络请求
    lib/client.js:1057
    fetch(API).then(function (r) { return r.json(); }).then(function (j) {
  • 执行外部命令来自配置/变量
    lib/system-proxy.js:19
    execFile(cmd, args, { timeout: timeoutMs, windowsHide: true }, (err, stdout) => {
  • 发起网络请求
    lib/proxy/http2.js:28
    const req = client.request(reqHeaders);
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-http-proxy@deepseek-ai/schemastery@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
v0.8.12026-11-02
· 修复 明文 HTTP 响应头块缺终止空行(#9):经中继返回的明文 HTTP 响应在头块末尾只有一个 CRLF,响应体(分块长度)被客户端当成头字段解析——curl 报 curl: (8) Header without colon、web_fetch 报 TypeError: fetch failed,且收到 0 字节。现补上终止空行(CRLFCRLF)。HTTPS 走 CONNECT 隧道、原始字节透传,不受此影响。 同一路径上会让头字段失真的几处一并修掉: · 响应头原先塞进普通对象,多个 Set-Cookie 只剩最后一个 → 同名头改为按出现顺序累积,逐个写出,顺序不变; · 1xx/204/304 与 HEAD 没有消息体,原先仍按 CL/chunked/EOF 去读,会挂到上游关流或误报截断 → 头之后直接收尾; · 响应侧重复调用 stripHop() 会多写一条 connection: close → 响应侧不再调用;stripHop 另补剥逐跳头 te、trailer; · fetch 通道(lib/proxy/http11.js)同样用对象收头,且以 new Headers(hdrs) 重建响应,数组值会被拼成 "a,b" 一条 → 改为逐次 append,getSetCookie() 能拿到全部值。 · 新增 代理请求超时可配置(#8):timeout 此前会被 toProxy() 丢弃,保存 300000 仍按 60 秒走。现接通配置到请求层,并在设置页加入以秒编辑的输入框。默认仍为 60 秒,校验限制 1–2147483647 整数毫秒;非法提交不落盘,旧配置中的非法值只回退该字段,不会因此关闭代理。 · 验证 · 先抓原始字节复现:修复前 ...chunked\r\n4\r\nBODY,修复后 ...chunked\r\n\r\n4\r\nBODY。 · 响应头相关新用例均经「还原修复 → 必须失败」反向确认(旧代码下多 Set-Cookie 得到合并成一条的 a=1; Path=/,b=2; Path=/,c=3; Path=/)。 · 全量 160 项通过,eslint . 干净。 · 说明 本次为 patch 版本。超时配置属新增能力,按语义化版本应走 minor,但 0.8.x 尚未累计到需要跳号的变更,故与修复同版发出。 npm ci 在本地会因 @eslint/js@10 与锁定的 eslint 9 冲突报 ERESOLVE(既有问题,与本次改动无关),CI 与 release workflow 已用 --legacy-peer-deps 绕过。
v0.8.02026-10-09
· v0.8.0 兼容 DSH 0.2 + Desktop 侧边栏浏览器代理行为调查与桥接就绪桩(issue #6)。 · 调查结论(实测 DSH Desktop 0.1.7-rc.2) · 右侧浏览器由 Electron webview guest 实现,始终跟随系统代理,流量不经过插件,请求日志无记录是预期行为; · 插件宿主是主进程 utilityProcess 拉起的子 Node 进程,require(electron) 不可达,插件配置对侧边栏不生效属架构限制,需主进程侧桥接(issue #6 方案 A/B)。 · 新增 · lib/desktop-session.js 桥接就绪桩:wrap session.fromPartition 识别 dsh-sidebar-browser-* 分区、guest 创建时应用 session.setProxy(),含 http 双槽位 / socks5 规则 / noProxy 映射;未来 DSH 若在主进程内加载插件宿主即自动激活,当前运行时优雅降级(tests 9 个场景覆盖)。 · /_dsh/net-proxy 的 GET 响应新增 desktop 状态字段。 · 文档 · README 明确声明侧边栏浏览器的代理行为与插件管辖边界;版本 0.8.0。
v0.7.202026-09-16
本地中继端口在插件进程内终身不变:总开关切换/策略重装不再更换端口(仅插件卸载时关闭)。根治第三方单例代理组件(如 dshmarket 的 EnvHttpProxyAgent)在中继换端口后连死端口 0s 失败且永不自愈的问题。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-net-proxy awesome · DSH plugin DeepSeek Harness 网络代理插件:让智能体自己发起的网络请求(web_search / web_fetch / 外部 API)走你配置的 HTTP / HTTPS-CONNECT / SOCKS5 代理。配置持久化,启动即自动生效,并提供可视化设置页。 安装 dsh plugin --profile web add dsh-net-proxy 安装后重启 dsh web,在 设置 → 网络代理 里启用并填写代理地址(如 127.0.0.1:7890)。 或从 GitHub 直装(始终取最新 main,未经 npm 版本校验): dsh plugin --profile web add github:mafeis/dsh-net-proxy 也可手动在 profile 的 cordis.patch.yml 加入: - insert: - id: net-proxy name: 'dsh-net-proxy' 兼容的 DSH 版本 | DSH 运行时 | 状态 | | 0.1 线(如 0.1.7-rc.2) | 兼容 | | 0.2 线(0.2.0-rc.1 / 0.2.0-rc.2 / 0.2.x) | 兼容(0.8.0 起) | 主要功能
展开完整文档(README 剩余 1 节)
dsh-net-proxy

awesome · DSH plugin

DeepSeek Harness 网络代理插件:让智能体自己发起的网络请求(web_search / web_fetch / 外部 API)走你配置的 HTTP / HTTPS-CONNECT / SOCKS5 代理。配置持久化,启动即自动生效,并提供可视化设置页。

安装

dsh plugin --profile web add dsh-net-proxy

安装后重启 dsh web,在 设置 → 网络代理 里启用并填写代理地址(如 127.0.0.1:7890)。

或从 GitHub 直装(始终取最新 main,未经 npm 版本校验):

dsh plugin --profile web add github:mafeis/dsh-net-proxy

也可手动在 profile 的 cordis.patch.yml 加入:

- insert:
- id: net-proxy
name: 'dsh-net-proxy'

兼容的 DSH 版本

| DSH 运行时 | 状态 |
| 0.1 线(如 0.1.7-rc.2) | 兼容 |
| 0.2 线(0.2.0-rc.1 / 0.2.0-rc.2 / 0.2.x) | 兼容(0.8.0 起) |

主要功能

双通道代理生效:包装智能体进程的全局 fetch(手写 HTTP/SOCKS5 转发,零运行时依赖),同时把生效策略同步安装进 web_fetch 实际使用的 harness 代理层——两类请求全覆盖,停用/卸载完整还原。

跟随系统代理:每 3 秒读取系统代理设置,自动启停、自动跟随端口变化(v2rayN / Clash 切换无需改配置);系统关闭时回退手填地址;Windows ProxyOverride 绕过列表自动并入 NO_PROXY。

请求日志:经插件代理的每条请求一条记录——方法、URL、状态码、耗时、上下行流量、发送/返回内容预览;全部内存环形缓冲(最近 500 条),不落盘、不外发,占用有硬上限(< 1MB,可熔断)。

本地中继:web_fetch 流量经本地回环中继过插件之手——可观测、可统计,同时解除 harness 层的 SOCKS5 限制(socks5 配置现在全覆盖)。中继端口在插件进程内终身不变,第三方单例代理组件的地址引用不会过期;中继意外停止时 5 秒内自动重装策略。

流量图表:请求日志实时聚合为时间线 / 状态分布 / 耗时分布 / 通道分布 / 目标主机 TOP 10 五张自绘图表,前端纯函数聚合、零新增存储、5 秒刷新。

JSON 详情:日志条目展开关键信息,「详情」弹窗内查看完整请求/响应内容;JSON 体自动渲染为可折叠树视图,完整内容按需加载(单条 ≤256KB / 总池 ≤4MB 硬上限)。

设置页:一级菜单 + 页内二级标签(代理设置 / 请求日志 / 流量图表),连通性探测、地址过滤、渐进加载;配色全部走宿主主题变量,视觉与宿主一致。

不代理的范围

Desktop 侧边栏浏览器:右侧「浏览器」页面由 Electron <webview> guest 实现,代理策略在 Electron 主进程的 session 上,而插件宿主是主进程拉起的子 Node 进程、够不到 session——在插件里做的任何配置(启停、改端口、改协议)对侧边栏都不生效,其流量不经过插件,请求日志里也不会有它的记录。侧边栏始终跟随 Windows 系统代理(Chromium 默认行为):跟随系统时两者出口一致;插件配置偏离系统代理时,侧边栏仍按系统代理走。属 DSH 架构限制,需主进程侧桥接(#6),lib/desktop-session.js 已保留为就绪桩,未来宿主在主进程内加载插件时自动激活。

TLS 隧道内容:隧道内加密不可见,只记目标与字节数。

配置字段(net-proxy.json)

| 字段 | 默认 | 含义 |
| enabled | false | 是否启用代理 |
| followSystem | false | 跟随系统代理 |
| protocol | http | http(含 CONNECT 隧道)或 socks5 |
| host / port | 127.0.0.1 / 7890 | 代理地址 |
| timeout | 60000 | 插件 fetch 转发的超时,单位毫秒,整数 1–2147483647;设置页以秒编辑 |
| username / password | 空 | 可选认证 |
| noProxy | ["127.0.0.1","localhost","::1"] | 命中则直连 |
| logEnabled | true | 请求日志开关(关闭后不再记录新条目) |
| logPreviewBytes | 512 | 每侧内容预览的最大字节数(0–8192,0 = 不记内容) |

技术说明

- harness 代理层:DSH ≥ 0.1.5-rc.1 起 web_fetch 的出口不经过 globalThis.fetch,由 harness 的代理策略模块 @deepseek-ai/dsh-http-proxy 决定走向(#5)。插件定位 harness 已加载的同一模块实例(桌面端命中 app.asar 内实例,CLI 布局按 argv/bare 顺序回退)同步安装策略,停用与卸载还原到安装前状态。
- 协议限制:harness 代理层只接受 http:// 代理 URL。协议选 socks5 时由本地中继桥接,socks5 两层全覆盖;PAC 模式暂不支持自动跟随,回退手动配置并提示。
- 隐私边界:日志与完整内容只存内存、不落盘、不外发;TLS 隧道内容不可见;二进制内容不存(只记类型与大小);清空日志即彻底消失。
- 零运行时依赖:代理栈、中继、日志、图表全部 Node 原生模块 + 自绘实现。
- 宿主兼容自检:node tools/dsh-compat-probe.mjs <含 node_modules/@deepseek-ai 的目录>(通常是 ~/.dsh/profiles)用真实 cordis + dsh-host-webserver 挂载本插件,再直接请求 /_dsh/net-proxy 与 /_dsh/net-proxy/log,打出激活期与请求期的每条错误。排查「换了 DSH 版本后插件还灵不灵」时先跑它;退出码非 0 即存在硬错误。

许可证

MIT

变更历史见 GitHub Releases。
预览分享卡片长什么样 ↓mafeis/dsh-net-proxy
分享 · DeepSeek Harness Hub
mafeis/dsh-net-proxy

awesome · DSH plugin

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部