11 个新增功能模块(Git master 没有,新 HTML 有)
- Display / Outdoor TV 双业务模式
顶栏 Display / Outdoor TV 双按钮
STUDIO_MODE_CONFIG:6 类商业场景 + 5 类商显产品 + 独立尺寸规则
createDefaultStudioModeState / studioModeState 独立状态对象
applyStudioModeConfig 动态表单重建
结论:需要合入 -- 最大的新增功能 - 双模式状态隔离与异步竞态修复
captureStudioModeState / restoreStudioModeState 模式切换保存恢复
commitStudioModeResult / isStudioModeVisible 异步结果写回发起模式
commitStudioModeAssetImages 素材上传竞态修复
图库渲染 request token 防覆盖
结论:需要合入 -- 防止模式切换时数据串扰 - API 模型映射四层处理
normalizeModelList 统一模型 ID
persistAndPopulateModelMapping 写 localStorage + 填充下拉框
restoreLocalModelMapping 启动时恢复(无后端也能显示模型)
检测成功后调用 persistAndPopulateModelMapping
结论:需要合入 -- 修复模型下拉框不显示的问题 - 两套提示词智能体
AGENT_SYSTEM_PROMPT:增强版 Outdoor TV 提示词(Sylvox 影调/色彩/反光约束)
DISPLAY_AGENT_SYSTEM_PROMPT:Display Word 提示词(18416 字符)
getStudioModeSystemPrompt / getStudioModeSelections / buildStudioAgentUserContent
结论:需要合入 -- 核心业务逻辑 - Sylvox 品牌影调/色彩/反光约束
环境瑕疵 20-40%、饱和度限制、洋红色限制
对比度曲线、暗部透明度、白点高光、白平衡
肤色保护、屏幕环境反光 5-15%、材质颜色
负面提示词增强
结论:需要合入 -- 在 AGENT_SYSTEM_PROMPT 内 - Window Display 玻璃内侧合同
placementConstraint 产品配置(仅 Digital Window Displays)
文本阶段 + 图像阶段两次强制注入
结论:需要合入 -- Display 模式核心约束 - 超时 / Abort / 排队体验修复
REQUEST_TIMEOUTS:validation 60s / text 10min / image 30min
normalizeRequestError:统一 "signal is aborted" 为可读消息
fetchWithRetry 增加 timeoutMs 参数 + onRetry 回调 + finally 释放
结论:需要合入 -- 解决超时错误不可读的问题
注意:Git master 的 fetchWithRetry 使用固定 60s,需替换为新版本 - 纯 HTML 静态运行降级
LOCAL_STANDALONE_MODE = !API_BASE
本地最多 2 并发槽位
保存失败返回 localOnly,生成结果仍显示
结论:需要合入 -- 无后端时仍可使用 - 历史记录区分业务模式
normalizeRecord 读取 studio_mode
getRecordStudioMode / getStudioModeLabel
buildCard 显示模式标签(Free / Display / Outdoor TV)
保存时写入 studioMode
结论:需要合入 - 模式化社媒文案
Display 商业文案模板 + Outdoor TV 生活方式文案模板
getSocialCopySystemPrompt 模式路由
结论:需要合入 - Free 与 Studio 预览结果隔离
openImagePreview(index, images) / downloadImage(index, images) 显式传参
结论:需要合入 -- 防止 Free 预览覆盖 Studio 结果
登录权限相关(完全不动)
项目 当前版本 新 HTML 处理方式auth-overlay DOM(登录表单/验证码/忘记密码/重置密码) 有 无 保持原样不动
AuthManager 完整实现 有 本地管理员适配器 保持原样不动
AuthBackground 粒子动画 有 无 保持原样不动
登录表单 CSS 有 无 保持原样不动
后端变更(需同步)
文件 变更 说明
server/schema.sql 新增 studio_mode VARCHAR(20) DEFAULT NULL 历史记录模式字段
server/index.js 迁移增加 studio_mode;读写 studio_mode 后端支持模式持久化
执行方案
以当前版本(Git master)为基础,从附件新 HTML 中选择性合入 11 个功能模块。不合入登录移除相关改动,保持 AuthManager、auth-overlay、AuthBackground 等登录权限代码完全不变。步骤:
从附件新 HTML 中提取 11 个功能模块的代码
将提取的代码合入当前版本的对应位置(注意行号偏移)
更新 server/schema.sql 和 server/index.js 增加 studio_mode 字段
通过宝塔 btpanel-skills 容器部署到 192.168.1.49:3000
验证登录 + 生图 + Display 模式