前言¶
代理軟件(比如 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。