DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Mowendao /

Mowendao/dsh-win-proxy

Verified

DSH 不跟着代理软件走。一条命令切好 Windows 系统代理,并同步 git / npm / pip 的代理配置。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@392b2981

代理开关 · Proxy Switch

DSH 不会跟着你开的代理走。这个插件用一条命令,把 Windows 系统代理和 git / npm / pip 的代理设置一起打开或关掉。

在对话里说「开代理」,输入 /proxy on,或者打开 设置 → 代理开关。

license: MIT platform: Windows

这个插件解决什么问题

代理软件(比如 Clash)打开「系统代理」以后,浏览器能上网了。可你在 DSH 里让它帮你拉代码、装依赖,它还是连不上。

原因有两个:

  • DSH 自己有另一套上网方式,不看你系统里那个代理开关
  • 它替你运行的 git、npm、pip,也各自记着自己的代理设置,同样不看系统代理

于是就出现那种别扭的情况:代理明明是开着的,DSH 里就是拉不动代码、装不上包。

这个插件把这几处设置放进同一个开关:开,全开;关,全关。 DSH 里执行的命令马上就能用。 (DSH 自己抓网页那一层不归这个插件管。)

能做什么

  • 三个入口,效果一样:设置页、/proxy 命令、对话里直接说「开代理」
  • 马上生效:浏览器这类程序不用重启
  • 不动你手动加过的不走代理名单
  • 端口没开着时会提醒:开完代理上不了网,一眼看出是代理软件没启动
  • 只改自己那几项:git、npm、pip 的设置文件里,其它内容原样保留
  • 不用管理员权限
  • 不联网:只读写这台电脑上的设置

安装

从插件市场安装(推荐)

打开 DSH 的 设置 → 插件,搜索 Proxy Switch,点安装。

从 GitHub 安装

dsh plugin --profile web add github:Mowendao/dsh-win-proxy

从 npm 安装

dsh plugin --profile web add dsh-win-proxy

已发布到 npm,当前版本 0.1.0。npm 安装走预构建产物,不需要本地构建,也不用授权安装脚本。

你的 profile 不叫 web

把 --profile web 换成你自己的:

dsh plugin --profile <profile> add github:Mowendao/dsh-win-proxy

在桌面端安装

DSH Desktop 的插件由应用自己安装:设置 → 插件 → 安装。 桌面端的 profile 不能用命令管理,命令行会直接拒绝。

装好以后重启一次 DSH(或者刷新页面),设置页才会出现。

使用

/proxy 命令

不经过模型、不消耗 token:

/proxy on       # 打开:系统代理 + git + npm + pip
/proxy off      # 关掉
/proxy status   # 只看状态

对话

直接说「开代理」「关代理」「代理状态」就行,模型会调用插件里的工具。

设置页

设置 → 代理开关:

  • 顶部总开关,一次切换全部目标
  • 每一项的当前状态,外加本机有哪些常见端口在监听
  • 代理地址可以直接改,保存后重启也还在
  • 也可以只勾选其中几项,例如只让 git 走代理

配置

设置页里改的代理地址和「管哪几项」会存回插件配置,重启仍然生效。也可以直接改配置文件:

- 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 系统代理 打开,并填上代理地址(就是你平时在系统设置里点的那个开关) 只关掉开关,地址留着
git 记下代理地址 删掉
npm 在它自己的设置文件里记下代理地址 删掉
pip 同上 删掉

关掉系统代理后地址还留着,是 Windows 自己的做法,下次打开不用重填。 git / npm / pip 没有这种开关,所以关掉时会把设置删掉,再打开时以插件里填的地址为准。

要求

项目 要求
系统 Windows 10 / 11(「系统代理」这一项只支持 Windows)
DSH 0.2.x
权限 不用管理员

常见问题

开了代理,浏览器却完全打不开网页? 多半是代理软件没启动,或者端口填错了。打开「设置 → 代理开关」看一眼「本地监听端口」:那里是空的,就说明没有程序在监听你填的那个端口。

安装完,设置里找不到「代理开关」? 这个插件的页面要等安装完成后才加载。重启一次 DSH,或者刷新一下页面,它就会出现在设置的左侧列表里。

会覆盖我自己加的「不走代理」名单吗? 不会。那一项默认留空,插件不碰你已有的名单。

关掉后,之前填的代理地址为什么还在? 这是 Windows 自己的做法:关代理只是把开关拨到关,地址留着,下次打开不用重填。

为什么 git / npm / pip 显示「不可用」? 说明这台电脑上没装对应的程序。其它装了程序的项目不受影响。

支持 Mac 和 Linux 吗? 「系统代理」这一项只支持 Windows;git / npm / pip 这几项在其它系统上也能用。

开发

npm test    # 配置编辑和设置页的自动测试,不会碰你真实的配置
lib/index.js      工具、命令、设置页后端
lib/wininet.js    Windows 系统代理的读写
lib/app-proxy.js  git / npm / pip
lib/netprobe.js   本机端口检查
client.js         设置页(纯浏览器代码,不用构建)

设置页通过插件自带的几个本机接口与它通信,写操作只接受本页面发来的请求。

卸载

dsh plugin --profile web remove dsh-win-proxy

桌面端:设置 → 插件 → 卸载。

许可

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 392b2981a9e9

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout