
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
镜像地址(默认):smanx/deepseek-harness:latest(Docker Hub)
镜像地址(备用):ghcr.io/smanx/deepseek-harness:latest(GitHub Container Registry,GHCR,所有 tag 同步推送)
Docker Hub 项目主页:https://hub.docker.com/r/smanx/deepseek-harness
一个开箱即用的 DeepSeek Harness(DSH) Docker 镜像,内置了 Node 反向代理,解决 DSH 官方不允许 --host 0.0.0.0、只能监听回环地址的问题,让 DSH 可以安全地通过局域网访问。
admin / admin⚠️ 注意: 该地址为公开地址。如需填入你自己的 API Key(如 DeepSeek 等),请谨慎填写,以免 Key 泄露。
@deepseek-ai/dsh(https://github.com/deepseek-ai/deepseek-harness),默认监听容器内 127.0.0.1:3079(源端口);0.0.0.0:3080(代理端口)→ 127.0.0.1:3079,对外提供 HTTP + WebSocket 转发;--host 0.0.0.0(安全限制),只能监听回环地址;crypto.randomUUID 不可用,代理在转发 HTML 时自动注入基于 getRandomValues 的 polyfill,否则实时通道(WS)会一直 pending;bash# 1. 拉取镜像(默认从 Docker Hub 拉取) docker pull docker.xuanyuan.run/smanx/deepseek-harness:latest # 2. 启动(默认:代理对外端口 3080,数据持久化到命名卷 dsh-data) docker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:latest # 3. 访问 # 本机: http://127.0.0.1:3080/ # 局域网:http://<服务器局域网IP>:3080/
WebSocket 实时通道(/api/events.mux、/api/events.host)由代理自动转发,无需额外配置。
| tag | 定位 | 包含工具 |
|---|---|---|
latest | 精简运行镜像 | 无(仅 Node 运行时 + DSH + 反向代理) |
devtools-min-latest | 精简工具版,常用调试工具 | git、curl、wget、nano、jq、procps、ca-certificates、unzip |
devtools-latest | 完整工具版,可在容器内开发/编译 | 精简版全部 + vim、openssh-client、zip、htop、tmux、tree、openssl、python3、build-essential(make+g++)、bash-completion |
每个 tag 都有对应的版本号 tag:
latest↔<版本>、devtools-latest↔devtools-<版本>、devtools-min-latest↔devtools-min-<版本>。
简单示例:
bash# 场景一:只想在浏览器里跑 DSH,不做任何调试 → 用精简的 latest docker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:latest # 场景二:需要进容器排查问题(看日志、jq 处理 JSON、wget 抓包)→ 用 devtools-min-latest docker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:devtools-min-latest # 场景三:要在容器里开发/编译扩展或做较重的运维(vim、python3、make 等)→ 用 devtools-latest docker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:devtools-latest
三个 tag 的启动命令完全一样,只是把镜像名替换成对应的 tag 即可;latest 之外的工具版镜像会比精简版略大,按需选择。
如果从 Docker Hub 拉取受限(如网络问题),可以使用备用镜像(GitHub Container Registry,tag 与 Docker Hub 完全一致):
bash# 拉取 GHCR 上的镜像 docker pull ***-ghcr.xuanyuan.run/smanx/deepseek-harness:latest # 启动命令与默认镜像完全一样,只需替换镜像名 docker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ --restart unless-stopped \ ***-ghcr.xuanyuan.run/smanx/deepseek-harness:latest
除镜像地址不同外,两个镜像的配置与使用方式完全一致,可互相替换。
| 环境变量 | 含义 | 默认值 |
|---|---|---|
DSH_PORT | 源端口:DSH 在容器内监听(127.0.0.1) | 3079 |
PROXY_PORT | 代理端口:代理对外监听(局域网入口) | 3080 |
PROXY_USERNAME | Basic Auth 用户名(可选) | 未设置 |
PROXY_PASSWORD | Basic Auth 密码(可选) | 未设置 |
DSH_PORT与PROXY_PORT必须不同(同一端口只能被一个进程监听)。 修改PROXY_PORT时,-p端口映射要对应改成-p <宿主机端口>:<新代理端口>。
bashdocker run -d \ --name dsh-harness \ -p 3080:3080 \ -v dsh-data:/root/.dsh \ -e PROXY_USERNAME=yourname \ -e PROXY_PASSWORD=yourpass \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:latest
401 + WWW-Authenticate,浏览器会弹出认证框;/manifest.webmanifest、/favicon.svg、/favicon.ico 不参与认证(只含应用名/图标等非敏感数据)。浏览器抓取 <link rel="manifest"> 时不会携带 Basic Auth 凭据,若强制认证,控制台会持续报 /manifest.webmanifest 401。bash# 例如代理对外用 3088 docker run -d \ --name dsh-harness \ -p 3088:3088 \ -v dsh-data:/root/.dsh \ -e PROXY_PORT=3088 \ --restart unless-stopped \ docker.xuanyuan.run/smanx/deepseek-harness:latest
DSH 的会话/配置数据保存在容器内 /root/.dsh,上面的命令用命名卷 dsh-data 持久化:
docker stop/start 和容器删除后卷仍在,数据不丢;docker volume rm dsh-data(先停容器)。bashdocker stop dsh-harness # 停止 docker start dsh-harness # 再次启动 docker logs -f dsh-harness # 查看日志 docker rm -f dsh-harness # 删除容器(卷中的数据保留)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务