ab1b00f94a
feat: HTTP 自动跳转 HTTPS — Traefik Middleware + Ingress annotation
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:17:02 +08:00
ffbd7cf016
add prod 镜像仓
Build and Deploy / build-and-deploy (push) Successful in 12s
2026-04-04 13:52:43 +08:00
1a2bd982af
add test
Build and Deploy / build-and-deploy (push) Failing after 19s
2026-04-04 12:46:26 +08:00
1c4b491e10
fix: correct MySQL private domain name (remove extra hyphen)
...
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
36ff1b5aca
fix build dev
Build and Deploy / build-and-deploy (push) Successful in 2m17s
2026-04-04 11:18:17 +08:00
seaislee1209
b50ad147cd
feat: v0.15.0 Seedance 2.0 Fast 模型上线 + 四档计费
...
Build and Deploy / build-and-deploy (push) Successful in 3m0s
- Fast 模型:取消隐藏 Toolbar 选项,用户可选 AirDrama / AirDrama Fast
- 四档计费:按模型+有无视频参考选单价(2.0: 46/28, Fast: 37/22 元/百万tokens)
- QuotaConfig 新增 base_token_price_fast / base_token_price_fast_video 字段
- 系统设置页 4 个价格输入框(Seedance 2.0 + Fast 各两个)
- 前端预估动态选价:根据当前选的模型和有无视频参考实时计算
- 推理接入点:Fast EP ep-m-20260329211530-68999
- 消费记录表格+CSV+详情弹窗加"模型"列
- 轮询间隔改为全程固定 5 秒
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 20:33:02 +08:00
seaislee1209
973a4f049d
feat: v0.14.2 推理接入点EP + 参考图片上限9张 + reEdit标签修复
...
Build and Deploy / build-and-deploy (push) Successful in 2m34s
- 推理接入点:model字段优先使用EP接入点ID(ARK_ENDPOINT_SEEDANCE环境变量),无EP降级到模型ID
- 参考图片上限:提交时校验image类型不超过9张,超限返回友好中文提示
- 上传图片标签编号:接着已有素材编号,不再从1重新计数
- 轮询同步assetMentions:polling完成时同时更新references和assetMentions
- reEdit标签修复:用纯文本prompt重建标签,避免blob:URL失效导致图片标签丢失
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 01:43:35 +08:00
6853b08fc9
refactor: 切换 Celery broker 为火山引擎 Redis + 僵尸任务自动恢复
...
Build and Deploy / build-and-deploy (push) Successful in 2m16s
- Redis 从阿里云切换到火山引擎(同区域低延迟)
- delay() 失败改为 warning 日志 + 重试一次(不再静默吞异常)
- 新增 recover_stuck_tasks 定时任务,每10分钟扫描卡住的任务重新派发
- 轮询时每次 touch updated_at,防止活跃任务被误判为僵尸
- Celery worker 启用内嵌 Beat 调度器(-B 参数)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 10:26:04 +08:00
35ebb55893
refactor: 切换 Celery broker 为阿里云 Redis,移除自建 Redis Pod
...
Build and Deploy / build-and-deploy (push) Successful in 2m28s
复用现有阿里云 Tair 实例(db8),减少集群内 Pod 数量和运维负担。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 13:32:47 +08:00
seaislee1209
60713ea009
feat: v0.14.0 后端异步轮询(Celery + Redis)
...
Build and Deploy / build-and-deploy (push) Has been cancelled
- Celery 异步任务:任务提交后后端持续轮询火山 API 直到拿到终态,用户关浏览器也不会丢视频
- 渐进式轮询:前2分钟每5秒、2-10分钟每15秒、10分钟后每30秒
- 优雅降级:无 Redis 时静默跳过,不影响现有前端轮询
- K8s:新增 Redis Deployment + Service、Celery Worker Deployment
- CI/CD:deploy.yaml 自动部署 Redis/Celery,每次推代码自动重启 celery worker
- 兜底:poll_stuck_tasks management command 清理僵尸任务
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 13:27:16 +08:00
27012a8809
Fix IP and video sources
Build and Deploy / build-and-deploy (push) Successful in 4m1s
2026-03-23 14:06:59 +08:00
a389495ee7
add change host
Build and Deploy / build-and-deploy (push) Successful in 2m21s
2026-03-20 16:25:22 +08:00
e04712cc79
feat: 接入阿里云短信告警通知(dysmsapi)
...
Build and Deploy / build-and-deploy (push) Successful in 2m10s
异常检测触发时,在飞书告警基础上同时发送短信通知。
签名:广州气元科技,模板:SMS_503445109。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 17:23:36 +08:00
d75d35dfc0
Migrate deployment from Volcengine VKE to K3s
...
Build and Deploy / build-and-deploy (push) Failing after 2m22s
- Switch CI/CD target from KUBE_CONFIG_VKE to KUBE_CONFIG_K3S
- Change ingress class from ALB to traefik (K3S built-in)
- Remove VCI annotations from deployments
- Restore imagePullSecrets for SWR registry access
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:46:33 +08:00
c1a0a477d8
add huoshan build
Build and Deploy / build-and-deploy (push) Failing after 6m0s
2026-03-19 11:19:28 +08:00
seaislee1209
10e5bd57df
fix: ALLOWED_HOSTS 改为通配符,解决 Traefik 转发 400 问题
...
Build and Deploy / build-and-deploy (push) Successful in 2m16s
Traefik 转发请求时 Host 头可能不是原始域名,导致 Django 返回 400。
Ingress 已做域名路由,Django 层无需重复检查。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 07:32:15 +08:00
seaislee1209
cfe5031d62
fix: K8s 健康检查 400 + 补充 generation 迁移文件
...
Build and Deploy / build-and-deploy (push) Successful in 2m18s
- 健康检查探针添加 Host: localhost 头,解决 Django ALLOWED_HOSTS 拒绝
- 补充 generation 0004 迁移(model choices 标签更新)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 06:59:54 +08:00
seaislee1209
d9a12af078
fix: v0.8.5 安全加固 — CRITICAL/HIGH 漏洞修复
...
- C1/C2: 移除 settings.py 中硬编码的数据库密码和 SECRET_KEY 默认值
- K8s: DB_PASSWORD/DB_HOST/DB_USER/DJANGO_SECRET_KEY 改为 secretKeyRef
- H1: DEBUG 默认值从 True 改为 False
- H2: 登录接口添加 ScopedRateThrottle (5/min),全局限流 (anon 30/min, user 120/min)
- H4: Django Admin 仅在 DEBUG=True 时注册
- H6: PromptInput innerHTML 使用 DOMPurify 消毒防止 XSS
- H7: ALLOWED_HOSTS 从 "*" 收紧为实际域名
- H9: Nginx 添加安全响应头 + server_tokens off
- M1: 密码策略加强 (min 8 + CommonPassword + NumericPassword)
- M5: Django 生产环境安全头配置
- L1: 登录接口改为 POST-only
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 02:08:50 +08:00
seaislee1209
32f0ee58f4
feat: v0.8.0 — Seedance API 全流程修复 + TOS 视频持久化
...
- 新增音频引用传递给 Seedance API
- 视频生成完成后自动持久化到 TOS(永久 CDN URL)
- 移除 ARK_API_KEY 硬编码默认值
- 前端渐进式轮询(10s/30s/60s)替代固定 3 分钟
- TOS 桶切换到 airdrama-media (cn-beijing)
- K8s Secret 注入 TOS 密钥,CI/CD 同步更新
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 21:26:27 +08:00
c1f29cbf85
feat: integrate Seedance API key via K8s Secret and auto-create admin user
...
Build and Deploy / build-and-deploy (push) Successful in 3m46s
- CI/CD creates K8s Secret from Gitea Secrets (ARK_API_KEY not in code)
- Backend deployment reads ARK_API_KEY from secretKeyRef
- Enable SEEDANCE_ENABLED=true in production
- Auto-create admin superuser on container startup if not exists
- Update CLAUDE.md and agent-auto memory docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 00:41:22 +08:00
8ef3d17553
Integrate Log Center for error reporting
...
Build and Deploy / build-and-deploy (push) Successful in 1m57s
- Backend: DRF custom exception handler → Log Center (async, non-blocking)
- Frontend: global error handlers + axios 5xx interceptor → Log Center
- CI/CD: failure step reports build/deploy errors with actual logs
- K8S: add LOG_CENTER env vars to backend deployment
- Registered projects: video_backend, video_web
2026-03-13 10:35:49 +08:00
f42eb64e25
Add CI/CD pipeline and K8S deployment
...
Build and Deploy / build-and-deploy (push) Successful in 3m13s
- Backend/Web Dockerfiles with multi-stage builds
- K8S deployments, services, and ingress for both domains
- Gitea Actions workflow: build → push to SWR → deploy to K3s
- Health check endpoint (/healthz/)
- CORS env var support for production domains
- Nginx reverse proxy for frontend → backend API
Domains:
- video-huoshan-api.airlabs.art (backend)
- video-huoshan-web.airlabs.art (frontend)
2026-03-13 10:24:31 +08:00