前言¶
代理软件(比如 Clash)打开「系统代理」之后,浏览器能上网了,可你在 DSH 里让它拉代码、装依赖,却还是连不上。原因有两个:
- DSH 自己有另一套上网方式,不看你系统里那个代理开关;
- 它替你运行的 git、npm、pip,也各自记着自己的代理设置,同样不看系统代理。
结果就是代理明明是开着的,DSH 里却拉不动代码、装不上包。下面介绍的 mowendao/dsh-win-proxy(插件界面名 Proxy Switch)把这几处设置放进同一个开关:开,全开;关,全关。
这是什么¶
dsh-win-proxy 由 Mowendao 维护,MIT 许可,定位是 Windows 平台上的「代理开关」插件。它提供三个等价的入口——设置页、/proxy 命令、对话里直接说「开代理」——把 Windows 系统代理和 git / npm / pip 的代理设置一起打开或关掉。
需要注意它的边界:DSH 自己抓网页那一层不归这个插件管,插件只管系统代理和你本机的 git / npm / pip 配置。
核心能力¶
按 README 列出的能力整理,主要有这些:
- 三个入口效果一致:设置页、
/proxy命令、对话触发,都不经过模型、不消耗 token; - 改完马上生效,浏览器这类程序不用重启;
- 不动你手动加过的「不走代理」名单(默认留空即不覆盖);
- 端口没监听时给出提醒,代理软件没启动时能一眼看出;
- 只改自己那几项:git、npm、pip 的设置文件里其它内容原样保留;
- 不需要管理员权限;
- 不联网,只读写本机设置。
安装与启用¶
优先级最高的是插件市场。打开 DSH 的 设置 → 插件,搜索 Proxy Switch,点安装。
也可以从 GitHub 安装:
dsh plugin --profile web add github:Mowendao/dsh-win-proxy
或者从 npm 安装(已发布,当前版本 0.1.0,走预构建产物,不需要本地构建,也不用授权安装脚本):
dsh plugin --profile web add dsh-win-proxy
如果你的 profile 不叫 web,把 --profile web 换成你自己的:
dsh plugin --profile <profile> add github:Mowendao/dsh-win-proxy
DSH Desktop 的插件由应用自己安装:设置 → 插件 → 安装。桌面端的 profile 不能用命令管理,命令行会直接拒绝。
装好以后重启一次 DSH(或者刷新页面),设置页才会出现。「代理开关」页面要等安装完成后才加载,这是 README 里给出的排查方式。
卸载:
dsh plugin --profile web remove dsh-win-proxy
桌面端走 设置 → 插件 → 卸载。
典型用法¶
命令行入口不经过模型、不消耗 token:
/proxy on # 打开:系统代理 + git + npm + pip
/proxy off # 关掉
/proxy status # 只看状态
对话里直接说「开代理」「关代理」「代理状态」,模型会调用插件里的工具。
设置页 设置 → 代理开关 里:顶部是总开关,一次切换全部目标;每一项显示当前状态,外加本机有哪些常见端口在监听;代理地址可以直接改,保存后重启也还在;也可以只勾选其中几项,例如只让 git 走代理。
它会改哪些设置¶
| 位置 | 打开代理时 | 关掉代理时 |
|---|---|---|
| Windows 系统代理 | 打开并填上代理地址 | 只关掉开关,地址留着 |
| git | 记下代理地址 | 删掉 |
| npm | 在其设置文件里记下代理地址 | 删掉 |
| pip | 同上 | 删掉 |
关掉系统代理后地址留在 Windows 设置里、git / npm / pip 没有这种开关所以关掉时直接删掉,这些都来自 README 的解释。
配置文件对应的字段是:
- id: dsh-win-proxy
name: 'dsh-win-proxy'
config:
proxyServer: "127.0.0.1:7890"
targets: ["system", "git", "npm", "pip"]
| 设置项 | 默认 | 说明 |
|---|---|---|
| 代理地址 | 127.0.0.1:7890 |
本机代理软件监听地址,Clash 这类默认是 7890 |
| 不走代理的名单 | 留空 | 留空表示不动系统里已有的名单;填了才覆盖 |
| 管哪几项 | 全部 | 系统代理、git、npm、pip,可以只留其中几个 |
| 检查哪些端口 | 常见端口 | 看状态时顺便检查这些端口有没有程序在监听 |
适用场景与注意¶
适合 Windows 10 / 11 上用代理软件、又需要 DSH 跑 git / npm / pip 的人。要求是 Windows 10 / 11(「系统代理」这一项只支持 Windows;git / npm / pip 这几项在 Mac 和 Linux 上也能用)、DSH 0.2.x、不需要管理员权限。
两个使用上的注意点:
- 开了代理浏览器却完全打不开网页时,多半是代理软件没启动或端口填错。打开「设置 → 代理开关」看「本地监听端口」,那里如果是空的,说明没有程序在监听你填的那个端口。
- git / npm / pip 显示「不可用」,说明这台电脑上没装对应的程序,其它装了程序的项目不受影响。
安全方面,插件是第三方项目,遵循 MIT 许可。它以当前 DSH 进程的权限运行,不联网,安装前建议先看一下 GitHub 源码与许可证确认。
小结¶
dsh-win-proxy 解决的是一个很具体的问题:系统代理开了,DSH 里跑的命令却连不上。它的答案是一个开关同时管系统代理和 git / npm / pip 的代理配置,开就全开、关就全关。目录页在 https://www.skillhub.cn/plugins/Mowendao/dsh-win-proxy,源码在 https://github.com/Mowendao/dsh-win-proxy。