【直播切片工作台】第6章:环境搭建与本地开发流程

简介: 本章详解本地开发全流程:Go/PostgreSQL/FFmpeg环境搭建、配置初始化、服务启动与接口验证,并支持无capcut-mate时的容器化联调,兼顾安全性、可复现性与开发效率。(239字)

第6章:环境搭建与本地开发流程

本章面向想要跑起本项目的开发者:从 Go/PostgreSQL/ffmpeg 前置条件,到 config.yaml 准备、envinit 初始化、webserver 启动、接口冒烟验证,以及本地没有 capcut-mate 时的降级开发模式。内容以 README 的流程为骨、以代码事实为肉。

流程

本地开发的标准路径是五步:

  1. 装前置:Go 1.25+、PostgreSQL 14+、ffmpeg(ASR 抽音频与切片裁剪都用它;Docker 镜像已内置,本地需自行安装并保证在 PATH 中)。
  2. 拉依赖与配置go mod downloadcp internal/config/config.yaml.example internal/config/config.yaml,填入数据库连接、对象存储、APP_ASR_API_KEYAPP_LLM_API_KEY 等密钥。
  3. 初始化数据库go run ./cmd/envinit init(建表 + 种子数据,见第 13、14 章);默认账号 admin/admin,生产环境立刻 reset-password 改密。
  4. 启动服务go run ./cmd/webserver,监听 http://localhost:30000
  5. 验证curl http://localhost:30000/health 返回 {"status":"ok"};登录接口 POST /openapi/live-mixer/v1/auth/login 换取 JWT;打开 http://localhost:30000/swagger/index.html 查看全部接口契约。

密钥可以用环境变量临时覆盖而不改 yaml(Windows PowerShell:$env:APP_LLM_API_KEY="sk-xxx"),CI 与共享机器上避免把密钥写进文件。测试则一条 go test ./... 全量跑(前端在 frontend 目录 pnpm test)。

构建产物两个二进制:go build -o webserver.exe ./cmd/webserverenvinit.exe,与 Docker 镜像里的 /app/envinit 一致。

实现

本地开发的一个高频痛点是「没有 capcut-mate」——草稿生成无法本地闭环。仓库给出的解法是只起外部依赖容器docker compose up -d capcut-mate nginx(在 backend/docker 下),然后把 capcut_mate.base_url 指向 http://localhost:81。这样 nginx 反代 capcut-mate,本地 Go 进程把它当成远端草稿服务,完整链路即可调试。

若干代码事实支撑这条流程:

  • config.Load("") 传空路径时完全走「内嵌默认 + 环境变量」,所以最小启动甚至不需要 yaml(但数据库等密钥必须给全,否则启动即 Fatal)。
  • envinitinit 等价于 schema + seedreinit 先 DropAllTables 再重建(清空重建,危险操作仅用于开发);reset-password -p 直接改 admin 密码——这些子命令见第 13 章。
  • 前端本地启动(frontend 目录):pnpm dev 起 Vite 开发服务器,API 地址由环境配置指向本地或远端后端(src/utils/config.ts 统一收敛,支持 VITE_ 变量与运行时配置)。
  • cmd/test/main.go 提供临时试验入口:写一次性验证代码放这里,不污染正式入口与业务包。

开发-提交链路上还有质量门禁:根目录 husky pre-commit 对暂存的前端文件跑 lint-staged(eslint + prettier + stylelint);CI 在 push 后跑 Go 全量测试与前端构建(第 50 章)。

📌 设计决策

  • 不内置数据库容器:README 明确「服务不内置数据库」,要求自备 PostgreSQL——避免用户误用临时库丢数据,也简化镜像职责。
  • ffmpeg 走 PATH 查找而非固定路径:同一份代码兼容本地开发(系统安装)与容器(镜像内置)。
  • 本地联调 capcut-mate 用 compose 单独拉起:外部依赖容器化、业务代码本地跑,是「混合开发」的标准姿势。

代码示例

环境变量覆盖配置的完整启动序列(README 同款):

# 1. 准备本地配置
cp internal/config/config.yaml.example internal/config/config.yaml
# 编辑 config.yaml 填入数据库 / 存储 / 密钥

# 2. 建表 + 种子数据(默认账号 admin/admin)
go run ./cmd/envinit init

# 3. 启动(可用环境变量覆盖密钥)
APP_LLM_API_KEY=sk-xxx go run ./cmd/webserver

# 4. 冒烟验证
curl http://localhost:30000/health
curl -X POST http://localhost:30000/openapi/live-mixer/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"admin","password":"admin"}'

无 capcut-mate 本地闭环时,指向容器化的草稿服务:

cd backend/docker
docker compose up -d capcut-mate nginx
# 然后在 config.yaml 中:
# capcut_mate:
#   base_url: http://localhost:81

小结

  • 五步启动:前置 → 配置 → envinit → webserver → 冒烟;密钥优先环境变量。
  • capcut-mate 缺席时单独容器化拉起并指 base_url,链路完整可调试。
  • reinit/reset-password 等运维动作全部收敛在 envinit,不进主服务。

思考题

  1. 如何用 Docker 只起 PostgreSQL 而让其余全部本地跑?相比全容器化开发各有什么收益?
  2. 若团队多人共用一个开发数据库,envinit 的种子数据会产生什么冲突,如何规避?

项目信息

  • GitHub仓库:github.com/Chyona/live-mixer
  • 项目案例:gogoshine.com
相关文章
|
2天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1091 0
|
11天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3652 3
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
23天前
|
人工智能 缓存 前端开发
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
DeepSeek Harness + DeepSeek V4 Pro 项目实战保姆级教程!手把手带你从零安装开源 AI 编程工具,开发架构图、知识讲解网站、3D 网页游戏、全栈 AI 应用 4 个项目,覆盖运行模式选择、插件安装与开发,看看能不能对标 Claude。
13386 93
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
|
16天前
|
Web App开发 人工智能 API
16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 N 个版本了。。。
DeepSeek Harness 精选插件推荐合集,从图片识别、浏览器操控、多 Agent 协作到手机远程控制,一口气带你看完 DSH 社区热门的十几个插件,覆盖技能扩展、UI 界面增强、整活玩法三大类,让你的鲸鱼变得更强。
1906 5
|
8天前
|
人工智能 监控 测试技术
Qwen3.8-Flash 来了,100万上下文、Agent、Coding 都加强了
8月26日,通义千问发布Qwen3.8-Flash-Next:125B参数、每Token仅激活6B,原生支持26万Token、可扩展至100万上下文;Coding、Agent与工具调用能力显著增强,面向真实软件工程任务,推动大模型从“回答问题”迈向“完成工作”。
|
11天前
|
人工智能 Linux iOS开发
Ollama使用教程:Ollama官网下载、Ollama本地部署大模型(2026最新)
Ollama 是一款免费开源的本地大模型运行工具,支持在 Windows/macOS/Linux 上离线运行 Qwen、DeepSeek、Llama 等主流开源模型,数据不出本机、隐私安全。提供 OpenAI 兼容 API,命令行一键拉取/运行/管理模型,无需联网,无调用限制,是开发者与 AI 爱好者部署本地 AI 助手的理想选择。(239 字)
|
17天前
|
人工智能 Java BI
【AI】DeepSeek Harness 安装、运行、管理插件
本文介绍了如何运行DeepSeek开源的Agent框架DeepSeek Harness(dsh)。主要内容包括:使用nvm安装适配的Node版本;通过代理加速克隆GitHub源码;使用pnpm安装依赖并启动项目;配置DeepSeek API Token;安装扩展功能的插件。该框架自带Web界面,支持模型适配、文件编辑等插件化功能
2135 1

热门文章

最新文章