Back to home@Gumiho12345

dsh-plugin-net-access

为 DeepSeek Harness(dsh) 新增 Net Access 模式,用于解决 Windows 沙箱内 curl.exe 无法访问 HTTPS 的问题,文件写保护不变。 / Adds a Net Access mode to DeepSeek Harness(dsh): curl.exe can access HTTPS inside the Windows sandbox again, with file-write protection unchanged.

Stars
5
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

dsh-plugin-net-access

license: MIT GitHub stars Awesome DSH Plugin npm version

English | 简体中文

DSH 的权限模式补丁:新增 Net Access 模式,在保持 workspace-write 文件写保护的基础上,恢复沙箱内的 HTTPS 访问。

DSH 的 Windows 沙箱(workspace-write)会拦截走 Schannel 的 HTTPS 请求(报 0x8009030E),系统自带的 curl 和 Invoke-WebRequest 都无法使用。Net Access 模式的文件写保护与 workspace-write 一致,同时让沙箱内的 HTTPS 恢复正常。仅支持 Windows,不绑定具体 DSH 版本。

作用

  • 沙箱内 curl.exe 可正常访问 HTTPS
  • 文件写保护与 workspace-write 一致:工作区外写入被拒
  • 权限选择器新增 Net Access 选项
  • python / node 的 HTTPS 不受影响

原理

保持 workspace-write 的沙箱令牌不变,只把 OpenSSL 版 curl 注入沙箱环境的 PATH,让 HTTPS 不再经过被拦截的 Schannel。完整技术说明见 docs/findings-zh.md

安装

方式一:npm 安装

npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-net-access
. "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-plugin-net-access\setup.ps1"

方式二:从 GitHub 下载后运行

.\setup.ps1

setup.ps1 会做三件事:按结构锚点给引擎打补丁(不绑定 DSH 版本)、注册权限预设、从 curl.se 自动下载 OpenSSL 版 curl 工具箱到 %USERPROFILE%\.dsh\netaccess-tools\bin\

装完必须完全重启 DSH 才能加载:在终端 Ctrl+C 停掉 3080 端口的进程,重新运行 npx @deepseek-ai/dsh web。光刷新浏览器不会加载新插件。重启后刷新页面,在左下角权限选择器里选 Net Access

升级 DSH 后:直接重跑 setup.ps1 即可,不用等插件更新——补丁按结构锚点自动适配,不绑定版本号。如果新版 DSH 结构调整导致锚点找不到,安装器会明确报错并中止,不会改坏引擎(更新插件就好)。

验证

curl.exe -sS https://example.com
# HTTP 200

Set-Content "$env:USERPROFILE\Desktop\t.txt" x
# 拒绝访问

已知限制

  • 系统自带的 curl 和 Invoke-WebRequest 不能用 HTTPS:请用本插件带的 curl.exe、python 或 node。
  • git 的 HTTPS 需要先执行 git config --global http.sslBackend openssl
  • C:\Users\Public 可写(workspace-write 也一样)。
  • WMI 不可用(和 workspace-write 一样)。

卸载

.\uninstall.ps1

许可

MIT。patches/ 目录里的文件来自 @deepseek-ai/dsh-*(MIT,Copyright (c) 2026 DeepSeek),使用/分发时请保留相应署名。


觉得有用的话,欢迎点个 ⭐ Star 支持一下。