DSH 部署 + 证书导入:我踩过的 5 个坑

先聊聊我为啥折腾这个

八月中旬 DeepSeek 官方开源了一个叫 DeepSeek Harness 的玩意儿,听着挺唬人。我装了一下发现真香——一句话,AI 直接帮我改文件、跑命令。

但装的过程踩了一堆坑。最离谱的是「证书不信任」——浏览器一直弹红字警告。研究半天才搞明白 Caddy 自签证书要导到 Mac 钥匙串。

今天把 1Panel 一键部署 + macOS 证书导入,全流程写一遍。你跟着走,10 分钟搞定。

⚠️ 注意:DSH 现在是 0.1 开发者预览版,会快速迭代。生产环境慎用。


第一步:搞清楚 DSH 是啥

先说它是啥,免得装完不会用。

DSH 是 DeepSeek 官方 2026 年 8 月 13 号开源的智能体开发框架。注意——它不是新模型,也不是 API 客户端。它是一套让模型「长出手脚」的运行框架。

啥意思?普通 AI 只能回答问题,DSH 装上之后,AI 能直接操作你的文件、跑命令、调工具。

举个例子。你跟普通 AI 说「帮我重命名桌面上所有 jpg 文件按日期排序」,它只能给你一段代码。跟 DSH 说,它会直接执行这段代码。

⚠️ 安全提醒:DSH 能在你工作区里执行命令,等同于给 AI 开了 Shell 权限。装的时候务必设强密码,别把宿主机根目录、Docker Socket 这些敏感路径挂载进去。

GitHub 项目地址:deepseek-ai/deepseek-harness,npm 包 @deepseek-ai/dsh。


第二步:1Panel 一键部署

我用 1Panel,因为 1Panel 已经把 DSH 集成进应用商店,一键装。没装 1Panel 的先去 1panel.io 装一个。

登录 1Panel,左边菜单点「应用商店」,搜「DeepSeek Harness」,进详情页。能看到应用图标、简介、支持 amd64 / arm64、数据目录(data/dsh、data/workspace、data/caddy)、访问协议 HTTPS。

点「安装」按钮,弹配置表单。下面几项重点说几个容易填错的:

架构 —— Intel/AMD CPU 选 amd64,苹果芯片或绿联 NAS 选 arm64。

访问地址 —— 最容易填错。只能填裸 IP 或主机名,绝对不能带 https://、端口号、路径。比如 IP 是 1.2.3.4,就填 1.2.3.4,别填 https://1.2.3.4:8443。这是 1Panel 商店里 DSH 最高频的踩坑点,没有之一。

HTTPS 端口 —— 任意未占用端口,但不能是 80 或 443(已被 1Panel 占用)。推荐 8443 或 9443。

密码 —— 必填,必须强密码。DSH 有 Shell 能力,密码弱等于把服务器送给别人。

填完提交,等一两分钟容器起来。然后放防火墙端口。

CentOS / RHEL:

firewall-cmd --permanent --add-port=8443/tcp
firewall-cmd --reload

Ubuntu / Debian:

ufw allow 8443/tcp
ufw reload

💡 服务器在阿里云/腾讯云/华为云的话,还必须去云控制台 → 安全组 → 入方向规则里手动放行。很多人访问不到都是栽在这里——防火墙放行了,安全组没放行,等于没放。


第三步:浏览器访问 + 证书警告处理

防火墙和安全组都放好,浏览器访问 https://你的服务器IP:8443

首次会弹「证书不受信任」红字警告。这是正常的——Caddy 给的是自签证书,浏览器不认。

两种处理方式。临时方案:点「高级 → 继续前往」,仅自己测试用。正式方案:把根证书导到 Mac 系统钥匙串,设为始终信任,彻底消除警告。下一节专门讲。


第四步:macOS 证书导入(最关键的踩坑环节)

把 Caddy 生成的根证书导到 Mac 系统钥匙串。这一步做对了,浏览器再也不会弹红字。

第一步,把证书从服务器下载到 Mac。容器里的 root.crt 在 Mac 上没法直接访问。三种方法任选。

最推荐 1Panel 文件管理:登录 1Panel → 「主机」→「文件」→ 导航到 /opt/1panel/apps/deepseek-harness/data/caddy/pki/authorities/local/ → 找到 root.crt → 右键「下载」。

终端党用 SCP:

scp root@:/opt/1panel/apps/deepseek-harness/data/caddy/pki/authorities/local/root.crt ~/Downloads/

熟悉 Docker 的用 docker cp:

docker cp :/data/caddy/pki/authorities/local/root.crt ~/Downloads/

第二步,双击导入钥匙串。Finder → 下载文件夹 → 双击 root.crt → 弹「添加证书」对话框 → 钥匙串保持「登录」→ 点「添加」。

⚠️ 这一步只是把证书扔进钥匙串,默认还是不信任

第三步,设为「始终信任」。打开「钥匙串访问」→ 左侧「登录」→ 右上角搜索 root 或服务器 IP → 找到证书 → 双击 → 展开「信任」→ 「使用此证书时」下拉改为「始终信任」→ 关窗口 → 输 Mac 开机密码。看到证书名称左边出现蓝色加号就完事。

第四步,验证生效。完全退出浏览器——不是关窗口,是 Cmd + Q 彻底退出。Chrome 有独立证书存储,不重启不生效。重新打开访问 DSH 地址,地址栏应该显示小锁图标。

⚠️ Chrome 特殊情况:Chrome 不完全信任系统钥匙串里的证书。要去 chrome://settings/security → 管理证书 → 「受信任的根证书颁发机构」→ 导入 root.crt → 重启 Chrome。

⚠️ Firefox 特殊情况:Firefox 不读 macOS 系统钥匙串。设置 → 隐私与安全 → 证书 → 查看证书 → 「您的证书」→ 导入 root.crt → 勾「信任由此证书颁发机构来标识网站」。


效果怎么样

装完别急着正式用,先跑 3 个测试任务验证 DSH 工作正常。

测试 1,验证 API Key。打开 DSH Web UI,输入「用一句话介绍你自己」。收到模型回复说明 DeepSeek API Key 配通了。

测试 2,验证文件操作。输入「列出当前工作区有哪些文件」。返回文件列表说明对应 data/workspace 目录。

测试 3,验证 Shell 执行。输入「运行 uname -a 并告诉我结果」。返回系统信息说明工具调用通道畅通。

三个都过说明 DSH 完全正常。

我的真实使用:装好之后让它帮我重命名桌面一堆截图按日期排序、扫了一遍项目 TODO 注释、写了几个小工具脚本。整个过程 AI 直接在终端里跑,没用我手动复制粘贴。

DSH 本身不带模型,必须接外部 LLM API。每次对话消耗 token,按调用方费率计费。DeepSeek API Key 去 platform.deepseek.com 注册,几块钱跑很久。


你可能想问的问题

访问地址填错咋办?

必须填「浏览器地址栏里要打的那个」裸 IP 或域名,绝对不能带协议、端口、路径。填错了容器起不来或访问不了。

容器跑起来但访问不了?

99% 是云服务商安全组没放行。除了系统防火墙,还必须在云控制台 → 安全组 → 入方向规则里手动放行。

API Key 没配就用?

会一直报 401 错误。先进 DSH 设置 → 模型 → 填入 API Key。

弱密码真的那么严重?

是的。DSH 有 Shell 能力,等同于给 AI 开了 root 权限。密码弱等于把服务器送给别人。建议字母 + 数字 + 符号至少 16 位。

挂载敏感目录有啥风险?

避免把 /、/var/run/docker.sock 这些敏感路径挂载进 DSH 容器。如果挂了,AI 可以控制整个宿主机,包括启动/停止其他容器、修改系统文件、读取所有用户数据。

0.1 版能用于生产?

不建议。官方说会快速迭代、可能破坏兼容性。先玩起来,等版本稳了再用生产。

证书导入了但 Chrome 还警告?

Chrome 不完全信任系统钥匙串里的证书,需要手动在 chrome://settings/security → 管理证书中重新导入 root.crt 到「受信任的根证书颁发机构」。导入完重启 Chrome。

Firefox 完全不信任咋办?

Firefox 不读 macOS 系统钥匙串,必须在 Firefox 设置 → 隐私与安全 → 证书 → 「查看证书」→ 「您的证书」里单独导入 root.crt,勾「信任由此证书颁发机构来标识网站」。

不想手动 SCP 咋办?

用一段命令搞定,Mac 终端粘贴(替换 IP):

scp “root@:/opt/1panel/apps/deepseek-harness/data/caddy/pki/authorities/local/root.crt” ~/Downloads/dsh-root.crt
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Downloads/dsh-root.crt
echo “证书已导入并设为始终信任,请重启浏览器”

跑完重启浏览器,访问 DSH Web UI 就不再有证书警告了。


最后说两句

DSH 装了之后真香。AI 不再是只能回答问题的工具,而是能直接干活的助手。

但也别太野。DSH 等于你给 AI 开了 Shell 权限,密码要强、敏感目录别挂、当前版本是 0.1 别上生产。先玩起来,等版本稳了再用关键场景。

我用了这段时间,最常用的功能是让它帮我整理文件 + 跑测试 + 写小工具,省了大量重复劳动。

更多文章可以看 idindoo.com

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息