runanywhere 0.19.13 copy "runanywhere: ^0.19.13" to clipboard
runanywhere: ^0.19.13 copied to clipboard

Privacy-first, on-device AI SDK for Flutter. Run LLMs, STT, TTS, and VAD directly on device with no data leaving the device.

RunAnywhere Flutter SDK #

pub package License

Privacy-first, on-device AI SDK for Flutter. Run LLMs, Speech-to-Text, Text-to-Speech, and Voice AI directly on user devices.

Installation #

Step 1: Add packages to pubspec.yaml:

dependencies:
  runanywhere: ^0.19.13
  runanywhere_onnx: ^0.19.13      # STT, TTS, VAD
  runanywhere_llamacpp: ^0.19.13  # LLM text generation

Step 2: Configure platforms (see below).


iOS Setup (Required) #

After adding the packages, you must update your iOS Podfile for the SDK to work.

1. Update ios/Podfile #

Make these two critical changes:

# Change 1: Set minimum iOS version to 15.1
platform :ios, '15.1'

# ... (keep existing flutter_root function and setup) ...

target 'Runner' do
  # Change 2: Add static linkage - THIS IS REQUIRED
  use_frameworks! :linkage => :static

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1'
      # Required for microphone permission (STT/Voice features)
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'PERMISSION_MICROPHONE=1',
      ]
    end
  end
end

Important: Without use_frameworks! :linkage => :static, you will see "symbol not found" errors at runtime.

2. Update ios/Runner/Info.plist #

Add microphone permission for STT/Voice features:

<key>NSMicrophoneUsageDescription</key>
<string>This app needs microphone access for speech recognition</string>

3. Run pod install #

cd ios && pod install

Android Setup #

Add microphone permission to android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Quick Start #

import 'package:runanywhere/runanywhere.dart';
import 'package:runanywhere_onnx/runanywhere_onnx.dart';
import 'package:runanywhere_llamacpp/runanywhere_llamacpp.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize SDK and register backends
  await RunAnywhere.initialize();
  await Onnx.register();
  await LlamaCpp.register();

  runApp(MyApp());
}

Text Generation (LLM) #

final stream = RunAnywhere.llm
    .generateStream('Tell me a joke', LLMGenerationOptions(maxTokens: 128));
await for (final event in stream) {
  if (event.isFinal) break;
  if (event.token.isNotEmpty) print(event.token);
}

Speech-to-Text #

final result = await RunAnywhere.stt.transcribe(audioData);
print(result.text);

Platform Support #

Platform Minimum Version
iOS 15.1+
Android API 24+

Documentation #

License #

RunAnywhere License (Apache 2.0 based). See LICENSE.

Commercial licensing: san@runanywhere.ai

4
likes
0
points
173
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Privacy-first, on-device AI SDK for Flutter. Run LLMs, STT, TTS, and VAD directly on device with no data leaving the device.

Homepage
Repository (GitHub)
View/report issues

Topics

#ai #machine-learning #on-device #llm #speech-recognition

License

unknown (license)

Dependencies

audioplayers, device_info_plus, ffi, fixnum, flutter, flutter_secure_storage, path_provider, protobuf, record, shared_preferences, uuid

More

Packages that depend on runanywhere

Packages that implement runanywhere