DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

DimonHo /

DimonHo/dsh-vpn

Verified

Subscription-driven VPN/proxy plugin for DeepSeek Harness

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

DSH VPN · 外网连接

面向部署在国内云服务器上的 DeepSeek Harness,解决因服务器出站网络受限,导致国外大模型接口无法连接、请求超时的痛点。

DSH 页面能打开,不代表服务器能访问模型接口;你电脑上的浏览器能访问国外服务,也不代表云服务器上的 DSH 能访问。模型请求由 DSH 所在服务器 发出,因此需要为服务器上的 DSH 配置可用的出站网络。

本插件将这个配置过程放进 DSH 设置页面:导入订阅或粘贴 YAML → 选择节点 → 连接 → 测试出口 IP,让 DSH 通过你提供的代理节点访问国外大模型服务,无需手动修改系统代理或路由表。

解决什么问题?

国内云服务器部署中的常见痛点 本插件提供的能力
DSH 已部署成功,但调用 OpenAI、Anthropic 等国外模型接口时连接失败或超时 为 DSH 模型请求配置代理出口,解决网络可达性问题。
本地电脑能访问国外服务,但服务器上的 DSH 仍然无法连接 代理作用于 DSH 服务端,而不是只作用于本地浏览器。
不想修改整台服务器的网络配置,影响其他应用 仅为 DSH 及其后续启动的子进程提供代理,不修改系统代理、防火墙或路由表。
服务器连订阅地址都无法访问,无法拉取节点 支持直接粘贴 Clash / mihomo YAML 或节点列表,在服务器本地解析。
模型可用,但联网搜索、网页抓取等工具仍受网络限制 通过 DSH 进程级代理策略覆盖 web_search / web_fetch、MCP 等支持该策略的请求。

能力边界:本插件解决的是网络连接问题,不提供模型账号、API Key、订阅额度或代理节点。 需要自行准备可用节点和相应模型凭据;实际可用性取决于节点质量、服务商支持地区、账号权限及服务条款,不能保证所有国外模型均可使用。

本插件不是系统级 VPN,不启用 TUN,也不会自动代理你本地浏览器中的登录授权页面。请遵守所在地适用法律及相关服务条款。

安装

命令行安装

在运行 DSH 的机器上执行(需要已安装 Git):

dsh plugin --profile web add 'git+https://github.com/DimonHo/dsh-vpn.git'

仓库已公开,无需登录 GitHub。使用自定义 profile 时,将 web 替换为实际名称。

安装后刷新 DSH 页面,在 设置 → 外网连接 中使用。若未出现,重启 DSH。

插件管理页面安装

打开 插件管理 → 添加插件,输入以下 Git 地址并安装:

git+https://github.com/DimonHo/dsh-vpn.git

卸载

dsh plugin --profile web remove @local/dsh-vpn

卸载前建议先断开连接;需要保留订阅配置时,请提前妥善备份运行数据。

主要功能

  • 订阅导入:支持 Clash / mihomo YAML 订阅,以及 Base64 编码或明文节点链接列表。
  • 节点切换:在设置页面选择节点、连接或断开代理。
  • 出口测试:检查当前公网出口 IP。
  • DSH 范围代理:连接后应用 DSH 进程级 HTTP 代理策略,供模型请求、web_search / web_fetch、MCP 和后续启动的子进程使用。
  • 本地监听:HTTP/SOCKS 混合代理仅绑定 127.0.0.1 的随机端口,管理接口复用现有 DSH Web 服务。
  • 智能体工具:提供 vpn_connection,支持查询状态、导入订阅、连接、断开、切换节点和测试出口。

使用方法

  1. 打开侧边栏底部的 设置 → 外网连接。
  2. 粘贴订阅地址,点击 保存并解析。
  3. 选择一个节点,点击 连接。
  4. 点击 测试出口,检查公网 IP。
  5. 不再需要代理时点击 断开,恢复直接连接,并移除后续子进程的代理环境配置。

在其他 DSH 安装本插件后,需要重新填写订阅;仓库不包含个人订阅、节点凭据或运行配置。

直接粘贴配置(无需访问订阅地址)

如果当前网络无法访问订阅地址,可切换到 粘贴 YAML,粘贴完整 Clash / mihomo 配置,然后点击 导入配置。也支持 Base64 编码或明文节点链接列表。

  • 导入前需先断开连接;配置内容最大为 6 MB。
  • 配置在 DSH 服务端本地解析,不向订阅地址发起请求,并保留节点与 hosts 映射。
  • 导入成功后清空输入框和原订阅地址,后续连接使用保存的节点;更新时需要重新导入或填写订阅地址。
  • 没有订阅地址的已导入配置也可以通过 删除 清除。
  • 智能体可通过 vpn_connection 的 import 操作及 content 参数执行相同导入;含密码或令牌的配置不要直接粘贴到聊天中,建议使用设置页面。

支持的订阅格式

  • 包含内联 proxies 列表的 Clash / Clash.Meta / mihomo YAML 文档。
  • Base64 编码或明文 URI 列表,支持 ss、vmess、trojan、vless(含 Reality)、hysteria2、tuic、socks5 和 http 节点。

插件不沿用订阅中的代理组和分流规则,而是创建一个固定的 select 代理组,通过 MATCH 规则代理非本地流量。本地、回环和 RFC1918 私有地址保持直连。

订阅中的 Clash hosts 映射会保留,以兼容在节点 server 中使用特殊域名、再通过 hosts 映射到真实 CDN 地址的订阅。

数据与安全

运行数据保存在插件目录下的 .data/ 中:

相对路径 用途
.data/state.json 订阅地址、解析后的节点、所选节点及配额信息,权限为 0600。
.data/config.yaml 连接时生成的 mihomo 配置,权限为 0600。
.data/mihomo 打包内核不可用时下载的备用内核。

数据目录权限为 0700,仅允许所有者访问。移除订阅会删除保存的订阅状态。

这些数据可能包含订阅令牌和节点密码,请勿公开或提交到 Git。 仓库已通过 .gitignore 排除 .data/、依赖目录和环境变量文件。卸载后若仍有残留数据,可在确认不再需要后手动删除;不要依赖卸载保留数据。

内核与平台

插件通过 @pkgship/mihomo 使用版本为 1.19.33 的 MetaCubeX/mihomo 内核,Linux AMD64 二进制由 @pkgship/mihomo-linux-amd64 提供。

若对应平台包不可用,插件会尝试从 GitHub 下载固定版本的 Linux 内核。也可通过环境变量指定已安装的 mihomo:

export DSH_VPN_CORE_PATH=/absolute/path/to/mihomo

请在启动 DSH 前设置该变量。默认内核方案面向 Linux;其他系统可能需要自行提供适配平台的 mihomo,兼容性需另行验证。

mihomo 使用 GPL-3.0-or-later 许可证;插件源码与内核分开,插件的许可证声明不会改变内核的许可证。

使用限制

  • 代理范围仅限 DSH 进程树,不影响机器上的其他应用。
  • 不提供 TUN、系统级 DNS 修改或系统代理切换。
  • 通过链接导入订阅时,订阅地址必须能通过当前直连网络或 DSH 已配置的代理访问;无法访问时可改用 粘贴 YAML 直接导入。
  • 如果所选节点无法访问 DSH 依赖的服务,连接期间对应请求会失败;断开代理可恢复直连。
  • 管理页面通过 React 插槽集成到现有 DSH Web 界面,不替换应用根节点、不使用 iframe,也不读取其他插件的 DOM。

开发

安装依赖并检查 JavaScript 语法:

pnpm install
node --check index.js
node --check client.js
node --check lib/subscription.js
node --check lib/mihomo.js

Host 端使用原生 ESM;Client 端采用延迟执行的 window.__ModuleLoader__ 工厂,并仅从浏览器模块表导入 react。

—/ 5

No ratings yet

Verified DSH bundle

Commit 2211c05de55f

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