name: eaimar description: "Eaimar - AI Voice Assistant." publish_to: "none" version: 1.0.2+21 environment: sdk: ">=3.3.0 <4.0.0" # 只支持 Android 和 iOS 平台 platforms: android: ios: dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter cupertino_icons: ^1.0.6 get: ^4.7.2 in_app_purchase: ^3.3.0 json_annotation: ^4.9.0 get_storage: ^2.1.1 http: ^1.3.0 flutter_screenutil: ^5.9.0 flutter_staggered_grid_view: ^0.7.0 path_provider: ^2.1.5 audio_session: ^0.1.18 flutter_markdown: ^0.7.7+1 fleather: 1.26.0 parchment: ^1.25.1 htmltopdfwidgets: ^1.1.0 wifi_iot: ^0.3.19+2 flutter_intro: ^3.4.0 permission_handler: ^12.0.1 web_socket_channel: ^2.4.0 flutter_dotenv: ^5.1.0 intl: ^0.20.2 lunar: ^1.7.2 # 农历/节日(首页日历面板) crypto: ^3.0.3 logger: ^2.0.2+1 flutter_blue_plus: ^1.35.5 just_audio: ^0.9.36 webview_flutter: ^4.13.0 flutter_easyloading: ^3.0.5 package_info_plus: ^8.3.0 file_picker: ^10.2.0 haptic_feedback: ^0.5.1+1 photo_view: ^0.15.0 window_size: git: url: https://github.com/google/flutter-desktop-embedding.git path: plugins/window_size ref: 6c66ad23ee79749f30a8eece542cf54eaf157ed8 flutter_local_notifications: ^18.0.1 # zonedSchedule 排定时提醒必需:flutter_local_notifications 只接受 tz.TZDateTime, # 没有这两个依赖,拾忆的「提前 N 分钟提醒」一行都写不了。 # timezone 提供时区数据库,flutter_timezone 用来问系统「本机在哪个时区」。 timezone: ^0.9.4 flutter_timezone: ^3.0.1 device_info_plus: ^11.5.0 uuid: ^4.3.3 record: ^6.0.0 share_plus: ^12.0.1 image_picker: ^1.1.2 audio_waveforms: ^1.3.0 font_awesome_flutter: ^10.8.0 lottie: ^3.3.1 app_settings: 5.2.0 fluwx: ^5.7.1 # 蓝讯方案设备(AI手机支架 / AI Pencil)蓝牙连接 + Opus 录音流。 # 源自 echomeet 项目 local_plugins/recorder_holder,原样拉取未改协议实现。 echomeet_device_sdk: path: local_plugins/recorder_holder/sdk # 插件本体。⚠️ 必须显式声明:`lib/devices/holder/holder_ota_port.dart` 直接 # import 了它的 OTA 实现(`recorder_holder_ota.dart`),只靠 sdk 的传递依赖 # 拿到是不作数的 —— 上游哪天不再依赖它,这边就编不过了。 recorder_holder: path: local_plugins/recorder_holder tobias: ^5.2.0 # 支付宝SDK url_launcher: ^6.3.1 in_app_purchase_android: ^0.5.0 # Play Billing 8.0(Google Play 2026-08-31 起的最低要求) app_links: # 2026-09-24 钉死:pub 重解析后 firebase_auth 6.7.0 拉进的 firebase-auth 24.2.0 原生库要求 Kotlin 2.3, # 工程仍是 2.1.10,Android 编不过("Module was compiled with an incompatible version of Kotlin")。 # 要升 firebase 先把 android/settings.gradle.kts 的 kotlin 版本一起抬上去。 firebase_core: 4.13.0 firebase_auth: 6.5.7 google_sign_in: ^6.2.2 sign_in_with_apple: ^7.0.1 flutter_image_compress: ^2.4.0 common_utils: ^2.1.0 image_gallery_saver_plus: ^4.0.1 dio: ^5.8.0+1 sqflite: ^2.4.2 path: ^1.9.1 connectivity_plus: ^6.1.5 # 网络连接检测依赖 wakelock_plus: ^1.2.8 # 固件升级期间保持屏幕常亮 speech: path: local_plugins/speech azure_speech: path: local_plugins/azure_speech chat_storage: path: local_plugins/chat_storage # ⚠️ 下面两个 Dart 侧已无引用,但**原生侧仍被别的插件依赖**,不能删: # - device_jieli:recorder_holder 的 iOS Package.swift 引用它 vendor 的 JLAudioUnitKit(支架 Opus 解码) # - classic_bluetooth:azure_speech 的 iOS Package.swift 引用它 # 要真正摘掉得先把那几个 xcframework 搬进使用方,属于原生改动,本轮不做。 device_jieli: path: local_plugins/device_jieli # Smartcar 车载香薰(杰理方案)的 BLE 链路:自持 GATT,在同一条连接上跑杰理 RCSP 认证 # (AE00)与 C2 私有通道(ABC0)。iOS 通过 device_jieli 暴露的 jl-blekit 产品复用同一份 # JL_BLEKit 动态库。Android 目前是桩。 device_smartcar: path: local_plugins/device_smartcar classic_bluetooth: path: local_plugins/classic_bluetooth bluetooth_manager: path: local_plugins/bluetooth_manager # 设备插件契约(纯 Dart):厂商插件 / 会话 / 能力 / 音频 / OTA device_plugin_interface: path: local_plugins/device_plugin_interface # 恒玄(BES)固件 OTA 升级:自包含 BES OTA SDK(Android Java / iOS ObjC)与原生桥接。 # ⚠️ 它自管到耳机的 SPP 连接,不复用 bluetooth_manager 的连接——多数固件同时 # 只接受一条 SPP 链路,升级前必须先 disconnectDevice() 让路,见 ota_upgrade_controller。 bes_ota_manager: path: local_plugins/bes_ota_manager # deepvoice 的通话/面对面/同声翻译 native 实现(ASR+翻译+TTS 端到端), # 直接吃 bluetooth_manager 的 translationCallback,恒玄耳机链路专用 # ⚠️ 暂时注释:它还依赖 deepvoice 的 audio_recorder 插件,没搬过来会导致 # Gradle 报 "Project with path ':audio_recorder' could not be found"。 # 等下一步整体接入时,连同 audio_recorder 一起搬并解决依赖后再打开。 # asr_tr_tts_manager: # path: local_plugins/asr_tr_tts_manager agent_service: path: local_plugins/agent_service music_service: path: local_plugins/music_service amap_service: path: local_plugins/amap_service location_service: path: local_plugins/location_service user_portrait: path: local_plugins/user_portrait floating_ui_plugin: path: local_plugins/floating_ui_plugin encrypt: ^5.0.3 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 build_runner: ^2.3.3 # 用于生成代码 flutter pub run build_runner build json_serializable: ^6.6.0 # 用于自动生成代码 flutter: uses-material-design: true assets: # - assets/images/headphone_light.png # - assets/images/headphone_dark.png - assets/images/mine-background.png - assets/images/app_icon.png - assets/fonts/NotoSansSC-Regular.ttf - assets/lottie/ - assets/js/ - assets/audio/silence_1s.wav # 设备品类实拍图(「添加设备 → 选择设备」页和设备页展示用) - assets/images/devices/ - .env - .mcp.json # 添加 tobias 配置 tobias: url_scheme: eaimar # 你的应用的 URL Scheme