2026-10-20 16:55:05 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:55:05 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00
2026-10-20 16:32:45 +08:00

DeepSeek 数字人助手

这是一个“语音提问 → 百度短语音识别极速版 → DeepSeek 回答 → 数字人口播”的 Vue 项目。数字人在待机时默认断开,避免持续占用云渲染交互资源;DeepSeek 返回答案后会自动连接并播报。

项目结构

src/                    Vue 前端源码
src/assets/media/       会随前端一起构建的运行时媒体
server/                 百度语音识别、DeepSeek 和日志服务
resources/reference/    不参与构建的原始、参考素材
public/                 原样复制到发布目录的公共文件
dist/                   前端构建产物(不提交 Git)
dist-server/            服务端构建产物(不提交 Git)
logs/                   本地问答日志(不提交 Git)

所有视频统一存放在 src/assets/media/,当前运行时使用 standby.mp4,旧版未连接视频为 disconnected.mp4。音色样本和采访音频放在 resources/reference/,用途详见 resources/README.md。

本地开发

corepack enable
corepack yarn install --frozen-lockfile
corepack yarn dev

打开 http://127.0.0.1:5173/ 后,浏览器会请求麦克风权限。允许后即可直接说话,无需点击提问按钮。页面在检测到用户停止说话2秒后,将16kHz单声道PCM录音提交给服务端,再由服务端调用百度短语音识别极速版;这套流程不依赖浏览器内置的 SpeechRecognition 服务。数字人播报结束后会继续监听下一句。DeepSeek 30 秒未返回会取消请求并自动销毁数字人 iframe。

成功问答会按日期保存到 logs/conversation-YYYY-MM-DD.log,其中包含 UTC 时间、用户语音转写文字与数字人回答。生产部署时该目录会映射到服务器的 /home/shuziren/logs/。

本地构建与生产运行

要求 Node.js 18 或更高版本。首次拉取代码后执行:

corepack enable
corepack yarn install --frozen-lockfile
corepack yarn build
corepack yarn start

build 会同时生成 dist/ 和 dist-server/。生产服务默认监听 9000 端口。

发布到 Linux 服务器

项目包含独立 Node 生产服务,会同时提供网页、/api/baidu/asr、/api/deepseek/chat 和 /healthz,监听 9000 端口;不需要额外安装 Nginx 或 Node。

  1. 将整个项目目录上传到服务器 /home/shuziren/。
  2. 在服务器上进入该目录:cd /home/shuziren
  3. 执行:sh deploy.sh
  4. 直接访问服务:http://服务器IP:9000/;通过 Nginx HTTPS 子路径访问:https://www.v8.中国/shuziren/

deploy.sh 会构建并启动 Docker 容器 shuziren,并等待健康检查通过。停止服务使用 docker compose down;查看日志使用 docker compose logs -f。

服务器需要安装 Docker Engine 和 Docker Compose v2,并放行 TCP 9000 入站端口。服务端必须能够访问 https://api.deepseek.com。

安全提示

根据当前项目要求,DeepSeek API Key 和百度语音应用密钥位于 server/ 的服务端代码中,不会进入浏览器前端构建产物,但会包含在服务器镜像内。请勿将项目或镜像上传到公开位置;公网部署建议额外使用反向代理鉴权或 IP 白名单,避免 API 被滥用。

Description
No description provided
Readme 21 MiB
Languages
Vue 64.3%
TypeScript 30.7%
CSS 2%
Shell 1.7%
Dockerfile 0.8%
Other 0.5%