mirror of
https://github.com/Hommy-master/capcut-mate.git
synced 2026-10-30 18:44:19 +08:00
config/sticker.json 从 58MB / 135 万行降到 22MB / 7.9 万行,79,368 条条目数 与顺序均不变。删掉的字段及依据: - preview_cover:全部 79,368 条均为空串,零信息。 - sticker_package(含 height_per_frame/size/width_per_frame)与 sticker_type: 无任何代码读取。add_sticker 完全不读本配置,它只用调用方传入的 sticker_id, 草稿素材是极简的(id/resource_id/sticker_id/source_platform/type)。 - track_thumbnail:与 large_image 是同一素材的 120×120 与 1920×1920 两种尺寸, 但签名不同、无法互相推导,本次一并去掉。 保留的三个字段构成检索到使用的完整链路:title 是唯一的搜索键,sticker_id 是 add_sticker 唯一需要的入参,image_url 供调用方展示预览。 顺带把序列化格式改为一条一行(原为 indent=2,每条 4 行),与 config/text_template.json 的大清单一风格一致,便于 diff。 这是对外契约变更:响应由嵌套(sticker.large_image.image_url)改为扁平 (image_url),故同步更新 schemas/search_sticker.py(StickerItem 拉平, StickerInfo/StickerPackage/LargeImage 三个类删除)、双语文档(含旧版本字段 说明与调用方调整提示)与 openapi.yaml(8 个响应示例 + 响应结构定义)。 service/search_sticker.py 删掉一行死 import:它导入了上述四个类,实际一个都 没用到,删类后会直接 ImportError。 tools/query_sticker.py 新增 flatten_sticker():上游返回的仍是嵌套结构,不转换 的话工具产出的文件与新配置格式对不上;对已是扁平的输入幂等,缺 title/sticker_id 的条目跳过并计数。 无损验证:79,368 条逐条比对 title/sticker_id/image_url 全部一致,条目顺序一致; openapi.yaml 的 8 个示例同样逐条比对一致。测试 56 项通过(3 个贴纸 + 53 个字幕/ 模板/气泡),端到端 SearchStickerResponse 校验通过。 已知事项:image_url 是带签名的临时 URL,有效期至 2026-12-15,到期后预览图失效 (title/sticker_id 不受影响,add_sticker 不依赖该字段),届时需重新抓取。 Co-Authored-By: Claude Code <noreply@anthropic.com>