suzmii
4f3f0f24ff
接入AGC后台模型目录与对话模型选择
...
新增后台 AGC 模型目录、别名、启停和默认项管理
客户端设置页恢复原状,对话框右下角按别名选择模型
服务端按稳定模型标识映射并校验实际模型白名单
修复 AGC 配套后端端口漂移、启动等待和 SpacetimeDB 版本检查
补充迁移、文档、启动与模型选择测试
2026-09-05 19:10:49 +08:00
suzmii
ac0f6bb783
Revert "恢复 Router provisioning 固定密钥方案"
...
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / Backend tests (pull_request) Failing after 9s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
This reverts commit 9a06945e44 .
2026-09-03 11:22:29 +08:00
suzmii
9a06945e44
恢复 Router provisioning 固定密钥方案
...
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Successful in 3m4s
Project CI / Backend tests (pull_request) Failing after 9s
Project CI / Native shell tests (pull_request) Failing after 10m8s
恢复 api-server 内置 provisioning secret,保持现有账号派生兼容
移除 provisioning secret 的环境变量和示例配置入口
补充阶段性取舍而非设计缺陷的代码注释
同步 Router 账号链路架构文档
2026-09-03 11:10:32 +08:00
suzmii
4b3d27e3d3
修复 AGC Router 计费与登录安全问题
...
绑定 LLM 幂等键与请求指纹,阻止跨请求免扣费
放宽登录对 Router 控制面的依赖并迁移 provisioning secret
加强 AGC 配置文件校验与 SSE UTF-8 处理
同步环境配置、架构文档和回归测试
2026-09-03 10:24:36 +08:00
suzmii
c2354f855f
收敛 AGC 官方 LLM Router 账号链路
...
新增 llm_router_account 表、procedures 与客户端绑定
api-server 改为 New API 管理员流程签发独立 Router 账号
Router 成功后执行幂等后置泥点扣费
生产外锁定非生产 Router 控制面为 loopback
AGC 正式模式清除手工 Provider 凭据并锁定官方代理
AGC 状态面只返回账号凭据与官方路由安全元数据
后台数据库表查询适配账号凭据状态展示
补充 AGC 与后端测试、环境示例和架构文档
修正 dev-stack 状态路径按仓库脚本位置解析
2026-09-01 12:03:07 +08:00
suzmii
9f832ee96a
完善AGC Router代理与后置计费
...
修正无 provisioning 时仅使用服务端 fallback Key,禁止生成 Router 不认识的随机 Key
补齐 AGC 凭据元数据脱敏、失效复用保护与 SpacetimeDB 字段映射
让 Responses 与 Chat 流式调用在成功后按 usage 幂等扣除泥点
同步 schema 迁移、环境变量示例、后端架构和决策文档
2026-08-30 16:14:10 +08:00
suzmii
93477f2b1b
重整AGC官方路由与安全文件链路
...
记录当前 AGC 客户端、Tauri、API Server、后台查询和契约改动
保留后续按新 Router 后端方案重构的检查点
2026-08-30 14:21:18 +08:00
lhk229
38e195060b
合并 master 的付费生成预检与调试输出脱敏
...
Project CI / Repository checks (pull_request) Successful in 1m14s
Project CI / Frontend tests (pull_request) Successful in 2m52s
Project CI / Backend tests (pull_request) Successful in 3m54s
Project CI / Native shell tests (pull_request) Has been cancelled
合入 master 的编辑器付费生成目标预检与应用状态调试输出密钥泄漏两项修复。
SFX 直连与入队沿用 master 预检,源码顺序回归改为锁定本分支的 ElevenLabs worker 编排入口。
画布 Agent 音效参数恢复通用 null 缺省兼容,但保留 duration null 表示自动时长的 SFX V2 语义。
音效时长越界断言按 SFX V2 的 0.5-30 秒边界上移,重算契约测试期望。
哨兵测试补入 ElevenLabs base URL 与 API key,锁定其默认缺席于 AppConfig 调试输出。
2026-08-08 05:33:40 +00:00
kdletters
4974844090
修复应用状态调试输出密钥泄漏 ( #150 )
...
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
修复 Issue #148。
- AppConfig、AppState、AppStateInner 改为封闭的手写 Debug 安全摘要
- SpacetimeClientConfig 隐藏 token、URL 与数据库自由字符串,SpacetimeClient 复用安全摘要
- 唯一哨兵覆盖五条独立 Debug 路径,并精确锁定 AppConfig 允许输出字段
- 补充运行时日志规约与项目排障记忆
验证:
- cargo test -p api-server debug_summaries_redact_all_runtime_credentials
- cargo check -p spacetime-client -p api-server --all-targets
- cargo fmt --all --check
- npm run check:encoding
- git diff --check
剩余边界:报告第二档中的历史 provider 配置类型独立 Debug 脱敏另行处理,本 PR 聚焦第一档主泄漏链。
Closes #148
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/150
2026-08-07 23:56:01 +08:00
lhk229
c3b3b47c9a
实现 SFX V2 T3 ElevenLabs 音频适配
...
新增 ElevenLabs 直接二进制适配、固定请求契约和单次 POST 边界。
实现 40 MiB 有界读取、MIME/MP3 校验和 600 秒纯 Rust 时长探测。
接入服务端环境配置、失败关闭 settings guard 与持久化来源解耦。
补齐 mock 回归测试、环境模板和 T3 tracked 文档记录。
2026-08-07 02:50:59 +00:00
lhk229
a2ee879fc8
添加gfilter专用worker ( #103 )
...
Project CI / Repository checks (push) Successful in 1m3s
Project CI / Frontend tests (push) Successful in 2m0s
Project CI / Native shell tests (push) Successful in 2m26s
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
f748dc72c3
收口图片生成任务超时预算
...
- 将四类 VectorEngine 图片任务纳入长任务预算并预留终态写回窗口
- 通过请求上下文传递绝对截止时间并约束发送重试与图片下载
- 允许显式下调单次请求超时并补齐预算回归测试
- 同步外部生成 Worker 运维文档与项目记忆
2026-07-20 20:57:34 +08:00
kdletters
7ea463ed08
退役旧创作模板业务并保留数据壳
...
保留 SpacetimeDB 历史表、迁移白名单与最小兼容读取定义
移除旧创作前后端、worker、业务过程及纯业务 crate 的编译依赖
恢复现役创作、项目、我的入口及桌面移动导航
收紧 Vite、TypeScript、ESLint、Vitest 与静态资源退役边界
补齐开发栈、网关、原生壳和文档退役约束
2026-07-18 22:02:22 +08:00
lhk229
aecabdacfd
新抠图算法 ( #85 )
...
Co-authored-by: 段舒康 <kdletters@qq.com >
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/85
Co-authored-by: Linghong <ink29535@proton.me >
Co-committed-by: Linghong <ink29535@proton.me >
2026-07-16 18:33:06 +08:00
kdletters
8862887baa
新增后台充值退款管理与微信V3退款闭环
...
新增充值订单查询、通用用户详情、钱包冻结与部分退款操作
接入微信V3退款申请、回调、主动查单、交易账单对账与安全诊断
新增退款占用、权益追回、异常欠账和消费限制事务
补齐Native支付SSE自动收口及退款编号与部分退款校验
同步SpacetimeDB schema、生成绑定、测试与项目文档
2026-07-14 12:16:01 +08:00
kdletters
36a8719d0f
补齐微信虚拟支付发货确认
...
在虚拟支付商品入账后调用微信发货确认接口
允许已入账商品订单只重试发货而不重复发放权益
遇到失效 access token 时强制刷新并最多重放一次
要求使用微信 paid_time 并完善历史补单文件清理和回归测试
2026-07-13 13:39:59 +08:00
kdletters
2f69f2fda2
补齐微信虚拟支付查单与补偿
...
接入微信官方虚拟支付查单并缓存稳定接口令牌
让用户确认与订单过期补偿统一核对支付类型、状态、金额和单号
增加单笔历史订单的 dry-run 与确认指纹补单工具
隔离运行时身份与敏感 openid 文件并补充配置契约和回归测试
2026-07-13 13:12:44 +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
2cf3953bad
收紧外部生成任务租约和超时保护
...
缩短 worker lease 并新增普通和长任务执行预算配置
让 worker 超过执行预算后写失败并释放槽位
降低 BgFilter 默认超时并加入连续失败熔断兜底
补充资产计费 future 取消时的退款补偿保护
同步生产 env 示例、部署脚本和运维文档
2026-07-09 01:32:23 +08:00
lhk229
308d440816
新抠图算法(轻量版)上线 ( #73 )
...
新抠图算法(轻量版)上线,生图背景色同步改为多颜色+自动决策
---------
Co-authored-by: kdletters <kdletters@qq.com >
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/73
Reviewed-by: kdletters <kdletters@qq.com >
Co-authored-by: Linghong <ink29535@proton.me >
Co-committed-by: Linghong <ink29535@proton.me >
2026-07-07 14:57:10 +08:00
kdletters
2a98b60830
改为运行时控制画板 Agent 入口
...
新增前端运行时配置接口下发画板 Agent 开关
将画板 Agent 入口改为读取后端运行时配置
把开关变量改为 GENARRATIVE_ENABLE_IMAGE_EDITOR_AGENT_SIDEBAR
补充前后端测试和生产环境变量文档
2026-07-07 14:04:08 +08:00
kdletters
d7d98acfd4
接入VectorEngine画布Agent规划
...
切换画布 Agent 与通用 LLM 代理到 VectorEngine gpt-5.4-mini。
为画布 Agent 注入上一轮生成结果并默认承接上一张图编辑。
补齐规范图工具分流、规范展板 prompt 要求和 JSON 残片回复兜底。
同步前后端契约、测试脚本、环境示例和项目文档。
2026-07-05 17:42:27 +08:00
kdletters
08f188e26e
切换图片画布抠图到 BiRefNet
...
新增图片画布去背景 BFF 配置与路由,服务端代理 BiRefNet 并持久化结果。
将手动去背景、角色图、图标 spritesheet、UI 素材提取和角色动作帧抠图切到 BiRefNet。
新增画布右上角任务侧栏并展示去背景任务耗时与状态。
同步图片画布技术文档和项目决策记录。
(cherry picked from commit 495fcc8801 )
2026-06-30 17:12:13 +08:00
kdletters
73a17193d4
升级外部生成为正式任务列表
...
将 external_generation_job 扩展为含价格、确认时间、退款流水和事件审计的正式生成任务事实源
新增外部生成任务列表与确认 BFF,并让平台入口按后端任务补弹完成或失败提示
保护画布生成队列超时、快照回写和自动保存覆盖场景
将 worker 计费退款流水写入 externalGenerationJobId,并补充冷备份后 worker/controller 恢复守护
2026-06-24 15:17:12 +08:00
JenkenB
55469a2198
UI extraction selection + local FFmpeg dev env
...
Require an explicit red-box selection before extracting UI-design assets: add rectangular/ellipse/brush selection UI, render red-outline marks into a marked Data URL on the client, and update the extraction prompt to "仅提取被红色框框选的素材并整理成spritesheet". Add frontend overlay/raster models and tests to support the selection flow and adjust numerous image-editor tests and views to wire up the selection lifecycle. On the dev ops side, enhance scripts/dev to detect a local %LOCALAPPDATA%/Genarrative/ffmpeg/bin installation on Windows, prepend it to PATH and inject CHARACTER_ANIMATION_FFMPEG_PATH/FFPROBE_PATH (with tests), and export the helper. Server config now prefers GENARRATIVE_*-prefixed FFmpeg env vars and includes a Rust test to validate reading the prefixed variables. Update docs to describe the new UI extraction behavior and local FFmpeg handling.
2026-06-22 19:13:37 +08:00
JenkenB
163b2fa077
Add editor generation model pricing admin UI & API
...
Introduce centralized model pricing for editor generations: add EditorGenerationPricing types and admin API client methods (GET/POST), backend default config and runtime override support, and server route/handler changes to expose admin editor-generation-pricing. Add an AdminEditorGenerationPricingPage component, styles, route entry, icon, and tests, plus a test for admin routes. Update docs and decision log to describe the pricing contract and management workflow. This enables managing per-model pricing (perGeneration / perSecond, flat or tiered) from the admin panel and exposes runtime pricing to the main site.
2026-06-22 16:57:29 +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
f87ae3f915
合并 origin/master
...
合入 master 的钱包退款 outbox、拼图后台编译互斥与公开链路更新
保留当前分支外部生成 worker 队列语义,并对齐拼图首图 claim 释放顺序
2026-06-11 23:06:41 +08:00
kdletters
f8a80cd795
修复资产计费边界风险
...
资产生成预扣费改为 fail-closed,避免钱包异常时继续调用外部生成
新增钱包退款 outbox,退款失败时本地落盘并后台重放
拼图首图后台任务改用 SpacetimeDB claim 表实现跨实例互斥
计费 ledger id 统一绑定 request_id,并让前端重试复用 x-request-id
同步 SpacetimeDB bindings、后端架构文档和 Hermes 决策记录
2026-06-11 15:55:23 +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
lhk229
2d30fd808d
replace all apimart call with vectorengine counterpart
2026-06-09 19:01:41 +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
088470a315
收口微信领域能力
...
将 api-server 微信 HTTP/BFF 适配统一迁移到 wechat 目录。
将微信支付和虚拟支付消息协议细节下沉到 platform-wechat。
拆分 platform-wechat 的订阅消息与支付模块并补齐依赖。
修正微信相关测试的用户 ID 夹具并同步后端架构文档。
2026-06-08 21:05:37 +08:00
kdletters
38d9c292ae
feat: send puzzle result subscribe messages
2026-06-08 11:49:11 +08:00
kdletters
4bb6d0bd1e
feat: add inline external generation mode
2026-06-07 00:56:53 +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
3db956ec81
feat: add wechat mini program virtual payment
2026-05-31 22:44:22 +08:00
kdletters
0edfc21a46
Merge remote-tracking branch 'origin/master' into codex/wechat-mini-program-virtual-payment
...
# Conflicts:
# .hermes/shared-memory/decision-log.md
2026-05-28 00:43:00 +08:00
kdletters
418fcb0548
Fail closed when SpacetimeDB auth restore is unavailable
2026-05-27 20:58:37 +08:00
kdletters
f36b90ebdb
feat: switch mini program recharge to virtual payment
2026-05-26 22:32:16 +08:00
kdletters
41075e41a2
fix: stabilize rpg creation entry and opening cg
2026-05-21 17:21:38 +08:00
kdletters
c9b3468b29
Merge branch 'codex/container-simulate'
...
# Conflicts:
# .hermes/shared-memory/decision-log.md
# server-rs/crates/api-server/src/puzzle.rs
# server-rs/crates/spacetime-client/src/mapper.rs
2026-05-19 10:07:45 +08:00
kdletters
05a0f34722
perf(api-server): batch route tracking through local outbox
2026-05-19 01:47:13 +08:00
kdletters
8038b6a6ee
perf(api-server): tune gallery load shedding
2026-05-19 01:00:33 +08:00
JenkenB
d1adfa3406
Improve local auth env handling and fallbacks
...
Allow local env files to reliably override authentication feature flags (SMS/WeChat) by whitelisting keys in scripts/dev-utils.mjs and adding a unit test. Add SMS checks to scripts/check-api-server-env.mjs. Make server config.parse_bool tolerant of shell-wrapped quoted values (e.g. '"true"') and add tests so SMS_AUTH_ENABLED is parsed correctly when shells supply quotes. Update docs to clarify SMS env behaviour, restart requirements, and add guidance + a CSS fallback for old mobile browsers (QQ/X5) so public cover images render even when aspect-ratio is unsupported. Also include related frontend test and component adjustments and add puzzle onboarding handlers/endpoints in server-rs/crates/api-server/src/puzzle.rs.
2026-05-18 23:13:49 +08:00
kdletters
4f6c97ae92
Merge branch 'codex/cache-view-procedure-hotpaths'
2026-05-17 21:18:07 +08:00
kdletters
7b74d129a5
Merge remote-tracking branch 'origin/codex/send-sms'
2026-05-17 05:04:59 +08:00