← 返回列表
未验证
让 AI agent 替你安装 dsh Docker。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/24 · 已提供中文文档
把 DeepSeek 官方智能体 Shell(@deepseek-ai/dsh)装进 Docker——部署这件事,交给你的 AI agent。A rebuild blueprint: let your AI agent install dsh for you.
综合分
27.3
GitHub 分
27.3
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add gitcore/dsh-docker该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-docker 让 AI agent 替你安装 dsh Docker。 dsh(@deepseek-ai/dsh,DeepSeek 官方智能体 Shell)的容器化部署。注意:本仓库里没有 Dockerfile,也没有 compose.yaml——只有一份部署施工图:dsh-docker-rebuild.md。把它交给任意 AI agent,由 agent 在你的机器上现场重建并完成部署。 快速开始 git clone https://github.com/gitcore/dsh-docker.git cd dsh-docker 把这段话发给你的 AI agent(Claude Code / DeepSeek / Cursor 等均可): 阅读当前目录下的 dsh-docker-rebuild.md, 严格按它的步骤在这台机器上部署 dsh。 需要向我确认的事情直接问,不要猜。 agent 会先问你三个问题: | 问题 | 说明 | |---|---| | 是否需要外网(公网)访问? | 不需要 → 内网直连;需要 → 继续提供入口域名 | | API key 现在有吗? | 可选;没有则进入 Web UI 后按页面提示录入 | | 数据放在哪里? | 可选;默认部署目录下 ./dsh-data | 之后 agent 自动完成:落盘 4 个文件 → 构建镜像 → 启动容器 → 健康检查通过为止。 外网部署(可选) 第一问答「需要」时的形态:dsh 保持零端口发布,前面加一道门禁反代,由它统一负责 TLS 与登录校验。 浏览器 │ https://: ▼ 路由器(公网 IP,端口转发 → 内网主机 443) ▼ 门禁反代(nginx 容器,webnet 网络,443 TLS) ├─ │ ├─ auth_request ──► 认证服务 /会话校验端点 │ │ 401 → 302 https:///signin(登录页) │ ▼ 200 │ dsh 容器 dsh:3080(仅 webnet 内部可达) └─ ──► 认证服务(登录页) 你需要自备三样东西: | 依赖 | 说明 | |---|---| | 入口/登录页域名 | 各配一张 TLS 证书,装在门禁反代上 | | 认证服务 | 提供会话校验端点与登录页;没有就先部署一个 | | 路由器端口转发 | 公网 → 内网主机 443 | agent 会把你的入口域名登记进 .env 的 DSH_TRUSTED_HOSTS(域名与带端口形式各一条)。门禁层的具体配置不在施工图范围内,细节见施工图文末「门禁说明」。 特权接口与 loopback Host dsh 把特权 RPC(settings. / credentials. / agentPreset. / llm.discoverModels 等写操作)设计为只接受 loopback 的 Host 头——它校验的是 Host 头的值,不是来源 IP。所以不经处理时,远程用户即使已登录也打不开设置页、凭据页。 解法:门禁反代转发 /api/ 路径时,把 Host 改写为 127.0.0.1:3080(参考实现:proxy_set_header Host 127.0.0.1:3080)。 但改写 Host 等于穿过了 dsh 自带的浏览器信任墙,必须在反代层补同源校验作为补偿: | 校验 | 规则 | 违规处置 | |---|---|---| | Origin | 为空(非浏览器客户端)或精确等于本站入口源 | 403 | | Sec-Fetch-Site | 为空 / same-origin / none | 403 | 校验通过后再把 Origin / Sec-Fetch- 头清空转发(空值=不转发该头),避免残留标记与伪造的 Host 打架。这就是三条底线的由来——登录校验不能省、Host 改写必须配同源守卫、dsh 端口不能发布,三者缺一即出现绕过面。 部署产物 - ubuntu:24.04 底座 + 锁定版本的 dsh + jq / rg / fd / git / vim / build-essential 工具链 - 三处 bind mount 持久化:会话、workspace、home 目录;容器重建不丢数据 - entrypoint 启动自愈:按 storages/workspace.json 重建注册过的 workspace 目录 - 默认零端口发布:远程访问需自备门禁反代(TLS + 登录态校验),拓扑图见施工图文末 - 可选独立形态:受信内网直连 :3080 设计取舍 - 施工图而非成品:每次部署从同一份文档现场重建,改动可追溯、可审计 - 环境值来自提问:凭据、路径、域名均向用户收集,文档内无写死的机器默认值 - fail loudly:前置缺失即报错停止,不做静默兜底 Credits 基于 DeepSeek 官方 npm 包 @deepseek-ai/dsh 构建。
扫码进群