优化生成美术素材泥点消耗原因展示 #296

Closed
opened 2026-09-07 11:17:03 +08:00 by suzmii · 3 comments
Member

问题

生成美术素材时泥点消耗原因的描述过于模糊

image.png
image.png

## 问题 生成美术素材时泥点消耗原因的描述过于模糊 ![image.png](/attachments/7015747c-aa15-4e7e-ba5c-65215f0243d6) ![image.png](/attachments/0b86172d-e7cd-4355-a274-df7e635e4e2d)
suzmii self-assigned this 2026-09-07 11:17:22 +08:00
kdletters added the Kind/Enhancement label 2026-09-07 15:25:24 +08:00
Author
Member

开工分析与实施计划

问题原因

素材类扣费在钱包流水中统一归类为 asset_operation_consume。当前公开钱包账单接口只返回流水来源类型,没有返回本次素材操作的具体类型;共享账单组件只能把所有图片、视频、音频等生成统一展示为“资产操作消耗”,因此用户无法判断泥点具体花在了哪里。

计划改动

  1. 在现有钱包流水 metadata_json 中保存稳定的素材操作类型,不新增或修改 SpacetimeDB 表字段。
  2. api-server 将内部素材类型白名单映射为安全、明确的用户可见原因;不直接向客户端暴露原始 metadata、资源 ID 或任务 ID。
  3. 扩展共享钱包流水契约和账单组件,优先展示后端返回的具体原因;历史或未知流水继续回退为“资产操作消耗”。
  4. 同步覆盖主站、图片画布和 AGC 共用的账单展示,并补充后端、共享契约和前端回归测试及权威文档。

验收标准

  • 新产生的美术素材生成扣费明确显示“生成美术素材”。
  • 图片编辑、视频、角色动画、音效、背景音乐等已有素材操作不会被错误标为美术素材生成。
  • 未携带新 metadata 的历史流水和未知类型保持兼容,不出现内部枚举或资源标识。
  • 泥点价格、扣费顺序、幂等 ledger、失败退款及余额结算语义不变。

不做项

  • 不修改历史流水数据。
  • 不修改 SpacetimeDB schema。
  • 不调整任何生成定价或扣退款规则。
## 开工分析与实施计划 ### 问题原因 素材类扣费在钱包流水中统一归类为 `asset_operation_consume`。当前公开钱包账单接口只返回流水来源类型,没有返回本次素材操作的具体类型;共享账单组件只能把所有图片、视频、音频等生成统一展示为“资产操作消耗”,因此用户无法判断泥点具体花在了哪里。 ### 计划改动 1. 在现有钱包流水 `metadata_json` 中保存稳定的素材操作类型,不新增或修改 SpacetimeDB 表字段。 2. 由 `api-server` 将内部素材类型白名单映射为安全、明确的用户可见原因;不直接向客户端暴露原始 metadata、资源 ID 或任务 ID。 3. 扩展共享钱包流水契约和账单组件,优先展示后端返回的具体原因;历史或未知流水继续回退为“资产操作消耗”。 4. 同步覆盖主站、图片画布和 AGC 共用的账单展示,并补充后端、共享契约和前端回归测试及权威文档。 ### 验收标准 - 新产生的美术素材生成扣费明确显示“生成美术素材”。 - 图片编辑、视频、角色动画、音效、背景音乐等已有素材操作不会被错误标为美术素材生成。 - 未携带新 metadata 的历史流水和未知类型保持兼容,不出现内部枚举或资源标识。 - 泥点价格、扣费顺序、幂等 ledger、失败退款及余额结算语义不变。 ### 不做项 - 不修改历史流水数据。 - 不修改 SpacetimeDB schema。 - 不调整任何生成定价或扣退款规则。
Member

This was generated by AI during triage.

关联 PR #302 的总体方案可以接受:复用既有 metadata、由 api-server 做白名单映射、不改 SpacetimeDB schema,并保留历史流水回退。但该 PR 仍是 WIP,写入 assetKind、公开 DTO/安全映射、共享账单展示和回归验证都尚未完成,暂不能关闭本 Issue。

请确保 metadata 写入与扣费 ledger 在同一事务/幂等链路内,失败退款和扣费顺序保持不变;为美术、图片编辑、视频、角色动画、音效、背景音乐及未知/空 metadata 分别补后端映射和共享组件测试。客户端只能看到稳定的用户文案,不能泄露内部枚举、资源 ID 或任务 ID;主站、图片画布、AGC 三处展示一致后再更新验收勾选。

> *This was generated by AI during triage.* 关联 PR #302 的总体方案可以接受:复用既有 metadata、由 api-server 做白名单映射、不改 SpacetimeDB schema,并保留历史流水回退。但该 PR 仍是 WIP,写入 assetKind、公开 DTO/安全映射、共享账单展示和回归验证都尚未完成,暂不能关闭本 Issue。 请确保 metadata 写入与扣费 ledger 在同一事务/幂等链路内,失败退款和扣费顺序保持不变;为美术、图片编辑、视频、角色动画、音效、背景音乐及未知/空 metadata 分别补后端映射和共享组件测试。客户端只能看到稳定的用户文案,不能泄露内部枚举、资源 ID 或任务 ID;主站、图片画布、AGC 三处展示一致后再更新验收勾选。
Author
Member

补充进度(commit e40d41d60,已推送 PR #302):

  • 已在扣费 metadata 写入服务端 assetKind,并保留队列 job ID / attempt。
  • 已扩展钱包流水 reason 白名单映射,客户端不接收原始 metadata、资源 ID、任务 ID 或未知枚举。
  • 已覆盖图片生成 8 类、图片修改、UI 素材提取、角色动画、视频、音效、背景音乐;历史、未知、空 metadata 回退“资产操作消耗”。
  • 共享账单组件及 Rust/TypeScript 回归测试已完成,主站、图片画布、AGC 继续共用共享组件。
  • 定向 Rust、共享 Vitest、typecheck、ESLint、编码、SpacetimeDB schema guard、fmt、diff 检查均通过。
  • 未执行真实登录、生成、新流水端到端联调:本机 8082、3101 已被另一套栈占用,本轮未启动 api-server。
补充进度(commit e40d41d60,已推送 PR #302): - 已在扣费 metadata 写入服务端 assetKind,并保留队列 job ID / attempt。 - 已扩展钱包流水 reason 白名单映射,客户端不接收原始 metadata、资源 ID、任务 ID 或未知枚举。 - 已覆盖图片生成 8 类、图片修改、UI 素材提取、角色动画、视频、音效、背景音乐;历史、未知、空 metadata 回退“资产操作消耗”。 - 共享账单组件及 Rust/TypeScript 回归测试已完成,主站、图片画布、AGC 继续共用共享组件。 - 定向 Rust、共享 Vitest、typecheck、ESLint、编码、SpacetimeDB schema guard、fmt、diff 检查均通过。 - 未执行真实登录、生成、新流水端到端联调:本机 8082、3101 已被另一套栈占用,本轮未启动 api-server。
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GenarrativeAI/Genarrative#296