51 Commits

Author SHA1 Message Date
lhk229 a2ee879fc8 添加gfilter专用worker (#103)
Project CI / Repository checks (push) Successful in 1m3s
Project CI / Native shell tests (push) Successful in 2m26s
Project CI / Frontend tests (push) Successful in 2m0s
Project CI / Backend tests (push) Successful in 3m1s
Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/103
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-23 18:06:29 +08:00
kdletters 387a1c26e3 完成全量检查整改
清理已跟踪原始日志与个人本地配置
修复前后端有效门禁、测试和构建问题
补齐生产 Jenkins、SpacetimeDB 本地命令与文档约束
收紧图片编辑器状态、附件与媒体引用测试
排除已下线旧创作入口测试并清理 warning
2026-07-17 16:56:46 +08:00
kdletters 0baa8cf8cc 修复退款复核与发布安全边界
补齐退款人工复核、刷新恢复、会话隔离和旧冷备导入兼容
强化真实微信退款对账开关、重复环境变量和生产发布门禁
优化公开作品资产授权查询并保持实时撤销语义
统一后台微信渠道、退款追回流水和画布正式资源测试契约
补齐生成与素材侧栏回归测试
2026-07-14 16:31:22 +08:00
kdletters f4153ebfa7 统一维护与错误页面并修复移动端顶部文案
新增品牌维护页和404页面并补齐网关路由
将临时维护公告迁到release外运行态覆盖并增加构建门禁
同步Nginx、Pingora、部署脚本与生产运维文档
隐藏移动端顶部SEO介绍并保留桌面端与H1语义
增加维护页、404页和移动端回归测试
2026-07-13 16:26:27 +08:00
kdletters 8e1f441d6b 补齐发布包维护脚本
把 API 部署与维护开关脚本复制进 current release
补充发布夹具对三个随包脚本的存在性断言
记录 Full 退出维护依赖 current release 自包含脚本
2026-07-12 23:02:58 +08:00
kdletters 425699b2e2 修复发布就绪等待与充值过期监听
为 API readiness 探测增加单次超时,避免端口已建立时无限挂起
修复 SpacetimeDB 枚举状态订阅导致的充值过期监听失败
在 pause-after-stdb 审批提示中强调运行时与迁移身份互斥
补齐生产发布门禁、回归测试与运维排障文档
2026-07-12 22:24:47 +08:00
kdletters 51740c021b 补齐流水线维护退出选项与停服公告
Full 发布全程保持维护并在最后按选项退出
API Deploy 支持成功后保留维护并补齐回归门禁
新增停服公告维护页并同步运维文档
2026-07-12 21:24:17 +08:00
kdletters 324f99efdf 修复外部生成任务大载荷导致的内存膨胀
阻止图片编辑器将 Data URL 和超限 JSON 写入生成任务,复用 objectKey 等轻量引用
新增外部生成任务摘要投影与分批 payload 压缩回填流程,避免正式列表读取大字段
收紧 SpacetimeDB 发布为永不删数据并移除 Jenkins 普通清库入口,补齐维护窗口门禁
更新生成绑定、运维文档和回归测试,并完成生产数据副本迁移与压缩验证
2026-07-11 13:55:05 +08:00
kdletters 187d7735b9 修复编辑器定价持久化与资源预览
将模型定价改为 SpacetimeDB 强类型持久化并兼容旧配置种子迁移
修复快速编辑支付弹窗期间框选显示和交互冻结
补齐后台图片放大以及视频音频资源预览
收紧主站和 External 资源换签授权并记录管理员跨用户审计
固化外部生成入队价格、attempt 钱包结算和最终 lease 失败收口
加固运行时身份轮换、bootstrap secret 与生产构建发布门禁
同步生成绑定、定向测试、运维脚本和项目文档
2026-07-10 18:28:06 +08:00
lhk229 5c9b5ef69e 动作视频/生图背景色链路升级 + 阿里云抠图接入 (#75)
主要改动
1. 阿里云通用抠图接入(新增 platform-matting crate)

手搓阿里云 VIAPI 通用抠图接口(ACS3-HMAC-SHA256 签名),跨区输入走临时桶通道。
图片抠图升级为三档降级:BgFilter → 阿里云 → 本地键色兜底。
动作视频逐帧抠图改用阿里云,remove_editor_generated_green_screen_background 降为最后兜底。
2. 背景色不再写死绿色,改多背景色自动决策

动作视频背景色和生图一样从候选调色板自动选,选项继承。
3. 视觉背景色决策(修"蓝撞蓝")

让 LLM 看参考图选背景色(gpt-4o-mini 视觉模型,路由到 VectorEngine 视觉客户端),修复原纯文本盲选。
4. 背景色候选硬过滤器(新增 editor_screen_background_filter)

按参考图前景配色算 Lab 危险质量 + 皮肤专属三判据(ΔE 距离 / 色调投影 / RGB 分离)剔除撞色候选,LLM 只在安全集合里审美选。露肤角色自动收敛到冷区。新增"灰竹绿"候选补齐安全弧绿色段。
5. 源图合成到背景色(修视频背景变白)

透明源图先填成选定实色再发给 Ark,视频背景确定性等于抠图键色,不再赌模型服从提示词。
6. screenColorHex 结构化记录 + 死代码清理

四条链路统一把实际背景色写进 generation_inputs,修复生图链路"抠图背景色"字段从未生效的旧逻辑。
清理前端抠绿 + qwenSprite 死代码,移除一次性探针示例。

Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/75
Reviewed-by: kdletters <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-10 18:22:17 +08:00
kdletters 3462c1efe1 修复 Pingora 部署检查误报
显式传播 systemd 与 EnvironmentFile 提取失败,首错后立即终止部署检查
补充 direct-entry 与 systemctl cat 失败回归,阻止空环境连带误报
同步记录旧 release 残留 capability 的安全清理与验收口径
2026-07-10 16:20:21 +08:00
kdletters 2cf3953bad 收紧外部生成任务租约和超时保护
缩短 worker lease 并新增普通和长任务执行预算配置

让 worker 超过执行预算后写失败并释放槽位

降低 BgFilter 默认超时并加入连续失败熔断兜底

补充资产计费 future 取消时的退款补偿保护

同步生产 env 示例、部署脚本和运维文档
2026-07-09 01:32:23 +08:00
kdletters 4e3c26d5d8 修复 release 发布与冷备份恢复
冷备份增加工作目录空间预检并确保失败后恢复依赖服务

API deploy 增加 Pingora 产物硬校验并区分 current 切换前后维护模式处理

Jenkins release 默认构建和部署 Pingora 影子网关并在全量流水线透传参数

补充备份与 API deploy 回归检查和生产运维护栏

更新生产运维文档与项目记忆的事故处理口径
2026-07-08 11:04:48 +08:00
kdletters 14f8a87ac5 修复 API 发布安装外部生成 worker 模板
API deploy 从随包安装外部生成 worker 模板和 controller 单元
安装 worker systemd 单元后自动 daemon-reload
补充 API release 与 deploy 动态门禁覆盖 worker systemd 模板
2026-06-23 01:01:59 +08:00
kdletters 1189e2856f 补齐钱包退款出箱部署配置
为容器与生产环境示例补齐钱包退款出箱默认变量

发布脚本自动补齐并创建钱包退款出箱运行目录

server provision 同步写入钱包退款出箱默认配置与目录

修复 production-api-deploy 检查对本地特权命令与负向日志的模拟
2026-06-19 11:00:36 +08:00
kdletters e3258f6f1d 完善 Pingora 直连切换门禁
新增 Pingora shadow env 回切脚本与对应检查。

补齐直连证据包时间线和 cutoverRunId 审计门禁。

支持 Gitea Host 透传并更新直连多域名文档。

修复百分号编码静态图标路径并补 smoke 覆盖。

更新生产发布与运维护栏对 Pingora 发布包的校验。
2026-06-18 21:10:45 +08:00
kdletters 0cc2a79c7b 自动拉起 Pingora shadow 发布服务
让 API deploy 在发布包包含 Pingora 时先校验 shadow systemd 和 env 安全边界

在 shadow 配置安全时自动启动或重启 genarrative-pingora-gateway.service

拒绝 direct-entry capability、公网监听 env,并在 current 切换前失败

补充 production-api-deploy 动态烟测、生产运维护栏和 Pingora 运维文档

在 dev 服务器真实验证 shadow inactive 场景可由发布脚本自动拉起
2026-06-18 14:53:03 +08:00
kdletters 4bca480f3c 补齐 Pingora 直连彩排状态
新增 Pingora 直连彩排状态脚本,核验 health patrol、端口归属、systemd、realpath canary 和 current release 自审

将彩排状态脚本纳入 API release 构建、部署、Jenkins 归档和生产运维护栏

补充 release readiness、current release audit、cutover snapshot 与发布部署检查对彩排脚本的覆盖

更新 Pingora 运维文档和共享记忆,记录 dev health patrol 真实配置漂移与修复方式

在 dev 服务器真实部署验证 Nginx 仍接 80/443、Pingora shadow 与 realpath canary 高端口正常、health patrol 和彩排状态均为 OK
2026-06-18 00:31:42 +08:00
kdletters 123d4ada01 脚本化 Pingora realpath canary 启停
新增 realpath canary 启用和关闭脚本

将脚本纳入 release、deploy、Jenkins 和 current release 自审

补充脚本化 canary 文档和生产运维护栏

增加 realpath canary 启停自测和发布部署护栏
2026-06-17 23:45:58 +08:00
kdletters 75b85ee5a9 修正 Pingora 高端口重定向验收
direct live 支持独立 redirect base URL 预期

release readiness 和切换证据链透传 redirect base URL

直连启用脚本透传高端口 rehearsal 参数

补充 direct live guard、运维门禁和文档示例
2026-06-17 23:00:28 +08:00
kdletters 764f3609d0 修正 Pingora 证书副本归属
拆分 TLS 证书同步脚本的 target owner 与服务用户。

目标证书默认保持 root:genarrative,服务用户只做可读性复核。

更新证书同步测试,覆盖显式 target-user 的本机 apply 场景。
2026-06-17 22:44:10 +08:00
kdletters 057522fc2e 补齐 Pingora TLS 证书同步
新增 Pingora TLS 证书同步脚本,默认 dry-run,apply 时原子复制证书到私有目录并复核服务用户可读。

将证书同步脚本纳入 API release 构建、部署复制和 current release 自审清单。

补充发布包、deploy、自审和脚本自身门禁,覆盖缺失脚本、symlink 目标与权限边界。

更新 Pingora env 示例、运维文档和项目踩坑记录,明确不要放宽 Let’s Encrypt 原路径权限。
2026-06-17 22:40:05 +08:00
kdletters 68bf3b698a 补齐 API 发布 checksum 入包
部署脚本将 api-server 与 Pingora checksum 一起复制到 current release

部署自测覆盖 current release checksum 自审依赖

同步 Pingora 正式发布链路文档和共享排障记忆
2026-06-17 22:09:03 +08:00
kdletters 27912fd020 合并 master 到 Pingora 网关分支
保留 Pingora 网关发布与巡检能力

合入外部生成 worker 与 controller 运维链路

对齐 SpacetimeDB 2.5.0 依赖锁定

更新项目共享记忆与生产运维文档
2026-06-17 21:05:57 +08:00
kdletters a7711d2dc3 引入Pingora独立网关正式化链路
新增 pingora-gateway 独立二进制 crate,覆盖路由、静态资源、压缩、接流保护、TLS 直连和访问日志能力。

新增 Nginx canary、realpath canary、direct preflight、direct live、direct enable 和 rollback 脚本。

新增 Pingora 切流证据包、命令证据、manifest 验真、根目录总审计和 release readiness 聚合门禁。

完善 API release、Jenkins、systemd、health patrol、生产部署和发布包自包含校验。

更新 Pingora 试点文档、Nginx README 与 Hermes 共享记忆。
2026-06-17 20:16:51 +08:00
kdletters 4a6c126366 完善外部生成Worker动态扩缩容
新增外部生成controller进程角色与systemd服务

补齐队列统计procedure与spacetime-client绑定

更新生产部署脚本、健康巡检和server provision的worker/controller口径

新增容器worker smoke脚本并同步运维文档与团队记忆
2026-06-12 15:21:35 +08:00
kdletters 31ad55b0cf 合并 master 并保留外部生成 worker 模式
合入 master 的生产健康巡检、JumpHop 和 SpacetimeDB 更新
保留外部生成 worker、队列/内联模式与 lease guard 口径
合并 Server-Provision 工具复用、health patrol 和外部生成 worker systemd 配置
补齐 SpacetimeDB 生成绑定并通过本地检查
2026-06-10 21:26:53 +08:00
kdletters 9db467d23f 补充 release SpacetimeDB 健康检查与巡检防回退
增加 SpacetimeDB 阶段化健康检查与 /readyz 阶段输出
记录 procedure/reducer/read 失败的阶段和耗时
补充 release 健康巡检 systemd timer 与生产 ops 预检
同步 API 构建部署、provision 脚本和运维文档
2026-06-10 11:35:39 +08:00
kdletters 4f86c1a75b 合并 master 并保留外部生成 worker 模式
合入 master 的拼消消、微信能力、OpenSSL 3.2 和 SpacetimeDB 2.4.1 更新
保留外部内容生成 queue/inline、worker lease 与动态扩缩容口径
补齐拼图后台图片生成队列轮询和运行态返回恢复
同步容器、生产运维和 Hermes 共享记忆中的 worker 文档
2026-06-09 16:55:32 +08:00
kdletters facbb2074c 补齐 API 构建产物中的数据库备份脚本
API 构建归档加入 scripts/database-backup-to-oss.mjs。

API 发布拉取上游构建产物时同步复制数据库备份脚本。

API 部署优先从构建产物写入 current release 的备份脚本,旧产物仅警告回退。

更新生产运维文档,记录 API release 必须携带备份脚本。
2026-06-09 15:28:32 +08:00
kdletters 568509027c 修复冷备份后 API 恢复
备份脚本支持冷备份后重启依赖服务

生产备份与发布脚本恢复 genarrative-api 服务

api-server 启动恢复 SpacetimeDB 超时后持续重试

同步更新后端与运维文档口径
2026-06-09 12:35:38 +08:00
kdletters 8d54ea3374 feat: workerize external generation 2026-06-05 17:29:08 +08:00
kdletters e5592304a5 feat: add graceful api shutdown readiness 2026-06-05 11:44:27 +08:00
kdletters dbe4c902b4 fix: normalize web release asset permissions 2026-06-02 11:51:37 +08:00
kdletters d276faf5ca fix: wait for spacetimedb before module publish 2026-05-28 03:33:38 +08:00
kdletters 3042c3e32e merge: fix api deploy carry backup script 2026-05-28 02:08:07 +08:00
kdletters de8b82c575 fix publish backup flow 2026-05-28 02:05:41 +08:00
kdletters f62d152d8c fix api deploy carry backup script 2026-05-28 02:05:09 +08:00
kdletters 23f6317c8b fix deploy backup blocking publish 2026-05-28 01:42:01 +08:00
kdletters 232114495f Merge branch 'master' into codex/auth-spacetime-fail-closed 2026-05-27 21:03:16 +08:00
kdletters 418fcb0548 Fail closed when SpacetimeDB auth restore is unavailable 2026-05-27 20:58:37 +08:00
kdletters 5a8a856265 feat: automate database OSS backups 2026-05-27 19:33:05 +08:00
kdletters 487efff9c4 fix(deploy): ensure release tracking outbox path 2026-05-21 15:27:19 +08:00
kdletters 014e88afaa ci: allow api env update via sudo
CI / verify (push) Has been cancelled
2026-05-06 17:23:06 +08:00
kdletters cf27686e17 ci: propagate database to api deploy
CI / verify (push) Has been cancelled
2026-05-06 17:03:12 +08:00
kdletters 49aad7311c Add local Jenkins controller watchdog
CI / verify (push) Has been cancelled
2026-05-03 14:18:27 +08:00
kdletters 01b302d7eb Add resilient Jenkins inbound agent setup
CI / verify (push) Has been cancelled
2026-05-03 14:01:19 +08:00
kdletters cc38057c3c chore: harden spacetime publish provisioning
CI / verify (pull_request) Has been cancelled
2026-05-03 03:38:10 +08:00
kdletters 62afaf620a fix: publish stdb with service identity 2026-05-03 02:11:44 +08:00
kdletters 96f13bdfed fix: avoid production spacetimedb port conflict 2026-05-03 00:49:36 +08:00