mcpField
B
build-photo-editor

build-photo-editor

github.com/banuba开发069 次安装12 周前更新
代码仓库

关于 build-photo-editor

此 skill 可为 Android、iOS、Flutter 和 React Native 生成 Banuba Photo Editor SDK 应用实现,面向集成该 SDK 的开发者。它依据官方文档和平台示例指导项目搭建与代码生成;需要 Banuba 商业许可令牌。

主要功能

  1. 01识别四种目标平台
  2. 02获取权威 SDK 文档
  3. 03基于集成示例搭建项目
  4. 04安装平台依赖
  5. 05生成完整项目文件

适用场景

  1. 01启动 Banuba 照片编辑应用
  2. 02为项目添加编辑器功能
  3. 03升级 SDK 版本
  4. 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,请让用户将此文件内容或相关部分粘贴到对话中。

说明

每次收到请求时,都按以下顺序执行这些步骤:

  1. 检测平台
  2. 获取并搜索文档
  3. 根据集成示例搭建项目框架
  4. 安装依赖项
  5. 生成代码

写入新文件之前,使用 Glob/Grep 检查工作区,确认是否已有生成的文件;使用 Read 检查这些文件。

1. 检测平台

检查用户的项目文件:

信号平台
build.gradle、AndroidManifest.xml、.kt/.javaAndroid
Podfile、.xcodeproj、.swiftiOS
pubspec.yamlFlutter
包含 react-native 依赖项的 package.jsonReact 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. 根据集成示例搭建项目框架(仅限新项目)
平台仓库
Androidhttps://github.com/Banuba/ve-sdk-android-integration-sample
iOShttps://github.com/Banuba/ve-sdk-ios-integration-sample
Flutterhttps://github.com/Banuba/ve-sdk-flutter-integration-sample
React Nativehttps://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 或效果包)。

前提条件

平台要求
AndroidminSdk 21+、Camera2 API、OpenGL ES 3.0+、arm64-v8a 或 armv7
iOSiOS 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(文件引用 + 源代码构建阶段)。使用 xcodeproj Ruby gem 注册它们(gem install xcodeproj)——切勿告诉用户手动将文件拖入 Project Navigator。
  • 重复文件:重新创建可能已存在的文件之前,先按基本文件名搜索工作区(Glob '**/[filename]')。同一目标中的两个同名文件会导致类似 Invalid redeclaration of 'VideoEditorModule' 的错误。
  • iOS 资源文件夹:bundleEffects/ 等文件夹或 AR 效果包必须作为文件夹引用(而不是组)添加到 .pbxproj,并且注册到 Copy Bundle Resources 中——否则 Xcode 不会复制它们,效果会在运行时因“effect not found”而失败。使用 xcodeproj gem 的 group.new_reference + target.add_resources。

文档中没有答案时

不要猜测或捏造 API 调用。请执行以下操作之一:

  1. 引用获取到的文档中最相关的章节,或
  2. 指引用户访问: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。”该技能会检测平台、克隆匹配的集成示例、安装依赖项并配置许可证令牌。

添加功能。 用户说:“给我的照片编辑器添加新功能。”该技能会找到克隆的项目,查阅获取到的相关指南,并通过可运行的代码和编号步骤实现该功能。

资源

评论

支持 Markdown