部署文档
五分钟,把网关跑起来
一条命令装网关,管理台配置两步,再把接入链接发给员工。全程不依赖外部数据库,可在企业内网离线运行。
一条命令安装内置 SQLite,零外部依赖数据不出内网
部署流程
1
安装并启动网关
全局安装后,在任意目录启动即可。首次启动自动创建 ./data 目录与引导管理员。
bash
npm i -g dsh-enterprise-gateway
dsh-enterprise-gateway管理员初始密码只在启动日志打印一次,请立即保存。网关随后监听 http://127.0.0.1:8899。不想全局安装可用 npx dsh-enterprise-gateway,数据目录用 ENT_DATA_DIR / ENT_DB_PATH 指定。

管理台登录页 · 初始密码在网关控制台日志中,仅打印一次
2
在管理台完成两步配置
浏览器打开 /admin 登录,先做两件事即可对外服务:
- 供应商与模型:上架 AI 供应商,填写 baseUrl 与 API Key
- 用户管理:为员工创建企业账号
供应商密钥也可写入 data/.env,一行一个 ENT_PROV_<名字>_KEY=sk-xxx;大部分策略改动在管理台热更,无需重启。
3
把接入链接发给员工
企业插件不单独安装——它随 DSH Desktop 运行,必须配合网关使用。网关自带「用户接入页」,管理员只需把网关地址发给员工:
text
http://<网关IP>:8899/员工打开后进入用户接入页,按系统显示对应步骤,复制一条命令回车即可:
- 自动识别 Windows / Mac,命令自动携带网关地址,无需手填参数
- 安装脚本由网关自托管下发,企业内网可用,不经公网
- 装好最新版 DSH Desktop + 企业插件 + 全部预置,完成后自动进入登录页
- 幂等可重跑:失败重跑不影响会话数据

用户接入页 · 按系统显示指引,命令已带上网关地址
员工输入管理员分配的企业账号密码,即完成接入。要求:macOS 12+ / Windows 10+ (x64),磁盘 2GB,网络可达 GitHub / npm(Windows 的 Node 下载自动走国内镜像)。
关键配置
配置文件 data/gateway-config.json(首次启动自动生成):
jsonc
{
"server": { "port": 8899, "host": "0.0.0.0" },
"auth": { "mode": "jwt" },
"policy": {
"allowedPlugins": [],
"pluginEnforce": "enforce",
"pluginRegistry": { "mode": "off" }
}
}host默认只听本机,对外服务显式改0.0.0.0(v3.1 起也支持环境变量HOST=0.0.0.0)- JWT 密钥走环境变量
ENT_JWT_SECRET,不落配置文件 - 供应商 API Key 写入
data/.env,一行一个:ENT_PROV_<名字>_KEY=sk-xxx
备份与升级
- 备份即复制
data目录(SQLite 单文件 + 配置 +.env),建议在网关停止时复制 - 升级:
npm i -g dsh-enterprise-gateway@latest后重启进程;数据与配置向后兼容,策略与账号不受影响 - 忘记密码:在包目录执行
node scripts/reset-admin-pw.mjs <新密码>(全局安装在$(npm root -g)/dsh-enterprise-gateway)
从源码运行(开发者)
bash
git clone https://github.com/mafeis/dsh-enterprise-gateway.git
cd dsh-enterprise-gateway/gateway
npm install
# 供应商密钥写入 data\.env,一行一个:ENT_PROV_<名字>_KEY=sk-xxx
node gateway.mjs系统要求
- Node.js ≥ 22.5(用内置 SQLite,无需安装数据库服务)
- 2C4G 起步;磁盘按留痕保留期估算(默认 90 天)
- 企业账号由管理台创建与停用;暂未内置 LDAP / SSO 对接
配置项详细说明见仓库 README 与 gateway-config.json 内注释。