🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

VPS 部署网关 AIcivilization/dsh-vps

DeepSeek Harnessv1.16.1
AIcivilization17 天前有提交已提供中文文档扫描:含敏感能力

把 DeepSeek Harness 装进你的 VPS:一条命令,公网可达,界面原样 Your DeepSeek…

38/100
综合分
5
GitHub 星标
511
npm 周下载
—/5
用户评分

数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-vps
npm 源 · dsh-vps 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-vps @ 1.16.1
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 15:56:05

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 56 处,展示前 41 条)
  • 发起网络请求
    plugin/client.js:2413
    const res = await fetch(path, { credentials: 'same-origin', cache: 'no-store', signal: AbortSignal.timeout(20_000) })
  • 发起网络请求
    plugin/client.js:2422
    const res = await fetch('/gate/update', { method: 'POST', credentials: 'same-origin', signal: AbortSignal.timeout(30_000) })
  • 写入剪贴板
    plugin/client.js:2452
    await navigator.clipboard.writeText(text)
  • 发起网络请求
    plugin/client.js:2694
    const res = await fetch('/gate/domain', {
  • 发起网络请求
    plugin/client.js:2781
    const res = await fetch('/gate/password', {
  • 发起网络请求
    plugin/client.js:2855
    const res = await fetch(INSTALL_API, {
  • 发起网络请求
    plugin/client.js:2973
    const res = await fetch(SSHKEY_API, { method, credentials: 'same-origin', cache: 'no-store', signal: AbortSignal.timeout(30_000) })
  • 读取本地文件
    scripts/bootstrap.mjs:36
    if (!existsSync(target)) {
  • 执行外部命令来自配置/变量
    scripts/bootstrap.mjs:49
    const result = spawnSync(command, argv, { stdio: 'inherit', shell: false })
  • 读取本地文件
    plugin/remote-install.mjs:140
    return ['id_ed25519', 'id_ecdsa', 'id_rsa'].map((n) => join(homedir(), '.ssh', n)).filter((f) => existsSync(f))
  • 读取本地文件
    plugin/remote-install.mjs:146
    const publicKey = (await readFile(`${localKeyPath(env)}.pub`, 'utf8')).trim()
  • 写入本地文件
    plugin/remote-install.mjs:158
    await mkdir(join(file, '..'), { recursive: true, mode: 0o700 })
  • 写入本地文件
    plugin/remote-install.mjs:252
    await writeFile(helper, `@set ELECTRON_RUN_AS_NODE=1\r\n@"${process.execPath}" -e "process.stdout.write(process.env.DSH_VPS_PW+'\\n')"\r\n`)
  • 写入本地文件
    plugin/remote-install.mjs:254
    await writeFile(helper, '#!/bin/sh\nprintf \'%s\\n\' "$DSH_VPS_PW"\n', { mode: 0o700 })
  • 写入本地文件
    plugin/remote-install.mjs:265
    await writeFile(keyFile, privateKey, { mode: 0o600 })
  • 读取本地文件
    plugin/remote-install.mjs:269
    for (const f of [localKeyPath(env), ...defaultIdentities()]) if (existsSync(f)) args.push('-i', f)
  • 删除本地文件递归
    plugin/remote-install.mjs:279
    if (askDir) rm(askDir, { recursive: true, force: true }).catch(() => {})
  • 删除本地文件递归
    plugin/remote-install.mjs:315
    if (askDir) rm(askDir, { recursive: true, force: true }).catch(() => {})
  • 读取本地文件
    plugin/update.mjs:59
    return JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8')).version ?? ''
  • 写入本地文件
    gate/server.js:309
    fs.mkdirSync(STATE_DIR, { recursive: true, mode: 0o700 });
  • 读取本地文件
    gate/server.js:323
    const key = fs.readFileSync(file);
  • 写入本地文件
    gate/server.js:329
    fs.writeFileSync(file, key, { mode: 0o600 });
  • 读取本地文件
    gate/server.js:336
    const admin = JSON.parse(fs.readFileSync(adminPath(), "utf8"));
  • 执行外部命令来自配置/变量
    gate/server.js:493
    const child = spawn(process.execPath, args, {
  • 发起网络请求
    gate/server.js:582
    const req = http.request(
  • 发起网络请求
    gate/server.js:644
    const req = http.request(
  • 发起网络请求
    gate/server.js:1055
    const upstreamReq = http.request(
  • 读取本地文件
    gate/server.js:1208
    return !fs.existsSync(setupLockPath());
  • 读取本地文件
    gate/server.js:1222
    const token = fs.readFileSync(setupTokenPath(), "utf8").trim();
  • 删除本地文件
    gate/server.js:1231
    fs.rmSync(setupTokenPath());
  • 发起网络请求
    gate/server.js:1262
    const req = http.request(
  • 读取本地文件
    gate/server.js:1324
    caddyfile = fs.readFileSync("/etc/caddy/Caddyfile", "utf8");
  • 发起网络请求
    gate/server.js:1333
    const req = http.request(
  • 写入本地文件
    gate/server.js:1363
    fs.writeFileSync(path.join(STATE_DIR, "gate.env"), lines.join("\n") + "\n", { mode: 0o600 });
  • 读取本地文件
    gate/server.js:1369
    const cfg = JSON.parse(fs.readFileSync(cfgFile, "utf8"));
  • 写入本地文件
    gate/server.js:1372
    fs.writeFileSync(cfgFile, JSON.stringify(cfg, null, 2) + "\n", { mode: 0o600 });
  • 写入本地文件
    gate/server.js:1397
    fs.writeFileSync(CADDY_SITE_FILE, siteBlock(domain));
  • 写入本地文件
    gate/server.js:1402
    if (previous !== null) fs.writeFileSync(CADDY_SITE_FILE, previous);
  • 执行外部命令来自配置/变量
    gate/server.js:1533
    const child = spawn(process.execPath, [DSH_BIN, ...cmdArgs], {
  • 发起网络请求
    gate/server.js:1570
    const req = https.get(url, { headers: { accept: "application/json" }, timeout: 10_000 }, (res) => {
  • 读取本地文件
    gate/site-block.js:30
    const txt = fs.readFileSync(path.join(stateDir, "vpn.env"), "utf8");
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 一条命令部署
  • 零依赖登录网关
  • 自动HTTPS公网访问

一条命令把 DeepSeek Harness 装进 VPS:零依赖登录网关给原生 DSH 网页界面加上 HTTPS 和密码,设置、API Key、插件市场随处可用。

README

由 DeepSeek 最新模型翻译生成
dsh-vps 把 DeepSeek Harness 装进你的 VPS:一条命令,公网可达,界面原样 Your DeepSeek Harness on your own VPS — one command, reachable from anywhere, native UI intact 简体中文 · English 这是 DSH 的 VPS 部署工具:把带登录界面的原版 DSH 装到你自己的 VPS 上,之后在任何地方用浏览器访问。 两种装法任选其一: ① 在自己电脑上的 DSH 里填表安装:插件市场搜索 dsh-vps 安装(或执行 dsh plugin add dsh-vps),打开「设置 → VPS 部署」,填服务器 IP、SSH 端口、用户名,选登录方式(密码 / 私钥 / 本机密钥),有域名再填域名,点「安装到这台 VPS」。 ② 在 VPS 上执行一键安装命令: curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/install.sh | sudo bash -s 有域名、在国内网络时,在末尾追加参数,例如 bash -s -- --domain dsh.example.com --mirror cn,详见下方安装。
展开完整文档(README 剩余 1 节)
dsh-vps

把 DeepSeek Harness 装进你的 VPS:一条命令,公网可达,界面原样 Your DeepSeek Harness on your own VPS — one command, reachable from anywhere, native UI intact

简体中文 · English

这是 DSH 的 VPS 部署工具:把带登录界面的原版 DSH 装到你自己的 VPS 上,之后在任何地方用浏览器访问。 两种装法任选其一:

① 在自己电脑上的 DSH 里填表安装:插件市场搜索 dsh-vps 安装(或执行 dsh plugin add dsh-vps),打开「设置 → VPS 部署」,填服务器 IP、SSH 端口、用户名,选登录方式(密码 / 私钥 / 本机密钥),有域名再填域名,点「安装到这台 VPS」。

② 在 VPS 上执行一键安装命令:

curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/install.sh | sudo bash -s

有域名、在国内网络时,在末尾追加参数,例如 bash -s -- --domain dsh.example.com --mirror cn,详见下方安装。

简介

DeepSeek Harness(DSH)默认只认本机浏览器:它的特权接口(设置、API Key、插件管理)受浏览器信任围栏保护,直接反代到公网后这些页面全部失效。

dsh-vps 用一个零运行时依赖的登录网关(dsh-gate)架在 DSH 前面:公网请求先过 scrypt 登录门,再由网关以服务端身份完成 DSH 会话认证并透传。你在任何地方打开浏览器,用的都是官方原版的 DSH Web 界面,设置、模型、API Key、插件市场该有的都有。

DeepSeek Harness (DSH) trusts the operator's own browser only: its privileged interfaces — settings, API keys, plugin management — sit behind a browser-trust fence, and a plain reverse proxy to the public internet leaves those pages dead.

dsh-vps puts a zero-dependency login gateway (dsh-gate) in front of DSH: public requests pass a scrypt login gate first, then the gateway performs DSH session authentication server-side and proxies the rest. You open a browser anywhere and get the stock DSH web interface — settings, models, API keys and the plugin marketplace all working.

能力一览

| 能力 | 说明 |
| 两种装法 | 在自己电脑上的 DSH 里填表、点一下安装(Mac / Windows / Linux);或在 VPS 上执行一条 curl \| bash。装完即 systemd 托管、开机自启 |
| 登录门 | scrypt 口令 + HMAC 会话 Cookie + 登录限流;「保持登录」默认勾选,30 天内免登录;「设置 → VPS 部署 → 本机状态」里可修改密码(需当前密码,改后其他设备自动退出) |
| 添加到手机桌面 | 「设置 → VPS 部署 → 本机状态」里扫码,在手机上把 DSH 当作应用添加到主屏幕,全屏打开、像原生应用一样使用 |
| 浏览器初始向导 | 管理员账号、域名、DeepSeek API Key、预置插件,全程在浏览器里填完 |
| 中英双语 | 登录页、初始向导、启动等待页按浏览器语言显示中文或英文,右上角可手动切换并记住;DSH 内的「VPS 部署」页与升级提示条跟随 DSH 的语言设置 |
| 一次性启动令牌 | 向导只对持有令牌的人开放,链接随安装输出,dsh-vps setup-url 可重取,设置完成即作废 |
| 预置插件一键装 | 向导内置 3 款:本产品的设置页 dsh-vps(必装),以及插件市场与 VPS 管理(默认勾选、可取消);后台装完自动重启生效 |
| 自动 HTTPS | Caddy 自动签发并续期证书;向导里改域名即时热加载 |
| 公网可用的原生设置页 | 设置、模型、API Key、权限策略在公网域名下照常读写 |
| 插件市场可用 | 市场里浏览/安装插件,点「立即重启」直接生效 |
| 会话自愈 | DSH 首启与插件安装需要几十秒,页面自动等待,就绪后自动进入 |
| 跟随官方一键升级 | DSH 出新版本时页面提示,在「设置 → VPS 部署」里点一下升级;升级走备份 → 自检 → 失败自动回滚,也可随时手动回滚 |
| 可观测与可恢复 | 本机 /gate/health 直接给出崩溃原因与连续崩溃次数;dsh-vps backup 保留最近 3 份 |
| 收紧的暴露面 | 会话 Cookie 恒为 Secure/HttpOnly/SameSite;诊断接口只对服务器本机与已登录会话开放;服务以无特权的 dsh 用户运行并受 systemd 沙箱约束 |

截图

展开查看 12 张原图(DSH 里的「VPS 部署」页 → 安装 → 向导 → 设置完成 → 登录 → DSH 界面 → 设置 → 插件市场)

| 在 DSH 里填表安装到 VPS | 从 VPS 卸载 | VPS 上的「本机状态」 |

| 安装完成 | 初始设置向导 | 向导已填写 |

| 设置完成 | 登录门 | 登录 |

| DSH 原生界面 | 设置(公网域名下可用) | 插件市场 |

环境要求

- Ubuntu 22.04+ / Debian 12+(root)
- 2C2G 以上,端口 80/443 开放
- 有域名即可自动 HTTPS(先把 A 记录解析到本机);暂无域名也能先用公网 IP + 自签证书

安装

方式一:在自己电脑上的 DSH 里填表安装

Mac、Windows、Linux 上的 DSH 都可以:

1. 在 DSH 里装上插件 dsh-vps:插件市场搜索安装,或执行 dsh plugin add dsh-vps
2. 打开「设置 → VPS 部署」,填服务器 IP、SSH 端口、用户名,选登录方式;有域名(A 记录已解析到服务器)再填上域名,服务器在国内就勾上「服务器在国内」
3. 点「安装到这台 VPS」

- 登录方式三选一:密码;私钥(粘贴或选择云厂商给的 .pem / 自己的 id_ed25519,可带口令);本机密钥(一键生成专用密钥,复制公钥或那行命令到云厂商控制台的网页终端执行一次,~/.ssh 里已有的密钥也会一并尝试)。服务器关掉了密码登录(重装系统后常见)时用后两种
- 密码、私钥只用这一次,不保存;本机密钥的私钥只留在这台电脑上
- 页面实时显示安装日志,完成后直接给出设置向导的链接
- 安装在服务器上后台运行,中途关掉页面或网络断开都不影响
- 需要本机有 OpenSSH 客户端:Mac、Linux 自带;Windows 10/11 在「设置 → 系统 → 可选功能」里添加「OpenSSH 客户端」

方式二:在 VPS 上执行一键安装命令

curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/install.sh \
| sudo bash -s -- --domain dsh.example.com

国内网络加 --mirror cn(Node 与 DSH 走 npmmirror):

curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/install.sh \
| sudo bash -s -- --domain dsh.example.com --mirror cn

还没有域名?去掉 --domain 即可,按公网 IP 访问:

bash
curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/install.sh | sudo bash -s

此时证书由 Caddy 内置 CA 自签,浏览器会提示「不安全 / 证书不受信任」,属预期现象,选择继续访问即可。之后在向导里填上域名,Caddy 自动换成正式证书。(方式一不填域名时也是这样。)

走 npm 也行,装的是这个包自带的同一份脚本(版本固定,不联网拉取;需本机已有 Node 22+): bash
npx dsh-vps-install install --domain dsh.example.com

想固定在某个发布版本(而非 main),把地址里的 main 换成版本 tag,并让后续拉取的网关文件也用同一版本: bash
curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/v1.7.0/install.sh \
| sudo DSHVPS_RAW_BASE=https://raw.githubusercontent.com/AIcivilization/dsh-vps/v1.7.0 bash -s -- --domain dsh.example.com

安装末尾的自检若报「DSH 尚未就绪」,设置链接照样会打印;页面会显示启动进度与具体错误,排障见 journalctl -u dsh-gate -n 80 --no-pager。

更新

新装直接是官方最新版。 安装时取 npm 上官方最新版(与下面的升级提示同一规则:latest 与 next 中较新、发布满 12 小时);万一装不上或装好起不来,自动退回本项目验证过的版本。想指定版本:安装命令末尾加 --dsh <版本>,或 --dsh verified 装验证过的版本。

DSH 本身跟随官方版本升级。 网关每 6 小时检查一次 npm 上的官方最新版(正式渠道 latest 与预览渠道 next 中较新的一个),有新版本时 DSH 页面右下角弹出提示(也可以在「设置 → VPS 部署」里查看和操作),点「立即升级」并确认即可:自动备份 → 安装新版 → 自检,自检不通过自动回滚到原版本,全程约 1–3 分钟。点「稍后」则这个版本不再提示。新版本发布满 12 小时后才会提示——上游常有“主包先发、子包几小时后才补齐”的情况,刚发布就升级只会装失败。也可以在服务器上手动执行: bash
sudo dsh-vps upgrade # 升到本项目验证过的版本
sudo dsh-vps upgrade --latest # 升到官方最新版(与页面上的「立即升级」相同)
sudo dsh-vps rollback # 切回上一个版本

网关(登录页、代理)自身的更新: bash
sudo dsh-vps update-gate

v1.5.0 之前安装的机器,重跑一次上方的一键安装命令即可获得页面升级提示(进入修复/更新模式,账号与数据保留)。

卸载 bash
curl -fsSL https://raw.githubusercontent.com/AIcivilization/dsh-vps/main/uninstall.sh \
| sudo bash -s -- --yes

在自己电脑上的 DSH 里卸载:「设置 → VPS 部署」→「从 VPS 卸载」,填服务器登录信息,选择是否保留 DSH 数据、是否连 Caddy 一起移除,点「从这台 VPS 卸载」。默认保留 DSH 数据。

也可以在服务器上执行上面的命令:删除服务、安装目录、Caddy 站点块与 DSH 数据目录,删除前打包备份(含 Caddyfile)到 /root/dsh-vps-uninstall-<时间戳>.tar.gz。安装前原有的 Caddyfile 会被还原。--keep-data 保留 DSH 数据,--purge-caddy 连 Caddy 一起移除。卸载完再跑安装命令即为全新环境。

首次使用

安装结束时会给出一条带一次性令牌的初始设置链接(命令行安装打印在终端里,填表安装显示在设置页上),浏览器打开它进入向导(直接打开 IP 或域名只会看到「需要启动令牌」页,这是有意的):填管理员用户名/密码 → (可选)域名、DeepSeek API Key 与预置插件 → 登录即用。向导只对持有令牌的人开放,令牌在设置完成后自动作废。链接丢了随时重取: bash
sudo dsh-vps setup-url

API Key 跳过也无妨,登录后仍可在「添加 API Key」引导或 设置 → 模型 → DeepSeek 中补填。

插件在后台安装(约几十秒),始终取 npm 上的最新版本,装完 DSH 自动重启生效,共三款:

- dsh-vps(本产品自带,必装):DSH 设置里的「VPS 部署」页,分三个页签——「本机状态」(DSH 版本与一键升级、网关状态与访问方式、服务器常用命令)、「安装到 VPS」「从 VPS 卸载」(经 SSH 把 DSH 装到或卸出另一台 VPS)。装在自己电脑上的 DSH 里时只有后两个页签。界面语言跟随 DSH「设置 → 通用设置 → 语言」,目前 DSH 提供中文与英文,切换后立即生效;页面上的升级提示条同样跟随

- dsh-market:设置页内浏览、搜索、一键安装社区插件与主题。其余插件留给你自己挑,装好后在市场里按需添加
- dsh-vps-manager:在 DSH 里直接管理这台 VPS——/vps- 系列查询命令不经过模型、不花 token,对话内嵌终端,AI 操作按风险分级确认,另有运维菜谱库。需在 设置 → VPS Manager 中添加本机(SSH 密钥登录)

管理命令 bash
sudo dsh-vps status # 服务状态 + 健康 + 版本提示
sudo dsh-vps restart # 重启(DSH 随之重启并自动重新兑换会话)
sudo dsh-vps upgrade # 升级 DSH 到已验证版本(备份 → 自检 → 失败自动回滚)
sudo dsh-vps update-gate # 拉取并重启网关自身代码(安装目录非 git 仓库,无需 git pull)
sudo dsh-vps ownshost on # 应用设置页可用性补丁(公网域名下恢复设置页)
sudo dsh-vps selfcheck # 跑一遍回归自检(登录 / RPC / WebSocket / 会话)
sudo dsh-vps rollback # 切回上一 DSH 版本
sudo dsh-vps reset-admin # 忘记管理员密码时的应急重置(重新走向导并换发令牌,已登录的会话全部失效)
sudo dsh-vps setup-url # 重新打印带一次性令牌的初始设置链接
sudo dsh-vps backup # 备份数据(保留最近 3 份)

Caddy 站点块由 gate/site-block.js 统一生成,安装与改域名共用同一份模板。

运行机制

DSH 与网关均只绑 127.0.0.1,用户浏览器接触不到 DSH 的会话 Cookie,所有请求经网关认证后透传。

- 会话自愈:首启与插件安装期间页面显示「DeepSeek Harness 正在启动」,按 3 秒一次自检,会话就绪后自动刷新进入。
- 设置页可用性:DSH 前端按页面 hostname 判断是否为操作者本机浏览器,公网域名下会隐藏设置。网关随页面下发官方支持的 __DSH_TRANSPORT__.ownsHost 声明,设置页、模型、API Key 与权限策略随之恢复。--trusted-host 只负责打开网络围栏,两者是两道独立的门。
- 插件市场重启:市场的「立即重启」由网关接管——它剥掉 Caddy 加的 X-Forwarded-For(该头会触发 DSH 的回环校验而 403),并由网关重启自己托管的 DSH 子进程,保证会话兑换链路不中断。
- 排障入口:sudo ss -ltnp | grep 3080 查残留 DSH 进程;服务器上执行 curl -s http://127.0.0.1:3100/gate/health 可拿到 lastError / lastExit / crashStreak(该接口只对服务器本机与已登录会话开放)

仓库内容

| 文件 | 作用 |
| install.sh | 一键安装入口(唯一可选参数 --domain、--mirror cn) |
| uninstall.sh | 卸载并备份 |
| bin/dsh-vps | 运维命令行 |
| gate/server.js | 登录网关(Node 原生,零依赖) |
| gate/site-block.js | Caddy 站点块模板(安装 / 改域名共用) |
| caddy/Caddyfile.template | Caddy 主配置 |
| units/dsh-gate.service | systemd 单元模板 |
| versions.json | DSH 已验证版本清单 |
| plugin/ + cordis.patch.yml | DSH 插件:「设置 → VPS 部署」(版本与一键升级、网关状态;或填表经 SSH 安装到 VPS) |

许可

MIT
预览分享卡片长什么样 ↓AIcivilization/dsh-vps
分享 · DeepSeek Harness Hub
AIcivilization/dsh-vps

把 DeepSeek Harness 装进你的 VPS:一条命令,公网可达,界面原样 Your DeepSeek…

回到顶部