Skip to content

v0.4.0 — web_fetch 走通 harness 代理层(修复 #5)

Choose a tag to compare

@mafeis mafeis released this 13 Sep 14:06
· 37 commits to main since this release

修复

  • web_fetch 现在真正走代理(#5,感谢 @wushuangdeysp 的精准定位):DSH ≥ 0.1.5-rc.1 起 web_fetch 绕过 globalThis.fetch(自带 undici 传输层 + @deepseek-ai/dsh-http-proxy 的 proxyRouteFor() 策略路由),旧版的全局 fetch 包装对其完全失效。现把生效策略同步安装进 harness 代理层——定位 harness 已加载的同一模块实例(桌面端经 process.resourcesPath 命中 app.asar 内实例,CLI 按 argv/bare 顺序回退);启用/停用/配置热更/跟随系统切换全同步,停用与卸载时还原安装前状态。
  • SOCKS5 不装 harness 层并如实提示(该层只接受 http: 代理 URL);Clash/v2rayN 的 mixed 端口把协议切到 HTTP 即可覆盖 web_fetch。

新增

  • GET /_dsh/net-proxy 响应新增 harness 字段(mode / via / 脱敏 proxy / verified 自检结果);设置页仅在 harness 层异常时显示警告行,完整状态见 harness 字段。
  • @deepseek-ai/dsh-http-proxy 声明为可选 peerDependency。

测试

  • 新增 12 项:harness 同步器单测(env 形状/装卸载顺序/幂等/降级状态机)、对真实 @deepseek-ai/dsh-http-proxy 的「安装 → proxyRouteFor 立即可见 → noProxy/回环直连 → 环境变量发布 → 还原」端到端集成测试(该包使用 URL.parse,Node < 22.6 上自动跳过),合计 80 项全绿。

Full Changelog: v0.3.0...v0.4.0