SuperAPI AI 工具集

flow-generator

编程与开发

查看项目

更新于 10-15 12:56

技能介绍

用途

flow-generator 用于修改 Adapty flow 的构建器配置 JSON。它的默认路径是读取一份已存在的 flow builder config,对其进行转换、检查结果,再写回。这样做的理由是:凡是产出的内容都基于一份已经能正常工作的文档,比从零编写更安全。从零编写新 flow 也在范围内,但技能明确指出只有两件事无法被合成:一是没有可读文件的图片(只有粘贴或附在对话里的图片不算“拥有”,需要用户给出路径;SVG 上传会失败,单色字形改为在 _meta.icons 内联编写,无法用元素表达的图形则绘制并栅格化);二是真实商店价格,它来自商店而非 Adapty,products create 没有价格标志。

主要能力

  • 读取、转换、校验并写回 Adapty flow 的 builder config。
  • 处理 flowProductId:_meta.screens[].products[] 是派生而非等待的,flowkit.predeclare(screen_id, products) 会写入该块;省略声明会导致设备预览返回 422。重写 flow 时应沿用现有 _meta.screens,而不是重新生成。
  • 覆盖条件(when/ref/all_/not_empty)、全部十四种动作类型、八种输入以及 tabs 复合组件。
  • 提供一组可执行脚本:flowkit.py(编写)、icons.py(字形查找)、localization.py(本地化目录)、verify-config.py、validate-with-schema.mjs、diff-config.py、montage.py、render-measure.py、preview-with-playwright.mjs、mobile-preview.mjs。
  • 提供参考文档:flow-schema.md、validate.md、preview.md、fidelity.md、media.md、products.md、merge.md、transforms.md、patterns.md、placements.md,以及 adapty-docs、paywall-teardown、onboarding-teardown、adapty-integration 等技能。

使用方式

通过 Adapty CLI 操作,命令包括:auth login、auth whoami、apps list、flows list/create/get、flows config get/validate/preview/update、flows media upload、flows update、flows publish。技能强调先解析一次 $ADAPTY 并在所有命令中复用;全局 adapty 常常过旧(实测 0.3.0 没有 flows 主题),需要 npm i -g adapty@latest,或在全局前缀不可写时回退到 npx --yes adapty@latest。在 zsh 中多词的 $ADAPTY 不会被拆分,需要先执行 setopt shwordsplit,或完整调用 npx --yes adapty@latest。

媒体上传方面:flows media upload 在生产环境可用,接收本地图片文件并打印可绑定的 CDN URL;SVG 返回 http_500,上限约 2.5 MB(裸 http_400 表示过大)。建议用 --json 重定向到文件并保留,因为人类可读输出省略 preview_base64,而配置会把它绑定为 previewValue。

发布方面:flows publish 并非每个构建都有,应通过 flows publish --help 判断而非版本号。发布是异步的,响应只会显示 status: publishing,不会显示 published;确认提示走 stderr,--json 或非 TTY 且无 --yes 会以退出码 2 拒绝;被拒绝的提示以退出码 1 结束;没有配置的 flow 以退出码 1 报 Flow has no current version。发布成功后应轮询 flows get 直到状态为 published 或 publication_failed;失败时用 flows config get 查看 publication_status、transform_error 和 publication_error。

适用场景

适用于需要修改 Adapty flow 配置的场景,例如添加语言、翻译付费墙或引导页、重写文案等。也适用于从零编写新 flow,以及处理条件、动作、输入、tabs 等复合结构。

限制

  • 没有可读文件的图片和真实商店价格无法合成。
  • SVG、字体、视频以及超过约 2.5 MB 的文件只能通过构建器上传。
  • 没有 flows delete,删除是仪表盘操作。
  • flows publish 和 flows update --name 在某些 API 部署上会返回 http_404 或 Method "PUT" not allowed,这不是命令写错,也不是换账号能解决的。
  • 不得编造 CLI 没有的命令名或标志;config validate 只接受 --app、--config/--config-file 和 --json。
  • 关于收费、价格、平台、效果等未在资料中明确的信息,暂未提供。