Import Human Voice Rewrite Demo (PRD v1.1) + Dockerfile for Coolify

This commit is contained in:
Jeamee
2026-08-24 16:49:57 +08:00
commit d6f70b02f4
16 changed files with 3580 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env bash
# Human Voice Rewrite Demo 一键启动
# Key 读取顺序:
# 1) $HVR_BACKEND_ENV 显式指定
# 2) 仓库环境 ../../prodream_backend/.env(本仓库开发时)
# 3) 本目录 .env(独立分发包:内置 Key 与代理地址)
# 首次运行自动创建独立 .venv 并安装依赖
# 用法: ./local_start.sh (端口可用 HVR_PORT 覆盖,默认 8000
set -euo pipefail
cd "$(dirname "$0")"
if [ ! -d .venv ]; then
echo "首次运行:创建独立虚拟环境并安装依赖…"
python3 -m venv .venv
.venv/bin/pip install -q --upgrade pip
.venv/bin/pip install -q -r requirements.txt
fi
BACKEND_ENV="${HVR_BACKEND_ENV:-}"
if [ -z "$BACKEND_ENV" ]; then
if [ -f "../../prodream_backend/.env" ]; then
BACKEND_ENV="../../prodream_backend/.env"
elif [ -f ".env" ]; then
BACKEND_ENV=".env"
fi
fi
if [ -z "$BACKEND_ENV" ] || [ ! -f "$BACKEND_ENV" ]; then
echo "错误:找不到环境变量文件。可用 HVR_BACKEND_ENV 指定,或在本目录放置 .env" >&2
exit 1
fi
# 只提取需要的 key,绝不 source 整个 .envdotenv 格式不是 bash 语法,直接执行会出错)
pick() { # pick KEY <file> -> 值(去首尾引号)
local line value
line="$(grep -E "^$1=" "$2" 2>/dev/null | head -1 || true)"
value="${line#*=}"
case "$value" in
\"*\") value="${value#\"}"; value="${value%\"}" ;;
\'*\') value="${value#\'}"; value="${value%\'}" ;;
esac
printf '%s' "$value"
}
API_KEY="$(pick PRODREAM_BACKEND_OPENROUTER_API_KEY "$BACKEND_ENV")"
PROXY_URL="$(pick PRODREAM_BACKEND_OPENROUTER_PROXY_URL "$BACKEND_ENV")"
if [ -z "$API_KEY" ]; then
echo "错误:$BACKEND_ENV 中没有配置 PRODREAM_BACKEND_OPENROUTER_API_KEY" >&2
exit 1
fi
export OPENROUTER_API_KEY="$API_KEY"
export OPENROUTER_PROXY_URL="$PROXY_URL"
PORT="${HVR_PORT:-8000}"
echo "Human Voice Rewrite Demo: http://127.0.0.1:${PORT}"
exec .venv/bin/uvicorn main:app --host 127.0.0.1 --port "$PORT"