🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

语音栈 Docker 镜像 AlexKaiqi/dsh-voice-stack-docker

DeepSeek Harness
AlexKaiqi70 天前有提交已提供中文文档扫描:无法判定

一键部署带语音与多模型的持久化容器环境

27.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AlexKaiqi/dsh-voice-stack-docker
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/08·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 70 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · AlexKaiqi
  • · dsh-voice-stack-docker
  • · tarball)
扫描于 2026/11/3(1 天前)

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 持久化容器环境部署
  • 多模态模型支持
  • 实时语音支持

为 DeepSeek Harness 临时工作区、多模态模型、实时语音和会话助手提供持久化 Docker 栈

README

由 DeepSeek 最新模型翻译生成
DSH Voice Stack Docker 一个预装以下四个插件的 DeepSeek Harness Web 镜像: - dsh-temporary-workspace@0.1.0-rc.5 - dsh-multi-model-provider@0.1.0-rc.15 - dsh-realtime-voice@0.3.2 - dsh-session-assistant@0.4.5 镜像固定使用 @deepseek-ai/dsh@0.1.1-rc.2。插件程序随镜像发布;用户设置、凭据、Session、附件、临时工作区和普通工作文件保存在 Docker named volumes 中,容器重建不会丢失。 本地运行 cp .env.example .env 编辑 .env,设置一个长随机密码 docker compose up --build -d docker compose ps 打开 ,输入 .env 中的用户名和密码。所有 Provider 都从原生“模型”设置进入:火山方舟使用 llm-pi-ai,豆包 Realtime Duplex 使用 dsh-realtime-voice,不会再出现第二套 Provider 页面。
展开完整文档(README 剩余 1 节)
DSH Voice Stack Docker

一个预装以下四个插件的 DeepSeek Harness Web 镜像:

- dsh-temporary-workspace@0.1.0-rc.5
- dsh-multi-model-provider@0.1.0-rc.15
- dsh-realtime-voice@0.3.2
- dsh-session-assistant@0.4.5

镜像固定使用 @deepseek-ai/dsh@0.1.1-rc.2。插件程序随镜像发布;用户设置、凭据、Session、附件、临时工作区和普通工作文件保存在 Docker named volumes 中,容器重建不会丢失。

本地运行

cp .env.example .env
编辑 .env,设置一个长随机密码
docker compose up --build -d
docker compose ps

打开 ,输入 .env 中的用户名和密码。所有 Provider 都从原生“模型”设置进入:火山方舟使用 llm-pi-ai,豆包 Realtime Duplex 使用 dsh-realtime-voice,不会再出现第二套 Provider 页面。

当前固定的 DSH rc 版本还没有 Provider 编辑器扩展槽,因此镜像构建时会运行 patch-models-ui.mjs,只为原生编辑器增加 realtime-speech 布局和镜像内 Provider 默认值。脚本使用精确标记并在宿主包结构变化时直接让构建失败,避免静默生成错版 UI。

查看日志或停止:

docker compose logs -f dsh
docker compose down

docker compose down 不删除持久卷。只有显式添加 --volumes 才会删除用户的 DSH 数据和 Workspace。

数据卷

Compose 延续原有的两个命名卷,升级现有实例不需要迁移数据:

| Compose volume | 容器目录 | 内容 |
| dsh-home | /home/node/.dsh | Profile、设置、凭据、Session、附件和 Workspace 注册信息 |
| dsh-workspace | /workspace | 容器默认工作目录及普通 Agent 工作文件 |

临时工作区默认位于 /home/node/.dsh/temporary-workspaces/workspace-*,因此由 dsh-home 一起持久化,不需要第三个卷。把运行状态与普通工作文件分卷,可以分别控制备份频率和容量;恢复时应把两者视为同一个实例的一组数据。

实际卷名通常带 Compose project 前缀。可这样查看:

docker volume ls | grep dsh-voice-stack-docker
docker volume inspect dsh-voice-stack-docker_dsh-home
docker volume inspect dsh-voice-stack-docker_dsh-workspace
docker system df -v

备份整个实例的两个卷:

docker compose down
docker run --rm \
-v dsh-voice-stack-docker_dsh-home:/source/dsh:ro \
-v dsh-voice-stack-docker_dsh-workspace:/source/workspace:ro \
-v "$PWD:/backup" \
alpine tar czf /backup/dsh-voice-stack-backup.tgz -C /source .

恢复时应使用空卷,并在容器停止状态下把归档中的 dsh/ 和 workspace/ 分别恢复到对应卷;不要覆盖正在运行的实例。如果 Compose project 名不同,先用 docker volume ls 查询实际卷名。

公网部署

DSH 本身只监听容器内部的 127.0.0.1:3081;同一镜像内的非 root Nginx 在 PORT 上提供 Basic Auth 和 WebSocket 反向代理。生产环境还必须由 Railway、Coolify、Caddy、Traefik 等提供 HTTPS。麦克风依赖浏览器安全上下文,普通公网 HTTP 不可用。

把公开域名的 authority(不含协议和路径)加入 DSH_TRUSTED_HOSTS:

DSH_TRUSTED_HOSTS=bot.example.com docker compose up -d

多个 authority 用逗号分隔,例如 bot.example.com,bot.example.com:443。反向代理必须保留原始 Host、Origin 和 WebSocket Upgrade;实时语音插件会执行同源校验。

Railway/Coolify 中需要持久化两个目录:

| 容器目录 | 内容 |
| /home/node/.dsh | DSH 配置、凭据、Session、附件与临时工作区 |
| /workspace | 普通工作文件 |

平台端口设置为 3080。外部 / 需要 Basic Auth;镜像自身的 Docker Healthcheck 会直接检查仅容器内部可见的 DSH 端口。不要向容器挂载 /dev/snd:麦克风由用户浏览器采集,不是由云服务器声卡采集。

每用户一个实例

所有用户可以复用同一镜像,但每个用户必须使用自己的一组持久卷。不要让不同用户共享 /home/node/.dsh 或 /workspace。

插件版本在镜像构建时固定。发布升级时构建新的镜像 tag;先用测试实例验证持久数据兼容性,再逐个替换用户容器。容器首次启动时会把预装 Web Profile 种到空卷;已有数据卷只同步镜像托管的四个插件,不覆盖设置、凭据、Session 或工作文件。

自定义运行

默认命令等价于:

dsh --profile web --host 127.0.0.1 --port 3081 --no-open

可覆盖:

- PORT:监听端口,默认 3080
- DSH_AUTH_USERNAME:公网 Basic Auth 用户名,默认 dsh
- DSH_AUTH_PASSWORD:公网 Basic Auth 密码,必填且不会写入镜像
- DSH_HOST:DSH 内部监听地址,固定建议 127.0.0.1
- DSH_INTERNAL_PORT:DSH 内部端口,默认 3081
- DSH_STARTUP_TIMEOUT:DSH 启动就绪等待秒数,默认 60
- DSH_PROFILE:Profile 名,默认 web
- DSH_TRUSTED_HOSTS:允许的公网 authority,逗号分隔

传入其他命令时,入口脚本仍会先初始化空的持久卷:

docker compose run --rm dsh dsh --profile web --dump-config
预览分享卡片长什么样 ↓AlexKaiqi/dsh-voice-stack-docker
分享 · DeepSeek Harness Hub
AlexKaiqi/dsh-voice-stack-docker

一键部署带语音与多模型的持久化容器环境

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部