# SKG AI 素材管线 - TK 二创验证 ## 启动 - 后台启动(不弹 Terminal):`./scripts/start-dev-background.sh`(前端 4290 + 后端 4291,日志写入 `.logs/`) - 后台停止:`./scripts/stop-dev-background.sh` - 前端 dev:`cd web && pnpm dev`(Next.js 16,端口 4290) - 后端 dev:`cd api && uvicorn main:app --host 127.0.0.1 --port 4291`(FastAPI,端口 4291,重任务用) - 注意:后端不要带 `--reload` 跑长下载 / 抽帧 / 音频任务;reload 会等待后台任务结束,导致 4291 端口占用但新请求卡住。 ## 立项决策快索引 - 详见 `CLAUDE.md` 立项决策段 + `.memory/plan.md` 七步管线拆解 - 风格:`04-Dark-Gallery-Ambient`(路径:`~/Projects/research/20260305-网页风格库/04-Dark-Gallery-Ambient.md`) - 第一冲刺:步骤 1-4(下载 / 拆轨 / 关键帧 / ASR+翻译) ## 部署事实 - 平台:待定 - 发布状态:未部署 - 主站 / 前端:待定 - API / 后端:待定 - 文档 / 解析:待定 - 管理后台:待定 ## 快捷登录 - 登录地址:待补充 - 用户名:待补充 - 密码:待补充 - 说明:这里只写项目专属网页登录;数据库密码、API Key、服务器 root 密码不要写这里 ## 元数据回写清单 - 新增或变更公网地址后,必须同步更新 `.project.json.urls` - 如果有网页后台登录: - 可直接入库:写 `.project.json.quick_login` - 不应入库:写 `.project.json.credentials` 引用 - 部署完成后,`RULES.md` 和 `.project.json` 必须同一次任务一起更新 ## 环境变量 - `LLM_BASE_URL` / `LLM_API_KEY`:OpenAI 兼容网关,用于 ASR、翻译、文案改写、图像等模型调用 - `ASR_MODEL`:OpenAI Audio Transcriptions 音频转写模型,默认 `whisper-1` - `ASR_FALLBACK_MODEL`:当当前网关没有 `/audio/transcriptions` 时,用 Gemini 多模态 chat 直接识别 wav,默认 `gemini-2.5-flash` - `TRANSLATE_MODEL`:字幕翻译模型,默认 `gemini-2.5-flash` - `REWRITE_MODEL`:通用改写/分镜描述模型,默认 `gemini-2.5-pro` - `AUDIO_REWRITE_MODEL`:音频口播改写模型,默认跟随 `REWRITE_MODEL`;当前产物要求按原音频时长输出英文 SKG 产品介绍 voice-over - `AUDIO_PRODUCT_BRIEF`:音频口播改写时注入的 SKG 产品卖点 - `MINIMAX_API_KEY`:MiniMax T2A 配音 Key,只能放本地 `api/.env`,不能入库 - `MINIMAX_TTS_BASE_URL` / `MINIMAX_TTS_MODEL` / `MINIMAX_TTS_VOICE_ID`:MiniMax 配音端点、模型和兜底音色配置 - `MINIMAX_TTS_VOICE_POOL`:MiniMax 英文随机音色池;当前默认男声 `English_magnetic_voiced_man`、女声 `English_Upbeat_Woman`、成熟声 `English_MaturePartner` - `POE_API_KEY` / `VIDEO_API_KEY`:视频生成通道 Key,只能放本地环境变量 ## 规则 - 不允许编造不存在的部署域名、账号、密码 - 没有公网地址时,`.project.json.urls` 保持空数组 - 任何部署或域名变化,都要先改元数据,再视为任务完成 ## 注意事项 - 项目内源码解析页:`docs/source-analysis.html` - 源码解析页是给产品协作和需求描述用的独立 HTML,不接入 Next 应用路由 - 后续任何功能、节点职责、接口、数据模型或用户操作路径变更,都要同步更新 `docs/source-analysis.html` 的对应章节和变更记录