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

排障探针 Void-LifeStream/dsh-probes

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

只读排查代理变量与 asar 包内文档

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 读取本地文件
    asar-probe.cjs:58
    const found = candidates().find(p => { try { return fs.statSync(p).isFile(); } catch (e) { return false; } });
  • 读取本地文件
    asar-probe.cjs:72
    if (!fs.existsSync(ASAR)) { console.error('asar not found: ' + ASAR); process.exit(2); }
  • 读取本地文件
    asar-probe.cjs:75
    function load() { return fs.readFileSync(need()).toString('latin1'); }
  • 执行外部命令固定命令
    proxy-doctor.cjs:35
    const r = spawnSync('reg.exe', ['query', key, '/v', value], { encoding: 'buffer' });
  • 执行外部命令来自配置/变量
    proxy-doctor.cjs:86
    const r = spawnSync(process.execPath, [__filename, '__probe', url], { env, encoding: 'utf8', timeout: 25000 });
  • 读取本地文件
    proxy-doctor.cjs:116
    let es; try { es = fs.readdirSync(dir, { withFileTypes: true }); } catch (e) { return out; }
  • 读取本地文件
    proxy-doctor.cjs:125
    if (!fs.existsSync(sessions)) {
  • 读取本地文件
    proxy-doctor.cjs:134
    let text; try { const raw = fs.readFileSync(f); text = f.endsWith('.zstd') ? inflateMultiFrame(raw) : raw.toString('utf8'); } catch (e) { continue; }
  • 发起网络请求
    proxy-doctor.cjs:153
    try { const r = await fetch(url, { signal: AbortSignal.timeout(15000) }); console.log(`OK http=${r.status} in ${Date.now() - t0}ms`); }
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

两个只读排障探针:代理环境审计(三层环境变量、端口存活、路由对比)和 Electron asar 取证(不解包直接读官方文档)。

README

由 DeepSeek 最新模型翻译生成
DSH Probes 两个只读排障探针,都来自一次真实的凌晨排查。那次的事故一句话就能说完: 有人为了让 DSH 走代理,把 HTTP_PROXY 写进了用户级持久环境变量。 几天后的某个深夜,Clash 一关 —— DSH 连不上模型了,连跟 DSH 毫无关系的两款游戏的登录器也双双报网络错误。 | 文件 | 是什么 | | proxy-doctor.cjs | 代理体检三合一:三层代理变量 / 端口探活 / 「走代理 vs 强制直连」对照 / 考古谁写过代理变量 | | asar-probe.cjs | 在 DSH 的 app.asar 里按关键词捞官方包 README 与源码,无需解包 | 两者都是只读的:不改配置、不写文件;只有 proxy-doctor route 会向你自己给的那个 URL 发一次请求。 需要 Node.js 18+(route 子命令用的是内置 fetch)。零依赖。 1. proxy-doctor.cjs —— 「某个程序一关代理就断网」 典型症状:不是超时,是瞬间失败(连接被拒,几毫秒)—— 而网络本身完全健康(DNS 正常、路由正常、防火墙没有拦截、浏览器也上得去网)。真因往往是一个你看不见的代理变量,把请求送进了一个已经没人监听的端口。
展开完整文档(README 剩余 1 节)
DSH Probes

两个只读排障探针,都来自一次真实的凌晨排查。那次的事故一句话就能说完:

有人为了让 DSH 走代理,把 HTTP_PROXY 写进了用户级持久环境变量。
几天后的某个深夜,Clash 一关 —— DSH 连不上模型了,连跟 DSH 毫无关系的两款游戏的登录器也双双报网络错误。

| 文件 | 是什么 |
| proxy-doctor.cjs | 代理体检三合一:三层代理变量 / 端口探活 / 「走代理 vs 强制直连」对照 / 考古谁写过代理变量 |
| asar-probe.cjs | 在 DSH 的 app.asar 里按关键词捞官方包 README 与源码,无需解包 |

两者都是只读的:不改配置、不写文件;只有 proxy-doctor route 会向你自己给的那个 URL 发一次请求。

需要 Node.js 18+(route 子命令用的是内置 fetch)。零依赖。

1. proxy-doctor.cjs —— 「某个程序一关代理就断网」

典型症状:不是超时,是瞬间失败(连接被拒,几毫秒)—— 而网络本身完全健康(DNS 正常、路由正常、防火墙没有拦截、浏览器也上得去网)。真因往往是一个你看不见的代理变量,把请求送进了一个已经没人监听的端口。

node proxy-doctor.cjs env # 三层代理变量 + 系统代理 + 端口探活
node proxy-doctor.cjs route https://example.com # 走代理 vs 强制直连,各发一次
node proxy-doctor.cjs writes # 考古:哪个会话/命令写过代理变量(DSH 专用)

判读:route 里 [1](按当前环境路由)失败、而 [2](强制直连)成功 ⇒ 有个代理在挡路,而且那台机器上没人监听它。

为什么"读三层"很重要

同一个名字可能同时存在于进程继承的环境、用户级持久变量、某个程序自己的配置文件里,而它们的优先级不一样、生效时机也不一样。只查一层,很容易得出"我明明改对了却没用"的错误结论。

2. asar-probe.cjs —— 「DSH 内部到底怎么做的」

Electron 应用的 app.asar 里带着每个官方包的完整 README(英中双语)与源码,它比任何二手资料都权威。asar-probe.cjs 让你不必解包那 121 MB —— asar 自带 JSON 索引、内容可随机读取,按关键词定位就够了。

node asar-probe.cjs find NO_PROXY dsh-http-proxy # 关键词的命中偏移
node asar-probe.cjs read 51725000 4000 # 从某偏移读一段原文

asar 路径的解析顺序:

1. --asar <path> 命令行参数
2. 环境变量 DSH_ASAR
3. 常见安装位置(Windows / macOS / Linux 各几个候选)

例:node asar-probe.cjs --asar "D:\Somewhere\app.asar" find proxy

顺带一提:那次排查的转折点就是用这个工具在 asar 里翻出了官方 dsh-http-proxy 包的文档 ——它白纸黑字写着代理策略覆盖 LLM 流量、NO_PROXY 是后缀匹配(NO_PROXY=example.com 连 api.example.com 一起放行)。
不用猜、不用搜二手资料,读它自己的文档。

那次排查留下的两条判据

1. 代理配置的「作用域」要主动选。 用户级持久环境变量会影响这台机器上每一个读它的程序 —— 不只是你想帮的那一个(那次连游戏登录器都被裹进了代理)。要让某个程序走代理,优先用该程序自己的配置层,或单命令显式指定。
2. 修好配置后,已经在跑的进程不会自己更新。 环境变量是"出生时"继承的:改完必须重启那个进程(或注销/重启一次),否则你会以为"改了没用"。验证小技巧:新开一个终端敲 echo %HTTP_PROXY%(Windows)或 echo $HTTP_PROXY —— 原样回显变量名 = 它已经不存在了。

许可

MIT
预览分享卡片长什么样 ↓Void-LifeStream/dsh-probes
分享 · DeepSeek Harness Hub
Void-LifeStream/dsh-probes

只读排查代理变量与 asar 包内文档

回到顶部