DeepSeek Harness Hub
← 返回列表

私有化部署套件ChenyuHeee/dsh-remote

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一条命令把 Web 终端部署到自有服务器并加密码登录

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/24 · 已提供中文文档

将 DeepSeek Harness 部署到你自己的服务器上,通过 HTTPS + Authelia 密码登录进行保护。一条命令:cp deploy.conf.example deploy.conf && ./deploy.sh

综合分
28.5
GitHub 分
28.5
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ChenyuHeee/dsh-remote
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH-remote

将 DeepSeek Harness 部署到你自己的服务器上,可从任何地方访问,并置于 HTTPS + 真正的登录门禁之后。

一条命令即可将一台普通的 Linux 服务器(装有 nginx)变成一个私有的、
受密码保护的 DeepSeek Harness Web 终端:

cp deploy.conf.example deploy.conf   # 编辑:域名、SSH 主机、登录名
./deploy.sh

结果:https://your-domain/ 提供 DSH Web GUI。匿名访问者会被
重定向到 Authelia 登录门户;登录后,会话 cookie 会让你保持
登录状态。DSH 本身从不接触公共网络——它始终绑定到
127.0.0.1,这正是 DSH 上游所要求的(在存在认证层之前,
dsh web --host 0.0.0.0 有意不被支持;本套件就是那个认证层)。

你将获得

| 领域 | 功能 |
|---|---|
| 加密 | Let's Encrypt TLS 1.2/1.3、HSTS、带 nginx 重载钩子的自动续期 |
| 认证 | Authelia 单域门户:Argon2id 密码、HttpOnly/Secure 会话 cookie(12 小时,记住我 1 个月) |
| 暴力破解防御 | 同一 IP 在 2 分钟内 ≥5 次密码失败 → 封禁该 IP 15 分钟 → 自动解除 |
| 隔离 | DSH 以专用的 dsh 系统用户(nologin)运行,systemd 加固,文件系统限制在 /opt/dsh,MemoryMax 设上限 |
| 零侵入 | 复用服务器现有的 nginx(一个 SNI vhost);其他站点、ufw、fail2ban 不受影响;不新增公共端口 |
| 运维 | 每日备份(cron)、版本固定的 DSH 安装、升级/密码/密钥脚本、完整健康检查套件 |

要求

- Linux x86_64(已在 Ubuntu/Debian 上测试),通过 SSH 使用 root 或免密 sudo
- nginx 监听 80/443 端口(若缺失则自动安装)
- Docker(用于约 40 MB 的 Authelia 容器)
- ≥1 GiB 内存,≥2 GiB 可用磁盘
- 一个 A 记录指向该服务器的域名
- 出站 HTTPS(npm registry、Let's Encrypt、你的 LLM 提供商)

参见 docs/PREREQUISITES.md。

快速开始

git clone https://github.com/ChenyuHeee/dsh-remote.git
cd dsh-remote
cp deploy.conf.example deploy.conf
$EDITOR deploy.conf      # DSH_DOMAIN、SSH_HOST、AUTHELIA_USER、(可选)AUTHELIA_PASSWORD
./deploy.sh

./deploy.sh 会渲染模板,将套件上传到服务器并运行:
setup.sh → install-dsh.sh → deploy-authelia.sh → deploy-nginx.sh →
check.sh。等待出现 ALL CHECKS PASSED。

⚠️ 先配置 DNS:在 nginx/certbot 步骤之前,DSH_DOMAIN 的 A 记录
必须解析到该服务器。请尽早添加;如果该步骤失败,修复 DNS 后
重新运行——每个脚本都是幂等的。

部署之后

- 初始密码:服务器上的 /opt/dsh/authelia/config/INITIAL_PASSWORD.txt
(仅 root 可读)——修改它:bash /opt/dsh/scripts/change-authelia-password.sh
- DeepSeek API 密钥:bash /opt/dsh/scripts/set-deepseek-key.sh sk-...,然后
在 GUI 中选择 DeepSeek + 模型(Settings → Models)
- 升级 DSH:bash /opt/dsh/scripts/install-dsh.sh
- 备份:bash /opt/dsh/scripts/backup.sh --install-cron
- 其他所有内容:docs/OPERATIONS.md

文档

- docs/ARCHITECTURE.md — 拓扑结构与设计决策
- docs/SECURITY.md — 安全策略详解
- docs/PREREQUISITES.md — 脚本会触及哪些内容
- docs/OPERATIONS.md — 运行手册:密码、密钥、升级、备份、故障排查
- AGENTS.md — 供 AI 代理(Claude Code、DSH 等)部署本仓库的操作手册

配置参考(deploy.conf)

| 键 | 默认值 | 含义 |
|---|---|---|
| DSH_DOMAIN | — | DSH Web UI 的公开域名(A 记录 → 服务器) |
| SSH_HOST | — | user@host / IP / ssh 别名;留空 = 在本机部署 |
| SSH_PORT | 22 | 可选的 SSH 端口 |
| AUTHELIA_USER | admin | 门户登录用户名 |
| AUTHELIA_PASSWORD | (自动生成) | 初始密码;留空 = 自动生成强随机密码 |
| DSH_VERSION | 0.1.1-rc.2 | @deepseek-ai/dsh 的 npm dist-tag 或精确版本 |
| SWAP_SIZE_GB | 2 | 服务器没有 swap 时的 swapfile 大小 |

一张图看懂安全模型

browser ──TLS 443──▶ nginx (SNI vhost, existing sites untouched)
│  /authelia/*        → Authelia portal (login, cookies, IP bans)
│  /internal/api/*    → auth subrequests (internal-only)
└  everything else ── auth gate ──▶ DSH web (127.0.0.1:3080, user dsh)

DSH 自身的 /api 信任围栏(DNS 重绑定防御)保持启用:代理会保留公开的 Host 头,并由 --trusted-host 声明该授权机构。

免责声明

本工具包基于 deepseek-ai/deepseek-harness、
Authelia、nginx 和 certbot 构建。它通过
npm(@deepseek-ai/dsh)部署 DSH,并按版本固定。这不是 DeepSeek 的官方
产品。在将其用于敏感工作之前,请先阅读 docs/SECURITY.md;对服务器的 SSH 访问仍然是最终的信任边界。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(ChenyuHeee)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群