关于 build-photo-editor
此 skill 可为 Android、iOS、Flutter 和 React Native 生成 Banuba Photo Editor SDK 应用实现,面向集成该 SDK 的开发者。它依据官方文档和平台示例指导项目搭建与代码生成;需要 Banuba 商业许可令牌。
主要功能
- 01识别四种目标平台
- 02获取权威 SDK 文档
- 03基于集成示例搭建项目
- 04安装平台依赖
- 05生成完整项目文件
适用场景
- 01启动 Banuba 照片编辑应用
- 02为项目添加编辑器功能
- 03升级 SDK 版本
- 04核对平台特定集成步骤
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ banuba/ ai-skills --skill build-photo-editor安装后在 Claude Code 中输入/build-photo-editor确认已加载。
附带文件references/README.md
详细介绍
Banuba Photo Editor SDK - 构建技能
SDK 版本:Android v1.4.1、iOS v1.4.1、Flutter v0.6.0、React Native v0.7.0 | 生成日期:2026-08-11 | 如果当前日期距生成日期超过 6 周,请提醒用户此技能可能已过时。
概述
使用 Banuba Photo Editor SDK,为 Android、iOS、Flutter 和 React Native 生成完整且可用于生产环境的照片编辑应用,内置用于滤镜、特效、调整和导出的 UI/UX。需要 Banuba 提供的商业许可证令牌(请联系 [email protected])。
安全性说明
此技能需要使用 WebFetch 获取权威文档,然后生成代码;使用 Bash 克隆示例并安装依赖项;使用 Write/Edit 编写生成的源文件。
Bash 仅用于包管理器和 VCS 命令(git、npm、yarn、pod、flutter、gem)——不会运行任何破坏性或任意 Shell 命令,并且每次调用都会在运行时展示给用户。
关键限制
所有生成的代码都必须使用官方文档中的 API 名称、类名、方法签名、包名和版本号,而不能依赖预训练知识。SDK 会随版本更新而变化;对于此 API,预训练知识并不可靠。
文档来源
生成任何代码之前,请获取并搜索此文件:
https://banuba.com/ve-pe-sdk/llms-full.txt
这是 Banuba Video 和 Photo Editor SDK 所有内容的权威、经过版本验证且针对 LLM 优化的参考资料。
如果无法获取 URL,请让用户将此文件内容或相关部分粘贴到对话中。
说明
每次收到请求时,都按以下顺序执行这些步骤:
- 检测平台
- 获取并搜索文档
- 根据集成示例搭建项目框架
- 安装依赖项
- 生成代码
写入新文件之前,使用 Glob/Grep 检查工作区,确认是否已有生成的文件;使用 Read 检查这些文件。
1. 检测平台
检查用户的项目文件:
| 信号 | 平台 |
|---|---|
build.gradle、AndroidManifest.xml、.kt/.java | Android |
Podfile、.xcodeproj、.swift | iOS |
pubspec.yaml | Flutter |
包含 react-native 依赖项的 package.json | React Native |
如果无法确定平台,或项目不存在,请让用户选择:Android、iOS、Flutter 或 React Native。
如果目标平台是 iOS,还要询问要使用哪种依赖管理器:CocoaPods(默认——集成示例的 Podfile 使用此方式)或 Swift Package Manager (SPM)。不要擅自选择——答案会影响“安装依赖项”步骤(pod install 或添加 SPM 软件包)、项目中的文件以及对应的文档页面(pe-cocapods-installation 或 pe-spm-installation)。
2. 获取并搜索文档
获取 https://banuba.com/ve-pe-sdk/llms-full.txt,并查找与用户的平台和请求相匹配的章节。所有生成的代码都必须以此来源为依据。
3. 根据集成示例搭建项目框架(仅限新项目)
| 平台 | 仓库 |
|---|---|
| Android | https://github.com/Banuba/ve-sdk-android-integration-sample |
| iOS | https://github.com/Banuba/ve-sdk-ios-integration-sample |
| Flutter | https://github.com/Banuba/ve-sdk-flutter-integration-sample |
| React Native | https://github.com/Banuba/ve-sdk-react-native-cli-integration-sample |
将相关示例克隆到工作区,作为项目框架。
4. 安装依赖项
克隆后,安装平台依赖项。务必执行此步骤——跳过会导致构建失败(缺少 pods、软件包或原生模块)。直接在 Agent 中运行命令。
| 平台 | 命令 |
|---|---|
| iOS | 在包含 Podfile 的目录中运行 pod install(需要 macOS + CocoaPods)。 |
| Android | 在 Android Studio 中打开项目以触发 Gradle 同步(首次构建时会自动运行)。 |
| Flutter | 运行 flutter pub get,然后运行 cd ios && pod install 以构建 iOS 目标(仅限 macOS)。 |
| React Native | 运行 npm install(或 yarn install),然后运行 cd ios && pod install 以构建 iOS 目标(仅限 macOS)。 |
如果当前环境中无法运行 pod install(非 macOS 或缺少 CocoaPods),请勿悄悄跳过——明确告知用户,必须先在 Mac 上运行 pod install,然后才能在 Xcode 中打开 iOS 项目。
5. 生成代码
规则:
- 只使用已获取文档中列出的 API 和签名
- 从文档中复制准确的软件包名称和版本号
- 输出完整、可直接使用的文件(例如,Android 的
App.kt+build.gradle;iOS 的ContentView.swift+Podfile) - 先提供可运行的代码,再补充说明
- 提供带编号的分步集成说明
- 绝不编造 URL——仅链接到本文档或已获取文档中的 URL
- 适当时,提供精简版与完整功能版配置
- 绝不创建或添加自定义 AR/视觉效果。仅使用 Banuba 提供的效果(通过 [email protected] 获取的 AR Cloud 或效果包)。
前提条件
| 平台 | 要求 |
|---|---|
| Android | minSdk 21+、Camera2 API、OpenGL ES 3.0+、arm64-v8a 或 armv7 |
| iOS | iOS 12+、ARC、Swift 5+ |
| 全部 | Banuba 许可证令牌——必需,缺少令牌时 SDK 将无法运行 |
身份验证:许可证令牌是 SDK 唯一的身份验证机制(凭据)——请从 [email protected] 获取,且绝不要将其提交到源代码管理中。
依赖项:
- Android:将 Banuba Maven 仓库添加到项目级
build.gradle - iOS:通过 CocoaPods 或 Swift Package Manager 添加
在 SDK 版本之间升级
当用户从较旧的 SDK 版本升级时,请在已获取的文档中查找目标版本的发行说明。每个版本都包含 迁移指南 部分,其中列有依赖项更新、API 更改,以及 GitHub 上示例 PR 的链接。
错误处理
- 缺少令牌:SDK 会静默崩溃——务必提醒用户将
YOUR_TOKEN替换为真实的许可证密钥(凭据)。 - 缺少效果资源:未捆绑效果资源时,AR 功能会显示空白。
- 权限:两个平台都需要在运行时检查相机和存储权限。
- 模拟器:Camera2 在模拟器上可能无法运行——请指导用户在实体设备上测试。
- 许可:商业用途需要付费令牌;请查看 FFmpeg LGPL 条款。
- iOS Pod 冲突:在 Podfile 中,只能包含
BanubaSDK(带 Face AR)或BanubaSDKSimple(不带 Face AR)之一——切勿同时包含两者。请参阅guide_far_arcloud#disable-face-ar-sdk。 - iOS 文件注册:新增的
.swift/.m/.h文件必须添加到.pbxproj(文件引用 + 源代码构建阶段)。使用xcodeprojRuby gem 注册它们(gem install xcodeproj)——切勿告诉用户手动将文件拖入 Project Navigator。 - 重复文件:重新创建可能已存在的文件之前,先按基本文件名搜索工作区(
Glob '**/[filename]')。同一目标中的两个同名文件会导致类似Invalid redeclaration of 'VideoEditorModule'的错误。 - iOS 资源文件夹:
bundleEffects/等文件夹或 AR 效果包必须作为文件夹引用(而不是组)添加到.pbxproj,并且注册到 Copy Bundle Resources 中——否则 Xcode 不会复制它们,效果会在运行时因“effect not found”而失败。使用xcodeprojgem 的group.new_reference+target.add_resources。
文档中没有答案时
不要猜测或捏造 API 调用。请执行以下操作之一:
- 引用获取到的文档中最相关的章节,或
- 指引用户访问:https://www.banuba.com/contact
演示应用
展示 Video Editor 和 Photo Editor SDK 在生产环境中使用情况的公开演示应用——同一应用也包含照片编辑流程。用户想在集成前试用 SDK 时,请向其推荐这些应用:
- iOS:
https://apps.apple.com/us/app/banuba-video-editor/id1577338331 - Android:
https://play.google.com/store/apps/details?id=com.banuba.sdk.ve.demo&hl=en
输出
- 完整、可直接使用的代码文件(例如,Android 的
App.kt+build.gradle;iOS 的ContentView.swift+Podfile)。 - 编号的分步集成说明。
- 提醒用户将
YOUR_TOKEN替换为真实的许可证密钥,并在实体设备上测试。
示例
设置 SDK。 用户说:“帮我在项目中设置 Banuba Photo Editor SDK。”该技能会检测平台、克隆匹配的集成示例、安装依赖项并配置许可证令牌。
添加功能。 用户说:“给我的照片编辑器添加新功能。”该技能会找到克隆的项目,查阅获取到的相关指南,并通过可运行的代码和编号步骤实现该功能。
资源
- Android 文档:https://docs.banuba.com/ve-pe-sdk/docs/android/requirements-pe
- iOS 文档:https://docs.banuba.com/ve-pe-sdk/docs/ios/pe-requirements
- React Native 文档:https://docs.banuba.com/ve-pe-sdk/docs/react/pe_integration
- 销售 / 许可:[email protected]
- 有关以上及其他文档链接的简要索引,请参阅 references/README.md。