我把 DeepSeek Harness 部署到服务器上,同事们玩嗨了!

大家好,我是程序员鱼皮。

最近 DeepSeek Harness(简称 DSH)真是火得一塌糊涂,有种今年春节那会儿 OpenClaw 时刻的感觉。

截止发文,DSH 刚好发布一个星期,GitHub Stars 已达 160k,插件生态也是出奇的热闹。社区自发整理的 awesome-dsh-plugin 精选列表收录的插件已经超过上千个了。

多模型接入、定时任务、代码审查、桌面宠物、摸鱼小游戏、股票看盘等等,各种实用和娱乐插件应有尽有。

真应了官方的口号「一切皆插件」,自由度高得离谱。

不过痛点也随之而来了……

DSH 默认情况下只有你自己能够访问。你精心装了一堆插件、调试好了自己的工作区,想和团队共享怎么办?总不能每个人自己重装一遍吧?

如果能让团队在同一个项目空间里协作就好了,大家都可以指挥 AI 干活,项目进度、会话记录、插件环境全都同步。

还有一个更常见的场景。出门在外,突然想看看家里电脑上 Vibe Coding 的项目跑到哪一步了、看看 AI 有没有乱来,好及时调整开发方向。

又或者你在地铁上,突然想到个好点子,想赶紧让 AI 帮你验证一下。结果手里只有一台手机,无奈只能先把点子记下来。

好在 DSH 天生就是跑在 Web 上的,只要把它部署到服务器上 7x24 小时运行,这些问题全都能解决。

这篇文章,我会手把手教大家把 DeepSeek Harness 部署到服务器上,实现随时随地、多设备访问。

依然是保姆皮教程,点个收藏,咱们开始~

DSH 服务器部署教程

首先,我们需要准备一台云服务器。这篇教程所用的服务器配置为 2C 2G,也就是 2 个 CPU 核心加 2 GB 内存,操作系统为 Debian 12.15,实测刚好能稳定运行 DSH。

建议大家使用不低于这个配置的服务器,配置太低可能会导致 DSH 运行不稳定。

1、连接到服务器

如果你用的是腾讯云、阿里云、华为云等主流大厂的云服务器,可以直接通过网页控制台登录服务器。

比如阿里云服务器,支持通过 Workbench 远程连接:

除了网页登录,你也可以通过 SSH 连接到服务器,大家可以查阅对应云服务商的官方文档了解具体操作。

成功连接服务器后,我们接下来需要安装一个服务器管理面板,省的在小黑框里操作。常见的有宝塔面板、1Panel 面板等。

2、安装 1Panel

这里我们以 1Panel 为例。1Panel 是一款现代化的开源 Linux 服务器运维管理面板,界面简洁好用,而且内置了应用商店,可以一键安装各种服务。

在服务器的终端中,运行 1 行命令就能安装 1Panel:

text
复制代码
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"

安装的第一步需要选择语言,我们输入 2 并按回车键来选择中文。

接下来要选择安装目录,直接回车,使用默认路径 /opt 就行。

然后系统会问你是否安装 Docker,输入 y 确认。这一步可能会因为网络环境稍慢一些,耐心等待几分钟就好。

Docker 安装完成之后,来到安装面板的最后一个环节,配置面板信息。

先是 配置镜像加速。国内网络访问 GitHub、Docker 等资源会比较慢,所以有必要开启镜像加速,输入 y 并回车即可。

接着 设置 1Panel 的访问端口。这个端口会拼接在你的服务器 IP 地址后面,用来访问管理面板。举个例子,假设服务器 IP 是 114.51.41.xx,你把端口设置成 9810,那么访问面板的地址就是 114.51.41.xx:9810

你可以直接回车使用 1Panel 随机生成的端口号,也可以自己设置一个好记的数字。不过要注意避开一些常用服务已经占用的端口号,我给大家整理成了一张图片方便参考:

接下来是 设置 1Panel 安全入口,相当于访问管理面板时额外需要的一个口令,也是拼接在地址后面的。比如你设置成 ikun,那根据上面的例子,访问管理面板的完整地址就是 114.51.41.91:9810/ikun。这样一来,就算别人知道了你服务器的 IP 和端口,没有安全入口也进不去。

这一步同样可以直接敲回车使用随机入口,但我强烈建议你设置一个自己记得住的。

最后是 设置面板的用户名和密码,这一步就不用多说了,设置完之后就算有人知道了安全入口,也会被用户名和密码挡在外面。三重防护,安全拉满。

3、开放防火墙端口

这一步也至关重要,只有开放了防火墙端口,你才能从外部正常访问服务器上的服务。

以阿里云为例,我们进入云服务器 ECS 的管理后台,找到「安全组」,在「入方向」里点击「增加规则」。如果你用的是其他厂商的服务器,也是找到类似「防火墙」或「安全组」的设置页面。

访问来源选择 0.0.0.0/0(任何位置),然后在访问目的端口中填入刚才为 1Panel 设置的端口号。

这里可以顺便把后面 DSH 要用到的端口也一起加上,比如 10443。你也可以自定义,只要不和上面的避让清单冲突就行。

全部填好之后点击提交。

恭喜你,看到这里你已经打败了 66.66% 的同学!

前置工作全部完成,接下来我们正式安装 DeepSeek Harness。

4、安装 DSH

在浏览器中输入 IP 地址:端口号/安全口令 来访问 1Panel 管理后台。

进入首页后,你可以看到服务器当前的运行状态和内存占用。

点击左侧菜单进入应用商店,搜索 DeepSeek Harness,能看到 1Panel 已经内置了这个应用,直接点击安装。

安装界面中有几个需要注意的配置项。

  • HTTPS 端口:填刚才在防火墙安全组里为 DSH 分配的端口号,比如 10443
  • 访问地址:填你服务器的公网 IP 地址
  • Web 用户名和密码:就是之后访问 DSH 时需要的登录凭证

这里科普一下,DSH 本身其实是没有内置登录认证的,它的 Web 服务器甚至故意拒绝绑定到 0.0.0.0(也就是公网可访问的地址),就是为了防止被未经授权的人访问。而 1Panel 应用商店里的这个版本集成了 Caddy 反向代理来提供 HTTPS 加密和用户名密码认证,所有外部访问都必须先通过 Caddy 鉴权才会转发给 DSH,安全性有了保障。

最后,勾选高级设置,打开端口外部访问,然后点击右下角的确认按钮开始安装。

耐心等待安装完成后,我们就可以通过 IP:10443 来访问 DeepSeek Harness 了。

由于我们还没有配置自己的域名和正式的 HTTPS 证书(1Panel 用的是自签名证书),浏览器会提示安全性问题,这是正常现象,无视风险继续访问就行。

输入刚才设置好的 Web 用户名和密码就可以登录了:

进入 DSH 之后,第一件事就是配置模型。你可以直接填入 DeepSeek 的 API Key,也可以在设置里切换到其他模型提供商。DSH 兼容 OpenAI 接口格式,所以市面上大多数兼容 OpenAI API 的模型服务都能直接接入。

到 DeepSeek 开放平台获取 API Key:https://platform.deepseek.com/api_keys

还有一点需要注意。因为 DSH 是运行在云端服务器上的,所以无法像在本地一样直接打开你电脑上的项目文件夹。你需要在工作区里手动创建项目目录,也可以让 DSH 用 git clone 把 GitHub 上的项目拉取到服务器上。

首次体验的话,建议大家先用一个测试项目,不要直接指向生产环境的代码仓库,毕竟 Agent 是有文件读写和命令执行权限的。

到这里,所有准备工作就完成了,可以开始体验多设备访问了。

5、体验演示

理论上,只要服务器配置扛得住,同时访问的设备数量是不受限制的。我自己用三四台设备同时访问也没有任何压力,而且项目会话、聊天记录、插件环境全部都是实时同步的。

这里我装了坤坤的主题皮肤,可以看到不管是手机还是电脑,打开 DSH 之后皮肤都是同步的。

文本的流式输出也是完全同步的,一台设备上正在生成的内容,另一台设备同步就能看到。

手机端体验的话,推荐装一个移动端 UI 适配插件 mexiaosqwq/dsh-web-mobile,它会在窄屏下自动把侧边栏收成抽屉、会话区铺满全宽,交互体验会好很多。

一行命令就能安装:

bash
复制代码
dsh plugin --profile web add github:mexiaosqwq/dsh-web-mobile

如果你想快速上手 DeepSeek Harness,学习基础用法,可以阅读我之前写的 《DeepSeek Harness 保姆级教程》

6、域名绑定

用 IP + 端口号的方式虽然能够访问 DSH,但不够方便也不够安全。如果你手头有域名的话,推荐给 DSH 绑定一个域名,这样不仅好记,还能配上正式的 HTTPS 证书。

操作起来并不难,首先进入 1Panel 左侧菜单的「网站」页面,1Panel 会提示你安装 OpenResty,点击去商店安装即可。

所有设置保持默认即可,直接点击安装。

安装完成后,再次回到左侧菜单的「网站」页面,点击创建。

这里可以选择「一键部署」或「反向代理」来完成域名绑定。

光在 1Panel 里配置还不够,你还需要到云服务商的域名控制台,给服务器 IP 配置 DNS 域名解析。

在域名解析设置里添加一条记录,记录类型选择 A,主机记录(名称)填 dsh,记录值填你的服务器公网 IP。

保存之后等待解析生效,再用完整的域名地址访问就能看到 DeepSeek Harness 了。

需要注意的是,如果 DSH 是部署在国内的服务器上,需要先完成 ICP 备案,才能正常进行域名访问。没有备案的话,运营商会拦截请求,页面是打不开的。

为什么选择服务器部署?

看到这里,有同学可能要问了:Vercel、Cloudflare、Netlify 这些平台这么方便,还不用自己准备服务器,为什么不把 DSH 部署在上面呢?

因为 DSH 不是一个单纯的前端网页,它是一个需要长期存活、持续读写文件、不断执行脚本命令的「AI 员工」,需要一个稳定的运行环境作为它的家。

而 Vercel、Cloudflare、Netlify 这些平台主打的是 Serverless 无服务器架构。

注意,Serverless 并不是真的没有服务器,而是你只有服务器的临时使用权,服务器由平台统一管理和调度,让你用起来几乎不需要自己通过命令行来操作服务器,更方便。

为什么说是临时使用权呢?

代码部署到 Serverless 平台后,只有收到请求的时候才会启动一个运行实例,请求处理完就销毁。这就是它的核心设计理念「用完即焚」。

这个理念本身很适合 API 接口、静态网站这类「来一个请求处理一个」的场景,但对 DSH 来说完全不适用。

DSH 需要持久的文件系统来保存项目代码和会话记录,需要真正的终端来执行 shell 命令,还需要长时间运行来处理复杂的多步任务。而 Serverless 平台的文件系统是只读或临时的,没有持久化终端,还有严格的执行超时限制,函数跑完就销毁,根本没法满足这些需求。

所以,最好还是把 DSH 老老实实部署在一台有完整操作系统的服务器上。

局域网部署

如果你还没有云服务器,或者想让所有 AI 生成的产物都保留在本地,局域网部署也是一个不错的选择。

使用局域网部署 DSH 后,可以在家里的设备之间共享,一台主力机跑着 DSH,躺床上用平板也能连过去查看 AI 的工作进度,全家设备共用一套环境。

如果你在办公室搭了一套共享的 DSH,同事们在同一个 Wi-Fi 下就能访问,不需要每个人都装一遍。

听上去还是很实用的吧,具体怎么操作呢?

由于 DSH 的插件生态太丰富了,已经有不少插件能很好地解决局域网访问这个需求。

社区里有一个很火的全家桶插件 dsh-web-ui,不仅内置了局域网远程访问功能,还提供了任务看板、Git 图谱、移动端远程控制、皮肤中心等一整套功能增强。这个项目在 GitHub 上已经有几千 Stars,大家有兴趣可以去体验一下。

如果你不想装全家桶,只需要局域网访问功能的话,也可以单独安装对应的插件。

我根据不同的使用场景,把相关的插件整理成了一张图片,大家按需选择就好:

这里补充一个技术细节。DSH 默认只监听 127.0.0.1 本机回环地址,官方在 CLI 层面故意拒绝了 --host 0.0.0.0 的绑定请求,就是为了防止把 Agent 的命令执行能力直接暴露到网络上。

上面这些局域网插件的工作原理,就是通过 bundle patch 在插件层面把 webserver 绑定到 0.0.0.0,同时注入 crypto.randomUUID 的 polyfill 来解决非 HTTPS 环境下浏览器 API 缺失的问题。虽然方便,但局域网访问意味着同网络下的任何设备都能连上你的 DSH,所以只建议在家庭、公司这种可信的内网环境中使用。

最后哔哔

看到这里,你应该能感受到 DeepSeek Harness 有多开放。

除了「一切皆插件」之外,DSH 本身选择 Web 形态而不是桌面客户端,意味着它天然支持远程访问、多设备同步、团队协作,这种开放性是那些只能在本地跑的 Agent 工具不具备的。

如果你想随时随地使用 DSH、跟团队共享,又或者是担心 AI 破坏了你自己电脑的文件,都可以跟着这篇教程来试试云端 DSH。

OK 就分享到这里,本文会收录到我免费开源的 《AI 编程零基础入门教程》,上千张图、几十万字,带你从 0 开始快速学会 AI 编程,做出自己的产品、跑通变现全流程,一次拿捏。

开源指路:https://github.com/liyupi/ai-guide

我是鱼皮,持续分享 AI 编程干货,觉得有用的话记得点赞收藏和关注~

欢迎在评论区分享更多 DeepSeek Harness 的玩法。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP