利用 dsh-pocket 的 DeepSeek Harness 上云方法
2026/9/19约 963 字大约 3 分钟
重要
DeepSeek Harness仍处于前期开发阶段,每个版本都可能推出破坏性更新,请注意本文使用的版本
且不建议对dsh或dsh-pocket进行升级
本文介绍了将DeepSeek Harness部署到云服务器上,通过浏览器访问,实现实时同步聊天内容、聊天记录的方法
安全提醒
注意
本文使用root用户启动systemd服务,有安全风险,请注意
本文将LLM语言大模型的调用开放到了公网,有安全风险,请注意保护服务器数据安全
本文使用http明文传输,有窃听风险,请注意改用https方式
警告
请定期更换并重置API
核心原理
- 将DSH部署到云服务器上
dsh-web默认只放行本地浏览器对127.0.0.1:3080的访问,利用dsh-pocket插件转发,以实现公网访问- DSH通过API-key访问DeepSeek API,自用的云服务器只访问API并转发对话
硬件需求
- 1C1G
- 公网IP或穿透技术(如NAT端口转发)
准备工作
- 部署
swap# 安装命令: 略 # 部署命令: fallocate -l 1G /swapfile chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab Node.js(>=24.0 or LTS 24)
安装要点
- npm安装慢可以换镜像
npm config set registry https://registry.npmmirror.com - 首次启动
dsh web会二次安装,在~/.dsh/profiles/web里用安装profile依赖,耐心等待
开始操作
- 安装
DeepSeek Harness v0.1.5-rc2及dsh-pocket插件v2.10.6考虑到兼容性,本文指定了目前最新的可用版本。若要安装最新版,删除npm install -g @deepseek-ai/dsh@0.1.5-rc2 dsh plugin --profile web add dsh-pocket@2.10.6@0.1.5-rc2和@2.10.6即可 - 配置
DeepSeek Harness及dsh-pocket插件- API-key: 修改
~/.dsh/.credentials.yamlversion: 1 records: client-connection/browser-session: kind: grant payload: version: 1 secret: *** refs: DEEPSEEK_API_KEY: sk-*** - dsh-pocket
修改~/.dsh/dsh-pocket/settings.json修改{ "lanAuthEnabled": false, "publicPinCustom": true }~/.dsh/dsh-pocket/token12345678 # 填写八位数字密码,不建议太简单!!!
- API-key: 修改
- 配置防火墙
Debian的ufw默认会丢弃dsh-pocket的转发,所以需要进行配置ufw allow from 172.16.0.0/16 to any port 3080 proto tcp注意
该部分涉及数据安全,请自行斟酌,充分搜索理解后再操作!
- 远程访问
- 若机器有公网ip,则直接访问
3081端口 - 若为NAT云服务器,在面板将公网
13081映射到3081,公网通过your.servers.global.ip:13081访问即可
- 若机器有公网ip,则直接访问
- 启动测试
运行dsh web测试通过公网能否访问即可
常驻运行(systemd)
- 停止前台进程
pkill -f 'dsh web' - 写服务
其中ExecStart填入dsh安装的绝对路径,不知道的话运行where dshcat > /etc/systemd/system/dsh.service <<'EOF' [Unit] Description=DeepSeek Harness web UI After=network.target [Service] Type=simple User=root WorkingDirectory=/root/.dsh ExecStart=.../dsh web --no-open Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF - 加载并启动
systemctl daemon-reload systemctl enable --now dsh - 验证
systemctl status dsh --no-pager # active (running) 即可 ss -tlnp | grep 3080 journalctl -u dsh -f # 看日志(token 也在这)
命令速查
| 场景 | 命令 |
|---|---|
| 看服务状态 | systemctl status dsh |
| 实时日志 | journalctl -u dsh -f |
| 端口占用 | ss -tlnp |
| 内存/swap | free -m |
重要
由于dsh仍处于前期开发阶段,有破坏性更新。在完成部署后,不建议对dsh或dsh-pocket进行升级
npm install -g @deepseek-ai/dsh && systemctl restart dsh # 升级dsh
dsh plugin --profile web update dsh-pocket && systemctl restart dsh # 升级 dsh-pocket鸣谢
DeepSeek Harness
shaobeichen/dsh-pocket
常见问题
dsh-pocket不适配
编写本文时,dsh=0.1.5-rc6,dsh-pocket=2.10.6
查阅项目页以获取最新版本的时间
可以通过issue页检索测试各个dsh版本
或通过时间对应测试dsh版本
会话能迁移吗
跨操作系统:不能
同操作系统:保证工作目录完全一致,将~\.dsh\sessions和~\.dsh\storages迁移即可
