运行时切换全部出站请求的代理路由
28.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/1624318455/dsh-plugin-proxy.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 45 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 13 处,展示前 7 条)
- 发起网络请求lib/index.js:110
http: (url) => new EnvHttpProxyAgent({ httpProxy: url, httpsProxy: url, noProxy: '' }), - 发起网络请求lib/index.js:111
https: (url) => new EnvHttpProxyAgent({ httpProxy: url, httpsProxy: url, noProxy: '' }), - 发起网络请求lib/index.js:112
socks5: (url) => new Socks5ProxyAgent(url) - 发起网络请求lib/index.js:244
return rules?.length ? new RoutingDispatcher(new Agent(), proxied, rules) : proxied; - 发起网络请求lib/index.js:268
return withBypass(new EnvHttpProxyAgent({ httpProxy: http, httpsProxy: https, noProxy: '' }), rules); - 发起网络请求lib/index.js:271
return withBypass(new Socks5ProxyAgent(detected.socksProxy), rules); - 执行外部命令固定命令lib/index.js:360
const text = execFileSync('scutil', ['--proxy'], { encoding: 'utf8', timeout: 5000 });
扫描于 2026/11/1(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 运行时切换出站代理
- 网页设置卡片
DSH 出站代理,可运行时切换,带网页设置卡片(维护分支)
README
由 DeepSeek 最新模型翻译生成dsh-plugin-proxy — DSH 运行时可切换出站代理
English readme: README.md。
DSH Market
演示:编辑 settings.yaml 即时改写全部出站路由
@memef1f1y/dsh-plugin-proxy 是 DeepSeek Harness 插件,把进程内所有出站请求—— LLM 提供方、web_search / web_fetch、streamable-http MCP——经由
HTTP(S) CONNECT 或 SOCKS5 代理转发,并且支持运行时随时开关、随时换代理:
编辑 $DSH_HOME/settings.yaml 的一个分节或网页设置卡片(watcher 热加载),全程零重启。
上面的动图是真实录制,安装后可运行 node scripts/demo.mjs 复现。
特性
- 运行时切换——direct / system / manual 每次保存即时生效;被替换的旧 dispatcher 先优雅关闭、30 秒后强制销毁,旧 keep-alive 真正断开。
- 网页设置卡片——设置 → 插件 → 插件配置 里的“出站代理”卡片,中英双语,同样零重启。
- 双协议统一分流——HTTP 与 SOCKS5 共用一个 RoutingDispatcher, noProxy 语义两条路径完全一致。
展开完整文档(README 剩余 1 节)
dsh-plugin-proxy — DSH 运行时可切换出站代理
English readme: README.md。
DSH Market
演示:编辑 settings.yaml 即时改写全部出站路由
@memef1f1y/dsh-plugin-proxy 是 DeepSeek Harness 插件,把进程内所有出站请求—— LLM 提供方、web_search / web_fetch、streamable-http MCP——经由
HTTP(S) CONNECT 或 SOCKS5 代理转发,并且支持运行时随时开关、随时换代理:
编辑 $DSH_HOME/settings.yaml 的一个分节或网页设置卡片(watcher 热加载),全程零重启。
上面的动图是真实录制,安装后可运行 node scripts/demo.mjs 复现。
特性
- 运行时切换——direct / system / manual 每次保存即时生效;被替换的旧 dispatcher 先优雅关闭、30 秒后强制销毁,旧 keep-alive 真正断开。
- 网页设置卡片——设置 → 插件 → 插件配置 里的“出站代理”卡片,中英双语,同样零重启。
- 双协议统一分流——HTTP 与 SOCKS5 共用一个 RoutingDispatcher, noProxy 语义两条路径完全一致。
- 子进程跟随——exportEnv(默认开)把 HTTP(S)_PROXY / NO_PROXY 发布给切换后新拉起的进程(bash 工具的 curl/git、stdio MCP),绝不覆盖你自己在启动时设定的变量;禁用/卸载时全部还原。
环境要求
- DSH(DeepSeek Harness)≥ 0.1.2-rc.1,Node.js ≥ 20。
- mode: manual 时需要一个可达的 HTTP(S) 或 SOCKS5 代理。
安装
从插件市场安装(推荐,收录后可用):在 DSH 里打开 设置 → 插件市场,搜索 dsh-plugin-proxy,一键安装。
从 GitHub 安装:
dsh plugin --profile <name> add github:1624318455/dsh-plugin-proxy
从 npm 安装:
dsh plugin --profile <name> add @memef1f1y/dsh-plugin-proxy
验证:重启一次 dsh web 挂载插件,之后翻 mode 或打开设置卡片,看 dsh-proxy: 日志行即算生效。
使用
编辑 ~/.config/dsh/settings.yaml(热加载,立即生效),或用网页卡片——同一分节。一个 mode 键即可在三种模式间切换——direct(直连)、 system(跟随系统)、manual(手动):
dsh-proxy:
mode: manual # direct | system | manual
proxy: socks5://127.0.0.1:1080 # 仅 manual——http://…、https://…、 socks5://user:pass@host:1080、socks5h://…
noProxy: # 仅 manual——可选分流规则
- localhost
- .internal.example
- registry.corp:443
exportEnv: true # 仅 manual——同步设置子进程的 HTTP(S)_PROXY
| mode | 行为 |
| direct | 直连,不走任何代理。 |
| system | 跟随主机代理,每次分节应用时探测一次:读取 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY/NO_PROXY 环境变量;环境变量缺失时,在 macOS 上再读取系统设置里的网络代理(scutil --proxy)。是保存时探测、非持续轮询;Windows 注册表、Linux 桌面与 PAC 暂未覆盖。忽略 proxy/noProxy/exportEnv。 |
| manual | 走 proxy URL,可用 noProxy 分流。 |
每次保存立即重路由。插件会记录每次切换:
dsh-proxy: routing global fetch via socks5://**@127.0.0.1:1080, noProxy 3 rule(s)
dsh-proxy: following system proxy (http://127.0.0.1:7890, noProxy 3 rule(s))
dsh-proxy: direct (mode: direct)
(日志中代理 URL 的用户名密码会打码。system 模式只读环境/系统代理,不会回写这些环境变量。)
工作原理
DSH 与 pi-ai 的请求都走 globalThis.fetch,而它读取的是 undici 的全局 dispatcher 槽位(Symbol.for('undici.globalDispatcher.1'))。本插件接管该槽位:
- http(s):// 代理 → EnvHttpProxyAgent(https 走 CONNECT 隧道)
- socks5:// 代理 → undici 内置 Socks5ProxyAgent(支持 URL 内鉴权; socks5h:// / socks:// 自动归一;域名在代理端远程解析)
- noProxy 规则 → 两条路径统一走 RoutingDispatcher 分流(undici 风格:裸条目匹配主机及点边界子域;host:port 锁定端口; 全部直连;前导点 / . 前缀视同裸条目)
边界情况处理
| 流量 | 是否代理 |
| pi-ai 各提供方(zai-coding-cn、自定义 openai 兼容路由……) | ✅ |
| dsh-llm-deepseek(deepseek-official) | ✅ |
| web_search / web_fetch | ✅ |
| streamable-http MCP server | ✅ |
| stdio MCP、bash 工具子进程(curl、git……) | ✅ 经导出的环境变量,仅对切换后新拉起的进程生效 |
| pi-ai Bedrock 路由 | ⚠️ AWS SDK 自管代理(它会读 HTTPS_PROXY 环境变量) |
| 内置浏览器 host / 浏览器下载 | ❌ 独立进程,请在浏览器侧配置 |
切换时已在运行的子进程保留其启动时的环境;undici 的 SOCKS5 agent 上游目前标注 experimental。
设置持久化
一个命名空间、两个编辑器:$DSH_HOME/settings.yaml(dsh-proxy:)与网页卡片绑定同一个 settings scope,两边保存都即时生效,DSH 负责落盘。卡片需要 DSH ≥ 0.1.0-rc.7,旧版本直接改文件——路由不受影响。
排查
| 现象 | 可能原因与处理 |
| 插件配置里没有卡片 | DSH 版本早于槽位契约——升级 DSH;走文件配置路由照常工作。 |
| 某个 websocket 工具(如 Edge TTS)经代理失败 | 个别服务端不喜欢 CONNECT 隧道——把该域名加入 noProxy(如 speech.platform.bing.com),热加载,无需重启。 |
| 子进程不走代理 | 它们在切换前就启动了——重启对应工具/进程;确认 exportEnv: true。 |
常见问题
- direct 和 manual 怎么选? direct 用于排查时全量直连;manual 下 proxy 为空会拒绝路由并记错,直接保持直连。
- 会读我 shell 里的代理环境变量吗? 仅 system 模式会。manual 模式完全由 settings 分节决定。
- 有额外开销吗? 每次保存换一次 dispatcher;单次请求只是一次主机名规则匹配,开销可忽略。
界面语言(i18n)
网页卡片经 locale 服务提供中英双语,跟随 DSH 界面语言。
开发
npm install
npm test # 单测 + 本地 e2e:HTTP 代理、SOCKS5、noProxy、热切换、env
node scripts/boot-probe.mjs # boot 真实 DSH 插件树,热翻转 settings.yaml 验证
客户端半边(lib/client.js)是手写的 harness ModuleLoader 包——无打包步骤, npm test 里的 node --check 即覆盖。
已知限制
- system 模式不跟 Windows 注册表、Linux 桌面代理与 PAC(环境变量全平台可用)。
- noProxy 里写 即全部直连——慎用。
致谢
- @tr1v3r/dsh-proxy(tr1v3r)—— dispatcher 引擎、分流语义与 settings 分节设计源自该项目,本项目在其基础上维护并补齐网页卡片。
许可
MIT © tr1v3r, © 1624318455 —— 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
1624318455/dsh-plugin-proxy
运行时切换全部出站请求的代理路由
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 3,801已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,197已汉化DSH
71.7
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,292已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,800已汉化DSH
71.2