136 Commits

Author SHA1 Message Date
seaislee1209
db1bbfa1d4 Merge branch 'dev' of https://gitea.airlabs.art/zyc/video-shuoshan into dev
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 22:18:54 +08:00
seaislee1209
4b2dd9ef5e fix: 音频 ♫ 符号溢出到 prompt 文本 — 改用 CSS ::before 渲染
createMentionSpan 里音频的 ♫ 之前用 textContent 设置,
被 extractText() 的 el.textContent 读进了 prompt 纯文本,
导致 renderPromptWithMentions 匹配后留下额外的 ♫ 字符。

改用 CSS ::before content 渲染,不参与 textContent,
prompt 里不再有多余的 ♫。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 22:17:07 +08:00
zyc
3bc8b78507 perf: docker cleanup 保留基础镜像缓存,只清 dangling 镜像
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 4m4s
2026-04-04 21:54:11 +08:00
seaislee1209
5da67435b2 fix: v0.18.1 用户测试 8 项 Bug 修复
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
- MutationObserver 立刻同步 editorHtml(删 @ 标签后时长/数量立即重置)
- parseAssetMentionsFromDOM 从 DOM 实时读取(不用 stale state)
- renderPromptWithMentions 支持音频 ♫ + 视频首帧 + assetType
- rebuildMentionSpans 按 label 长度降序匹配(防子串冲突)
- 删除素材后 group 缩略图优先找图片/视频(不用音频 URL)
- 素材组整组删除功能(后端 DELETE + 前端按钮)
- Celery poll 架构重构(一次性任务 + recover_stuck_tasks 统一驱动)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 21:06:02 +08:00
zyc
d73175b101 fix: kubectl 装到 /usr/bin 避开 /usr/local/bin 的 bind mount
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m16s
2026-04-04 20:28:05 +08:00
zyc
f37c38d38b fix: kubectl 安装前先删旧目录避免 mv 覆盖目录报错
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 20:25:52 +08:00
zyc
4cf9a0a4bb perf: 轮询调度间隔从30秒改为10秒
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 20:21:25 +08:00
zyc
127ed9659d Merge remote-tracking branch 'origin/dev' into dev
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 20:16:15 +08:00
zyc
ded5c4c44f fix bug 2026-04-04 20:13:23 +08:00
seaislee1209
ba33c35dd8 add test
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 4m13s
2026-04-04 19:38:36 +08:00
zyc
6353d2ec4f feat: rename /assets route to /user-assets
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 19:29:31 +08:00
seaislee1209
f1a7ad8a2f fix: nginx /assets 路由 403 修复 — 静态缓存改为正则匹配文件扩展名
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 4m32s
/assets/ location 会拦截 SPA 路由 /assets(资产页),导致刷新 403。
改为正则匹配 /assets/*.{js,css,png,...},只缓存实际静态文件,
不影响 SPA fallback 到 index.html。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 19:16:38 +08:00
seaislee1209
9a6d95a69d fix: v0.18.0 商业级加固 — 并发安全、流式上传、错误反馈、类型修复
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m13s
- TOS 流式上传 upload_from_file_path(避免大文件 OOM)
- 视频生成完成后下载一次复用(TOS 上传 + 首帧提取)
- 并发安全:group thumbnail 用 select_for_update 原子更新
- 跨团队校验:_resolve_asset_group_all 加 group__team 过滤
- 异常信息脱敏:文件上传失败不再泄露内部异常
- SSRF 防护:download_to_temp 校验 URL scheme
- poll lock 终态释放:cache.delete 在 record.save 后调用
- duration=null 语义区分:ffprobe 失败存 None 非 0
- 前端 duration 未知 toast 警告:素材时长未确定时提示用户
- 搜索 API 失败 toast:素材搜索失败时反馈用户
- 视频保存降级标记:临时 URL 降级时设 error_message
- TypeScript 类型修复:AssetItem/AssetSearchResult.duration 改为 number|null
- rebuildMentionSpans 补完 assetId/assetType/assetName/duration 属性
- paste DOMPurify 白名单补完新 data attributes
- resolved_url NameError 修复:非素材库视频/音频引用用 url
- process_asset_media group 删除保护
- download_to_temp 改为 public API
- 清理前端死代码

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 18:49:08 +08:00
zyc
61bcb9576f add git guide
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m55s
2026-04-04 18:26:05 +08:00
seaislee1209
2e72c82116 Merge branch 'dev' of https://gitea.airlabs.art/zyc/video-shuoshan into dev
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 4m39s
2026-04-04 17:36:39 +08:00
seaislee1209
da9a1413c3 v0.18.0 素材库多类型支持 + @ 引用改为单素材
对齐火山 API 文档(Asset URI 小写、HEIC/HEIF、DeleteAsset)
素材库支持视频/音频上传(按类型分三区显示、前端校验、拖拽上传)
@ 引用从素材组改为单个素材(搜索返回具体素材、即时数量/时长检查)
ffmpeg 视频封面帧提取 + 音频时长读取(Celery 异步)
生产级安全修复(跨团队校验、异常信息脱敏、下载大小限制)
2026-04-04 17:36:35 +08:00
zyc
95bdb0a6e8 fix: USE_TZ=False 统一使用北京时间,修复 recover_stuck_tasks 时区比较错误
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 17:10:55 +08:00
zyc
1e76052c64 fix: 用 printf 写 kubeconfig 防止多行内容被 echo 截断
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 24s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:17:34 +08:00
zyc
622491c3d0 chore: 触发构建验证 runner host 网络修复
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:07:44 +08:00
zyc
a8ffd6417a feat: add Docker cleanup step to CI pipeline
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Automatically prune unused containers, images and build cache after
each CI run to prevent disk space exhaustion on the runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:46:52 +08:00
zyc
43fe1b8909 fix: 将 kubectl secret 创建也纳入重试循环,修复重试未生效的问题
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:15:01 +08:00
zyc
2365824313 fix: CI 全链路添加 3 次重试(build/push/kubectl/deploy)防止网络抖动
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 5m43s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:37:28 +08:00
zyc
1ff985d64f fix: Deploy to K3s 添加 3 次重试,防止内网抖动导致构建失败
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:35:31 +08:00
zyc
05097d58f9 perf: gunicorn 启用 gevent 异步模式,并发从 2 提升到 400
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 13s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:33:58 +08:00
zyc
ca6f2a0346 fix: 添加 Redis 分布式锁防止 poll_video_task 重复派发
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 6m17s
recover_stuck_tasks 在 API 超时 >3 分钟时可能重复派发同一任务,
导致重复扣费风险。通过 cache.add 实现互斥锁保护。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:21:38 +08:00
zyc
55c26fb1f5 Merge branch 'dev' of https://gitea.airlabs.art/zyc/video-shuoshan into dev
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
2026-04-04 14:12:09 +08:00
zyc
49e06fd3c4 fix 镜像原 2026-04-04 14:11:39 +08:00
seaislee1209
9bca1bc20f feat: v0.17.0 对齐火山 API 文档 + 素材库多类型支持 + 删除功能
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 27s
- Asset URI 大小写修复(Asset:// → asset://)
- HEIC/HEIF 图片格式支持
- 素材删除功能(DeleteAsset API + 前端 hover 删除按钮)
- 素材库支持视频/音频上传(asset_type 字段 + 后端类型检测)
- 素材组详情页按类型分三区(肖像/视频/音频)+ 红字提示
- @ 引用全发(组内所有 active 素材按类型发送)
- 前端素材库上传校验(validateAssetFile 全套校验)
- Failed 素材 hover 显示错误原因
- 正在生成的视频可点重新编辑

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:07:38 +08:00
zyc
befd7c8d49 add sql prod
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
2026-04-04 14:04:53 +08:00
zyc
f85a3d69d0 fix: kubectl 自动安装兜底 + 阿里云镜像源
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 5m5s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:54:49 +08:00
zyc
ffbd7cf016 add prod 镜像仓
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 12s
2026-04-04 13:52:43 +08:00
zyc
6c9fddf5fe 更新测试文档
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 9m20s
2026-04-04 13:36:23 +08:00
seaislee1209
ee7cdec9e3 add docs
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5s
2026-04-04 13:27:13 +08:00
zyc
70725894bd pull test
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 12s
2026-04-04 13:21:57 +08:00
zyc
aff37ee4a8 chore: verify DaoCloud mirror build
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5s
2026-04-04 13:15:40 +08:00
zyc
a7a9fdf4fe fix: use DaoCloud mirror for base images to avoid Docker Hub timeout
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 25s
2026-04-04 13:14:20 +08:00
zyc
ec5622534f chore: verify docker cache hit
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 19s
2026-04-04 13:11:48 +08:00
zyc
4175474149 chore: rebuild after clearing docker cache
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m23s
2026-04-04 13:06:44 +08:00
zyc
8c31e7e36a chore: trigger rebuild with updated docker mirrors
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5s
2026-04-04 13:05:50 +08:00
zyc
d01301433c chore: rebuild after docker mirror fix
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 20s
2026-04-04 13:04:08 +08:00
zyc
27655910a4 chore: rebuild after runner config fix (docker.sock mount)
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 0s
2026-04-04 13:02:24 +08:00
zyc
c885051ab3 fix: nginx config serving assets as text/html instead of correct MIME type
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 20s
2026-04-04 12:58:28 +08:00
zyc
5fa0af4acd chore: trigger rebuild for dev deployment
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5s
2026-04-04 12:56:30 +08:00
zyc
06587edc10 Merge remote-tracking branch 'origin/temptudou' into dev
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m0s
2026-04-04 12:50:54 +08:00
zyc
1a2bd982af add test
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 19s
2026-04-04 12:46:26 +08:00
seaislee1209
e885d92745 add . 2026-04-04 12:45:29 +08:00
zyc
1c4b491e10 fix: correct MySQL private domain name (remove extra hyphen)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:34:40 +08:00
zyc
36ff1b5aca fix build dev
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m17s
2026-04-04 11:18:17 +08:00
zyc
43228d255e fix celery 2026-04-04 10:15:23 +08:00
seaislee1209
34e56ddf86 feat: v0.16.0 即时上传 + 音频视频前端校验 + 资产页修复 + Toast UI
- 即时上传:拖入文件后立刻上传 TOS,spinner/红色重试/禁用提交
- 音频校验:格式(MP3/WAV) + 时长[2,15.4]s + 总时长≤15.4s
- 视频校验:格式(MP4/MOV) + 时长[2,15.4]s + 总时长≤15.4s
- 后端 blob: URL 兜底拦截 + 音频错误文案优化
- 资产页:nginx 403 修复 + 倒序排列 + 加载更多按钮
- Toast:glass-card 毛玻璃风格 + 橙色感叹号图标

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:12:06 +08:00