Volver a AI Mochi

Cómo está hecha AI Mochi

AI Mochi es un compañero kawaii que vive en el iPhone, en la pantalla de inicio y en el Apple Watch. Reacciona a la música, al ruido, al tiempo, al movimiento, a la batería y a la hora del día, recuerda tus rachas, crece por etapas de vida y te contesta cuando le hablas gracias a Apple Intelligence.

Versión
2.7
Requiere iOS
iOS 17.0
Tamaño
8.6 MB
Categoría
Entretenimiento
Primer lanzamiento
2026

Arquitectura

Código modular en Swift 6: siete Swift packages locales contienen toda la lógica y el render, y unos targets finos para iPhone, la extensión de widgets y watchOS los componen. Sin dependencias de terceros, solo SDKs de Apple.

  1. MochiCore

    Lógica pura sin imports de UI: máquina de estados, AnimationScheduler y PersonalityEngine como actors, previsión de ánimo, etapas de vida y un orquestador MochiEngine @Observable.

  2. MochiRenderer

    Caras vectoriales dibujadas con SwiftUI Canvas. Cada compañero tiene su renderer detrás del protocolo CompanionRendering; los expression mappers convierten frames de animación en parámetros animables de la cara.

  3. MochiListen y MochiVoice

    Extracción de características del micrófono, transcripción con Speech, sentimiento con NaturalLanguage, respuestas con Foundation Models según disponibilidad y voces con AVSpeechSynthesizer.

  4. MochiMotion y MochiAudio

    Wrappers de CoreMotion con detectores de agitado e inclinación en lógica pura, y un motor de sonido sintetizado con un banco de osciladores en lugar de archivos de audio.

  5. MochiStore

    Catálogo de StoreKit 2, control de derechos de compra y un motor simulado para previews y tests.

Stack

Lenguajes

39.068líneas de código · 256 archivos fuente
Swift 99.9%

Build

UI
SwiftUI-first (with UIKit interop)
Swift
5.9
Versión mínima
iOS 17.0 · watchOS 10.6
Tests
838 casos de test

Frameworks de Apple

Machine learning

FoundationModelsNaturalLanguageSpeech

Interfaz

SwiftUIUIKit

Integración con el sistema

WidgetKitActivityKitAppIntentsUserNotificationsBackgroundTasksWatchConnectivity

Estado y concurrencia

CombineObservation

Datos

SwiftData

Multimedia

AVFoundationAudioToolbox

Dispositivo y sensores

CoreLocationCoreMotion

Compras

StoreKit

Gráficos

CoreGraphics

Swift packages locales

MochiAudioMochiCoreMochiListenMochiMotionMochiRendererMochiStoreMochiVoice

Targets

App
Mochi
App
MochiWatch
App extension
MochiWidgetExtension
App
MochiDemo

Dependencias

Sin dependencias de terceros: solo SDKs de Apple.

Patrones

Observation (@Observable)ObservableObject / Combine bindingsSwift Concurrency (async/await)Actors@MainActor isolationSwiftData modelsCoordinatorsNavigationStack#Preview macrosSwift TestingXCTestString CatalogsOn-device LLM (LanguageModelSession)Canvas / TimelineView renderingCodable modelsGCD

Capacidades

App GroupsWeatherKit

Herramientas

Swift Package ManagerAI-assisted development (agent docs)

Stack detectado automáticamente del repositorio el 27 oct 2026.

Retos técnicos

Cientos de tests unitarios

La lógica vive en packages detrás de protocolos (movimiento simulado, tienda simulada, schedulers deterministas), así el motor se prueba sin dispositivo.

Animación y sonido procedurales

Las caras son vectoriales y paramétricas y los sonidos se sintetizan: el personaje se distribuye casi sin bitmaps ni audios.

Formato de animación compatible con la comunidad

Las animaciones son JSON compatibles con proyectos maker de ESP32 open source, así que los packs se importan casi sin conversión.

Un código, tres superficies

La app de watchOS reutiliza MochiCore y MochiRenderer y se sincroniza con WatchConnectivity en vez de ejecutar su propio motor.

Descárgala en la App StoreVolver a AI Mochi