dsh-system-proxy
让 DeepSeek Harness(DSH)复用 Windows 系统代理。代理软件只开“系统代理”和 HTTP 端口,不需要为 DSH 常开 TUN。
仅支持 Windows 10/11、DSH 0.2.1-rc.2 至 0.3.0 之前的版本。
安装
已发布到 npm,当前版本 0.1.1。
界面安装: 打开 DSH「插件 → 添加插件」,输入 dsh-system-proxy@0.1.1 后安装。若国内镜像尚未同步,请切换到官方 npm 源。
命令行安装:
# dsh 在 PATH 中
dsh plugin --profile desktop add dsh-system-proxy
# 桌面版自带的 CLI
& "D:\deepseek-harness\resources\runtime\cli\bin\dsh.cmd" `
plugin --profile desktop add dsh-system-proxy
也可以从 GitHub 安装源码版本:
dsh plugin --profile desktop add "github:Bozheng-Li/dsh-system-proxy"
安装后完全退出并重启 DSH。然后在代理软件里开启系统代理,例如 127.0.0.1:7897,保持 TUN 关闭。
插件使用 undici 安装进程级全局 dispatcher,并把代理变量传给 DSH 启动的 pnpm、git 等子进程,覆盖模型请求、Web Search、HTTP MCP 和插件安装。Electron 的登录/更新网络不保证覆盖。
从插件发现页安装
DSH 当前没有官方插件市场。打开“插件 → 实验性插件 → 自定义插件市场”,在“发现”中添加索引源:
https://raw.githubusercontent.com/Bozheng-Li/dsh-system-proxy/main/market/index.json
之后即可搜索 dsh-system-proxy 或“系统代理”。市场索引安装的是 npm 上的固定版本。
配置
默认跟随 Windows 系统代理,不需要写配置。需要固定代理时,编辑:
%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml
- id: system-proxy
config:
mode: manual
proxyUrl: http://127.0.0.1:7897
模式:
| mode | 行为 |
|---|---|
auto |
跟随 Windows 系统代理;默认 |
manual |
固定使用 proxyUrl |
off |
不使用插件代理 |
显式 HTTP_PROXY / HTTPS_PROXY 优先于 Windows 设置。PAC/WPAD 不支持;请用 manual。SOCKS 也不能直接作为系统代理 URL,请使用代理软件的 HTTP 或 mixed 端口。
验证
2026-11-04,在隔离 profile 中清除继承的代理变量,用相同凭据实际请求 haina / deepseek-v4.1-flash 的 Responses API:
| 状态 | 结果 | 耗时 |
|---|---|---|
| 卸载插件 | UND_ERR_CONNECT_TIMEOUT |
10.8 秒 |
从 npm 安装 0.1.1 并挂载 |
HTTP 200,模型回复 AB_TEST_OK |
3.0 秒 |
| 再次卸载插件 | UND_ERR_CONNECT_TIMEOUT |
10.6 秒 |
成功请求的 TCP 连接指向 127.0.0.1:7897。这是本机网络下的 API 实测,不保证所有网络环境的结果相同,也不是一次桌面 UI 自动化测试。
DSH 启动时可查看插件日志:
dsh-system-proxy: using http://127.0.0.1:7897 from Windows system proxy
没有生效时依次确认:系统代理确实开启、端口在监听、DSH 已完全重启、当前 profile 是 desktop、没有被 HTTP(S)_PROXY 覆盖。
卸载
dsh plugin --profile desktop remove dsh-system-proxy
然后重启 DSH。
开发
pnpm install
pnpm market:generate # 发布新版本后,同步 market/index.json
pnpm test
pnpm pack --pack-destination .
索引文件是 market/index.json,发布流程应先提交代码,再生成并提交索引。
MIT License · English
No comments yet. Be the first to write one.