feat: harden storyforge production baseline

This commit is contained in:
kris
2026-03-26 19:33:36 +08:00
parent 38b02a9799
commit a30ed8decd
9 changed files with 1883 additions and 20 deletions

View File

@@ -40,6 +40,13 @@
- 复盘
- 额度与运维面板
## 当前量产基线
- SQLite 已默认启用 `WAL``busy_timeout``synchronous=NORMAL``foreign_keys=ON` 等连接参数,减少并发写入时的锁冲突。
- `tenant_quota_profiles``tenant_usage_ledger` 已接入核心生产链,`explore/*``content-source-sync``reviews``real-cut``ai-video``assistants/{id}/generate``live-recorder create` 都会先做额度硬拦截,再记账。
- `jobs` 已补 `retry / requeue` 单任务入口,以及管理员批量重试失败任务入口,便于失败链路恢复。
- 仓库内已新增 SQLite 备份脚本,可在发布或故障前快速生成一致性快照。
## 当前支持的平台
- `douyin`
@@ -73,4 +80,5 @@
1. 继续按当前仓库边界维护,不再把 `AI Glasses` 代码重新叠进来。
2. Web 功能优先围绕多平台工作台、生产中心和租户控制面继续深化。
3. 需要真实平台验证的事项,单独作为联调任务推进,不再和仓库边界治理混在一起。
4. 公网环境出现异常时,先检查云服务器上的 `nginx / storyforge-web-v4.service / collector-service`,再检查本机桥接链
4. 生产基线任务优先按“任务恢复、额度硬控、数据库备份、观测补齐”继续深化
5. 公网环境出现异常时,先检查云服务器上的 `nginx / storyforge-web-v4.service / collector-service`,再检查本机桥接链。

View File

@@ -0,0 +1,42 @@
# StoryForge 生产基线
日期2026-03-26
本文档描述当前仓库已经落地的量产底盘,便于后续继续开发和运维。
## 已落地能力
- SQLite 默认连接参数已收紧:
- `journal_mode=WAL`
- `synchronous=NORMAL`
- `busy_timeout`
- `foreign_keys=ON`
- `temp_store=MEMORY`
- 核心生产 API 已接入 tenant quota 硬控制与 usage ledger 记账:
- `POST /v2/explore/text`
- `POST /v2/explore/video-link`
- `POST /v2/explore/upload-video`
- `POST /v2/pipelines/content-source-sync`
- `POST /v2/reviews`
- `POST /v2/pipelines/real-cut`
- `POST /v2/pipelines/ai-video`
- `POST /v2/assistants/{assistant_id}/generate`
- `POST /v2/live-recorder/sources`
- 失败任务恢复入口已补齐:
- `POST /v2/explore/jobs/{job_id}/retry`
- `POST /v2/explore/jobs/{job_id}/requeue`
- `POST /v2/admin/jobs/retry-failed`
- 仓库内已新增 SQLite 备份脚本:
- `scripts/backup_storyforge_sqlite.sh`
## 运行建议
- 发布前先执行一次数据库备份,再执行服务升级。
- quota 配置建议按 project 维度维护,避免不同项目之间互相干扰。
- 批量 retry 建议优先筛选 `workflow_key``source_type`,避免把不同流水线一起打回去。
## 当前外部阻塞
- 真正的额度策略仍取决于业务侧如何配置 `tenant_quota_profiles`
- `real-cut``ai-video``content-source-sync` 的完整链路仍依赖外部服务可用性。
- 抖音等真实平台采集仍可能受到平台风控影响,需要真实联调确认。