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@
熟悉 Docker 的用 docker cp:
docker cp
第二步,双击导入钥匙串。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@
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。



