kdletters
5bf036bb81
收敛后端依赖装配与鉴权并完善异步追踪 ( #425 )
...
Project CI / AI game creator shell Rust shard 4/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust shard 1/4 (push) Has been cancelled
HTTP 请求取消后,在途计数原先无法释放;项目元数据和 External API 鉴权依赖完整 AppState,相同鉴权和追踪配置也散落在多个入口。本次集中装配这些依赖和横切能力,保持现有公开 API、权限、计费、幂等和事务规则。
## 修改
- 91 个受保护路由集中应用鉴权;保留方法级 404/405/HEAD/Allow、公开入口、MCP、精选缓存头及 2/4 MiB 请求限制。
- 七个项目元数据入口改用缓存的 EditorProjectState,External/MCP 鉴权改用 ExternalApiAuthState;生产实现复用 SpacetimeClient,媒体修复维持原有上传和登记顺序。
- RAII 覆盖请求 Future 取消和 panic unwind 的计数清理;正常与降级服务复用 TraceLayer,指标采用 MatchedPath 模板及固定兜底。
- LLM 普通与流式调用增加跳过参数的异步 span,保持父上下文、流式回调、错误与重试行为;补充替代依赖测试并同步锁文件和文档。
## 验证
| 验证面 | 结果 |
| --- | --- |
| platform-llm 完整本地回归 | 161 个单元测试、3 个集成测试通过;1 个真实 Provider 用例按原配置忽略 |
| api-server 完整回归 | 执行时 1075 通过、12 失败、6 忽略;其中 1 个新增公开读取 fixture 断言已修正,14 个路由契约回归随后全部通过;剩余 11 个是下述既有 Windows 失败 |
| 窄依赖、取消与追踪 | 元数据 owner/幂等/revision、鉴权及 MCP 错误传播、取消/panic/流式响应、追踪父子关系与敏感参数省略均通过 |
| 实际本地服务 | 独立 SpacetimeDB 上 102/102 检查通过,两个动态项目 ID 的路由模板及请求 ID 日志核验 3/3 通过 |
| 编译与边界 | api-server cargo check、AGC 锁文件下 platform-llm cargo check、rustfmt、编码、文档索引、DDD 与 diff 检查通过 |
| 合入最新 master 后 | 后端源码及锁文件保持已测内容;再次通过 14 个路由契约测试、3 个 Provider 追踪测试及编码/文档/DDD/diff 检查 |
实际服务检查覆盖 health/ready、两账号登录、项目 CRUD、幂等重复、跨 owner 拒绝、revision 冲突、External/MCP 读取、Key 撤销及 404/405。使用既有 test 环境的本地 Router 拒绝 fixture,未调用真实付费 Provider;自建服务已关闭,原开发实例保留。
## 已知测试限制
API 全量测试尚未全绿:11 个 wallet_refund_outbox 用例在 Windows 的目录同步处失败。其生产文件与变更前内容一致;标准库隔离复现确认 File::open(目录) 返回 OS 5,而普通文件写入、同步及 hard_link 正常。这个已有的目录持久化问题未混入本次重构,也未通过跳过或弱化相关断言掩盖。
---------
Co-authored-by: kdletters <61648117+kdletters@users.noreply.github.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/425
2026-09-19 12:29:19 +08:00
k88936
e3d28c50af
修复陶泥儿精选点赞刷新状态 ( #156 )
...
Project CI / Repository checks (push) Successful in 1m12s
Project CI / Frontend tests (push) Successful in 3m25s
Project CI / Backend tests (push) Successful in 3m54s
Project CI / Native shell tests (push) Successful in 15m9s
原实现:
用户对某个精选素材点赞与否, 后端没有发送这部分数据
修复:
后端刷新精选素材列表(校验可选的auth信息, 不影响未登录状态的查看) , 根据这部分信息每个素材多查询一下用户是否点赞
---------
Co-authored-by: 段舒康 <kdletters@qq.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/156
Co-authored-by: 王德宇 <kvtodev@outlook.com >
Co-committed-by: 王德宇 <kvtodev@outlook.com >
2026-08-12 13:53:30 +08:00
k88936
3016b6a3af
合并主分支并保留画布图标与场景生成能力
...
解决编辑项目后端、SpacetimeDB 客户端与前端生成流程冲突
保留图标规范及图集链路并接入场景生成与统一目标预检
同步合并运行时、钱包、契约、文档与测试改动
2026-08-08 11:43:45 +08:00
suzmii
72f268e088
Feat/游戏场景需求v1.0 ( #139 )
...
Project CI / Repository checks (push) Has been cancelled
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
实现[游戏场景需求v1.0](https://kcnz41bksl1c.feishu.cn/wiki/JSF3wdhduinpqhkrVGKcZFp4nng?psg_id=8477599259997387860&refer_index=1&refer_type=citation )。
---------
Co-authored-by: 段舒康 <kdletters@qq.com >
Co-authored-by: suzmii <suzmii@foxmail.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/139
Co-authored-by: 董羽秦 <suzmii@qq.com >
Co-committed-by: 董羽秦 <suzmii@qq.com >
2026-08-08 10:25:42 +08:00
k88936
3fdbe81bfe
重构图标规范与图集生成链路
...
新增图标规范独立队列任务并将参数补全纳入统一计费操作
将图标图集生成和手工拆分迁入独立图标模块并复用公共生图能力
将图标规范引用收紧为项目资源或素材 ID
同步 SpacetimeDB 引用解析契约、External OpenAPI、前端与 Agent 提交链路
补充相关回归测试和长期架构约定
2026-08-06 15:43:10 +08:00
k88936
c932f5e8fb
合并主线并保留图标规范生成逻辑
...
同步游戏创作运行时、资源依赖画布与像素编辑链路更新
保留图标规范参考图解析与提示词结构调整
补齐合并后的前后端合同、文档与测试
2026-08-06 11:02:15 +08:00
lhk229
8f19964e3f
加入手动完美像素入口;像素艺术勾选时自动补提示词约束 ( #124 )
...
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Backend tests (push) Successful in 3m52s
Project CI / Native shell tests (push) Successful in 13m8s
Project CI / Frontend tests (push) Successful in 2m43s
Co-authored-by: 段舒康 <kdletters@qq.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/124
Reviewed-by: 段舒康 <kdletters@qq.com >
Co-authored-by: Linghong <ink29535@proton.me >
Co-committed-by: Linghong <ink29535@proton.me >
2026-08-05 21:28:40 +08:00
k88936
cc86d29b83
新增基于 LLM 的图标规格优化与生成接口
...
新增 refine_game_play 与 refine_art_style 提示词优化接口
实现图标规范游戏类型解析与提示词构建契约
集成 API 路由并补充校验与 LLM 行为测试
2026-08-04 19:06:24 +08:00
kdletters
b7c36074b9
热修图片画布布局上限至2MiB
...
将 API 与 SpacetimeDB 的画布布局校验上限统一提高到 2 MiB
为站内与外部画布保存接口增加 4 MiB 请求体上限
补充 2 MiB 边界通过和超限拒绝测试
2026-07-19 17:58:00 +08:00
k88936
f5368c825f
Editor agent refactored ( #76 )
...
重构了editor agent.
使得它能进行多轮工具调用, 把工具调用的结果嵌入到上下文里。
对于上下文的图片, 使用哈希后的id用来引用,不暴露细节信息to llm。
当前实现, 状态直接维护在json doc里, 需要对整个doc加锁,任务目前只能串行。
把SSE改成一个简单请求( 因为生图工具耗时需要二次确认, 不需要再实时展示给用户进度)。
增加确认/取消生图操作。
把tool的参数和错误情况做了反馈。
TODO: 工具调用的规范/prompt还可以改进。
改用external job来做素材生成, 针对来自editor agent 的生成会把生成资产的引用加入到结果json里,
客户端轮询 external job 确定生成状态, 发现结束了或者失败了就 重新get 会话,后端重新提供会话的时候把 结果插入回会话历史里,用来让 ai 引用 以及显示
---------
Co-authored-by: 段舒康 <kdletters@qq.com >
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/76
Reviewed-by: 段舒康 <kdletters@qq.com >
Co-authored-by: 王德宇 <kvtodev@outlook.com >
Co-committed-by: 王德宇 <kvtodev@outlook.com >
2026-07-17 21:03:15 +08:00
kdletters
18af49c27f
收紧编辑器媒体引用契约
...
禁止当前画布与外部编辑器接口接收 Data URL 和 Blob URL
生成请求统一先上传 OSS 并使用稳定资源引用
角色动画和视频签名前校验资源归属并支持资源与素材 ID
同步前后端 256KB 引用限制及相关文档测试
2026-07-17 16:44:01 +08:00
kdletters
eae00292a1
新增画板图集自动拆分
...
生成图标图集后自动拆分并持久化独立素材
新增图集工具栏手动拆分入口与权威画布回填
修复连通域切片阅读顺序并补齐前后端测试
同步外部接口与编辑器设计文档
2026-07-13 19:10:30 +08:00
kdletters
a4a7aed024
合并画布 Agent 侧边栏聊天
...
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
# server-rs/crates/spacetime-client/src/module_bindings.rs
2026-07-04 18:39:40 +08:00
kdletters
636934de88
补齐陶泥儿精选审核链路
...
新增 editor_showcase_asset、点赞和活动配置表,生成素材默认不公开。
补齐素材提交精选审核、后台审核通过返还泥点、展示开关和公开精选分页接口。
更新素材库右键菜单和创作主页精选瀑布流,展示作者昵称、陶泥号、成本和点赞状态。
新增后台素材查询页,支持时间、用户、分类、关键词查询和缩略图详情查看。
同步 SpacetimeDB 绑定、前后端契约、项目文档和决策记录。
2026-07-04 15:47:14 +08:00
kdletters
8dad52f040
实现画布Agent侧边栏聊天
...
新增画布Agent会话契约、领域规则、SpacetimeDB元数据表和生成绑定。
新增api-server画布Agent会话CRUD、OSS消息文档读写、SSE消息流和生成工具编排。
新增前端右侧Agent对话面板、会话状态hook、SSE客户端、BFF客户端和相关测试。
调整画布侧栏、任务栏、小地图默认状态和面板互斥交互。
补齐画布Agent、OSS消息存储、SSE收口、后端契约和项目记忆文档。
2026-07-04 12:03:58 +08:00
kdletters
08f188e26e
切换图片画布抠图到 BiRefNet
...
新增图片画布去背景 BFF 配置与路由,服务端代理 BiRefNet 并持久化结果。
将手动去背景、角色图、图标 spritesheet、UI 素材提取和角色动作帧抠图切到 BiRefNet。
新增画布右上角任务侧栏并展示去背景任务耗时与状态。
同步图片画布技术文档和项目决策记录。
(cherry picked from commit 495fcc8801 )
2026-06-30 17:12:13 +08:00
kdletters
8ee57210a4
修复编辑器参考图与后台日期问题
...
后台 Dashboard 默认日期按北京时间计算
图片快编请求补齐额外参考图、模型和尺寸参数
后端校验参考图 objectKey 归属并放宽编辑请求体限制
同步资产契约、测试和相关文档
2026-06-28 01:09:40 +08:00
wuxiangwanzi
32fc4089cb
补充是否公开资源的逻辑,修改精选列表展示逻辑
...
新增画布项目资源公开展示开关和公开精选资源接口。
左侧素材右键菜单支持公开展示勾选与删除操作。
陶泥儿精选改为读取全站公开生成资源并过滤同源同媒体副本。
拖拽生成素材入画布时保留源资源关系并复用同源资源。
同步 SpacetimeDB 迁移、绑定、前端测试和相关文档。
2026-06-24 17:25:19 +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
JenkenB
160c96a014
合并画板素材生成与宣发入口改动
...
新增 UI 设计图提取素材入口并复用 gpt-image-2 spritesheet 拆分流程。
保留图标生成与 UI 提取的 spritesheet 原图并同步放置拆分素材到画布。
补齐宣发素材演示入口、占位图样式、引用上传与生成提交链路。
调整编辑器生成接口 body 限制和 VectorEngine 请求兼容逻辑。
更新画板音乐生成、项目基线、宣发素材与图片画布相关文档。
2026-06-19 10:37:22 +08:00
JenkenB
097170836d
Add UI-design asset extraction & spritesheet support
...
Introduce a new UI design asset extraction flow: add POST /api/editor/ui-designs/assets/extractions handler that always uses gpt-image-2 with the fixed prompt "提取画面中的所有独立并整理成spritesheet"; parse Data URL references, call OpenAI image edits, return a spritesheet and sliced icon assets. Increase request body limit for image Data URLs and wire the route with bearer auth. Add platform-image slicing: slice_generated_icon_spritesheet_all_by_connected_components (with auto-naming "素材 1..N", foreground estimation and heuristics) and export it. Add Rust tests for the handler, prompt constant, and slicing behavior. Update frontend client and integration tests to call the new extractEditorUiDesignAssets API and verify spritesheet + icon layers are added to the canvas and persisted. Update multiple docs to describe the extraction UI, toolbar placement, and related audio/playback pitfalls. Minor related updates: toolbar button ordering and audio duration / signed read-url notes.
2026-06-19 10:09:19 +08:00
JenkenB
9c7b3ad16d
Image editor: Seedance2.0 refs and audio changes
...
Adds Seedance 2.0 reference-media constraints and forbids video data URLs; updates docs/decision-log and pitfalls to record the new rules. Introduces typed audio params (type: one-shot|loop, tempo: number|null), generator-specific placeholder styles/avoidance and UI changes for generation panels. Implements related front-end changes (new crop/ raster edit components, many image-editor models, tests and workflow hooks) and server-side contract/handler updates across api-server, shared-contracts, platform-audio, platform-image and vector_engine_audio_generation to support the new submission/asset flow and validations.
2026-06-18 17:31:35 +08:00
Codex
638dc9f6f6
收口图片编辑器宣发素材生成
...
调整详情五图工作流为单张竖版详情图生成
修正宣发素材明确像素尺寸透传和运营海报尺寸映射
压缩宣发参考图提交并提高后端请求体限制
补充前后端回归测试、文档和 Hermes 踩坑记录
2026-06-18 15:49:20 +08:00
JenkenB
7eeff10c67
新增编辑器生成规范、生成角色形象、生成图标素材等功能
...
新增编辑器生成规范、生成角色形象、生成图标素材等功能
2026-06-16 14:47:13 +08:00
kdletters
a6025365f7
完善图片画布素材库持久化
...
新增账号级素材文件夹和素材表,并接入 SpacetimeDB procedure、spacetime-client facade 与 api-server BFF。
编辑器素材栏支持文件夹新建、折叠、重命名、删除、多文件上传、拖拽定向上传、框选和批量删除。
画布支持拖拽上传落点创建图层、图层打组、小地图拖拽、普通滚轮纵向滚动和 Ctrl 滚轮缩放。
更新图片画布技术方案、后端数据契约、TRACKING 和团队决策记录。
2026-06-14 14:29:13 +08:00
kdletters
85834a423d
新增图片画布项目页
...
新增 /project 项目页和我的页项目入口
补齐图片画布工程列表、重命名和删除 API
支持 /editor/canvas 按 projectid 加载指定工程
更新图片画布文档、TRACKING 和对应测试
2026-06-14 00:11:36 +08:00
kdletters
747473024d
新增图片画布编辑器
...
新增 /editor 图片画布入口与 Lovart 风格画布交互
新增图片画布工程和资源持久化的 SpacetimeDB 表、绑定与 api-server BFF
接入图片生成和修改的 VectorEngine gpt-image-2 后端通道
完善素材库文件夹、重命名、上传删除、图层和元数据交互
补充图片画布技术方案、领域词、执行跟踪和浏览器 smoke 截图
2026-06-13 16:22:18 +08:00