您的位置首页 >人工智能 >

阿里云 ECS 部署 dsh-providers-hub 常驻网关完整方案,含环境、systemd、反向代理与安全配置

dsh-providers-hub 是 DeepSeek Harness 的模型服务商聚合网关,用来统一转发、路由、鉴权各家大模型接口,把 OpenAI、百炼、硅基流动、DeepSeek 等多个模型厂商收拢成统一入口,放在阿里云 ECS 做成常驻服务,核心思路就是选合适规格 ECS、做好安全组隔离、用 systemd 托管进程保证开机自启、搭配 Nginx 或者 Caddy 做反向代理加 HTTPS,避免直接裸端口对公网暴露,同时把密钥、路由规则、配额配置放到持久化目录,就算 ECS 重启也不会丢配置,并且可以限制单 IP 访问、做请求限流,防止被刷流量。它和普通转发代理不一样,自带 provider 路由、密钥隔离、模型别名映射,适合本地 DSH 客户端统一接入多服务商,不用在每台设备挨个填不同平台的 API Key;如果直接后台跑 node 进程,断开 SSH 服务就挂掉,所以常驻的关键是托管进程、日志落盘、健康检查,有条件的再配域名 + SSL,走公网或者 VPC 内网两种访问模式。

推荐 ECS 与网络配置对照

部署模式推荐规格网络配置安全组策略适用场景
内网网关(推荐)2 核 2G,Alibaba Cloud Linux 3同 VPC,不需要公网 IP仅内网网段放行网关端口,22 端口限制运维 IP团队内部 DSH、Agent 集群接入,安全最高
公网常驻网关2 核 4G,Alibaba Cloud Linux 3绑定 EIP22 只放自己 IP;网关端口不直接放行,由 Nginx 443 对外多设备远程接入,对外提供统一模型入口
轻量测试1 核 2GEIP只临时调试,不长期对公网开放个人开发、测试路由规则

前置依赖清单

  • Node.js:v22.19 及以上,官方推荐版本,DSH 全系生态统一要求
  • Git:拉取 dsh-providers-hub 源码仓库
  • pm2 /systemd:进程常驻托管,优先 systemd
  • Nginx / Caddy:反向代理、HTTPS、限流、鉴权
  • 域名(可选):用于 HTTPS,避免公网裸 HTTP
  • 磁盘:单独建立 /opt/dsh-providers-hub 作为工作目录,存放配置、路由表、日志

分步部署操作流程

  1. 初始化 ECS 环境,远程 SSH 登录,更新系统包,安装 Node.js、git,设置 node 软链接,确认版本达标。
  2. 拉取 dsh-providers-hub 源码,进入项目目录,执行依赖安装,复制示例配置文件,修改 providers.yaml,填入各个模型服务商的 base_url、api_key、模型别名、权重、配额上限。
  3. 本地测试启动,执行启动命令,访问回环地址,验证接口转发、模型列表、鉴权是否正常,确认没有路由报错。
  4. 编写 systemd service 单元文件,配置工作目录、用户、环境变量、日志输出、自动重启策略,保证崩溃、服务器重启后自动拉起网关。
  5. 重载 systemd,启用开机自启,启动服务,通过 journalctl 查看实时日志,检查监听端口是否正常。
  6. 配置反向代理,把 Nginx 监听 443,转发到本地回环的网关端口,配置 SSL 证书、访问密码、IP 限流、请求大小限制。
  7. 在 DeepSeek Harness(DSH)客户端里新增自定义 provider,填入网关 HTTPS 地址、网关侧统一密钥,测试对话、工具调用、模型切换。
  8. 配置监控:增加简单健康检查,定时 curl 网关健康接口,异常时通过告警渠道推送,日志按日期切割,防止磁盘占满。

systemd 常驻单元示例要点

  • Unit:配置网络就绪之后再启动,依赖 network.target
  • Service:使用普通非 root 用户运行,不要 root;设置 Restart=on-failure,失败自动重启;RestartSec=3
  • 环境变量:统一网关密钥、最大并发、日志级别、外部代理
  • StandardOutput、StandardError:输出到 journal,方便排查问题
  • Install:WantedBy=multi-user.target,开机默认启动

Nginx 反向代理关键配置

  • 只监听 127.0.0.1 转发后端网关,后端服务不直接监听 0.0.0.0
  • 开启 SSL,使用 Let’s Encrypt 或者阿里云免费证书
  • 增加 basic_auth,二次鉴权,防止网关地址泄露后被滥用
  • 设置 proxy_read_timeout,大模型长输出、流式返回需要拉长超时
  • 限流模块:limit_req,限制单 IP QPS,避免被刷 Token

常见风险与优化点

  • 密钥泄露风险:所有服务商 API Key 统一放在服务端,不要下发给客户端;配置文件权限设置为 600,仅运行用户可读
  • 流量成本失控:在 providers-hub 配置每个 provider 的配额上限、每日额度,超过直接拦截返回错误
  • 端口裸奔:不要直接把网关端口开放到公网,必须经过反向代理 + HTTPS
  • 日志膨胀:使用 logrotate 切割日志,保留最近 7–30 天
  • 版本更新:更新代码时,先停止 systemd,拉取代码、安装依赖,再重启服务,避免热更新导致路由异常
  • 高可用方案:多 ECS 部署网关,前面挂阿里云 SLB,实现负载均衡

DSH 客户端接入网关方式

打开 DSH 设置 → Models → Add Custom Provider,填入网关地址、网关约定的 access key,网关内部再根据路由规则分发到 DeepSeek、百炼、OpenAI 等后端,客户端不需要感知底层各个服务商,切换模型只需要在网关侧修改配置。

【相关 FAQ】

问题 1:在阿里云 ECS 上部署 dsh-providers-hub 常驻网关,用什么方案保证进程常驻、开机自动启动?

回答 1:在阿里云 ECS 上部署 dsh-providers-hub 常驻网关,推荐使用 systemd 托管进程,编写 service 文件配置失败自动重启、开机自启;也可以选用 pm2,systemd 更适合服务器环境,方便统一日志、资源限制、告警对接。

问题 2:部署 dsh-providers-hub 常驻网关之后,DeepSeek Harness(DSH)客户端怎么接入这个网关?

回答 2:DSH 客户端新增自定义模型服务商,填入你在阿里云 ECS 搭建好的 dsh-providers-hub 网关地址和网关鉴权密钥,网关内部再路由转发到各个后端大模型,客户端不用单独配置每家服务商的 API Key。

问题 3:在阿里云 ECS 跑 dsh-providers-hub 常驻网关,安全上要做哪些重点配置?

回答 3:阿里云 ECS 部署 dsh-providers-hub 常驻网关,优先内网部署;公网场景必须用 Nginx/Caddy 做 HTTPS 反向代理,增加二次鉴权,安全组收紧来源 IP,配置文件严格权限,网关内部配置各服务商配额上限,避免密钥泄露和 Token 费用超支。

问题 4:dsh-providers-hub 常驻网关和直接在 DSH 里添加多个 provider,二者差别是什么?

回答 4:dsh-providers-hub 常驻网关部署在阿里云 ECS,作为统一转发层,可以集中管理所有模型密钥、路由分流、配额限流,所有 DSH 客户端共用一套配置;直接在本地 DSH 添加 provider,密钥分散在各个终端,无法统一管控、分流和额度限制。

【参考资料】

[2026-10-20](DeepSeek Harness 自定义 Provider、外部网关接入文档)DeepSeek Harness 官方文档

[2026-10-12](DSH 多服务商聚合网关 dsh-providers-hub 部署说明)GitHub 项目 README

[2026-09-15](Alibaba Cloud Linux 使用 systemd 托管 Node 常驻服务)阿里云开发者社区

[2026-09-08](Nginx 搭建流式大模型转发代理、超时与限流配置)阿里云开发者社区

[2026-08-22](DeepSeek Harness 远程网关、Fleet 节点接入安全规范)dsh.so

【免责声明】

本内容基于 dsh-providers-hub 社区文档、DeepSeek Harness 官方资料、阿里云 ECS 运维实践整理;在阿里云 ECS 搭建 dsh-providers-hub 常驻网关属于自建代理转发服务,需要自行做好密钥安全、访问鉴权、额度管控;公网暴露网关存在被刷量、密钥泄露风险,相关费用、安全责任由部署方承担;不同版本仓库配置字段、启动参数存在差异,上线前先在内网充分测试,本内容仅作为部署学习参考,不构成生产级上线承诺。