Offline-first iOS chat app powered by local GGUF models via llama.cpp.
AiryWay focuses on on-device inference: load a local model, chat with it, and manage models directly from the app UI.
- Native iOS app in SwiftUI.
- Local model management (
.ggufimport/download/select/delete). - On-device inference through embedded
llama.xcframework. - Chat UI with saved conversations and streaming output.
- Attachment entry points in chat UI (file/image/audio) with capability-aware controls.
- Light/Dark/System appearance support.
AiryWayApp/AiryWayApp– iOS app source.AiryWayApp/AiryWayApp/Core– engine and orchestration.AiryWayApp/AiryWayApp/Features– Chat, Models/Settings, Browser/Reader screens.AiryWayApp/AiryWayApp/Vendor/llama– bundledllama.xcframework.
- Open
AiryWayApp/AiryWayApp.xcodeprojin Xcode. - Select scheme
LocalWebPilot. - Build and run on simulator or iPhone.
Example command:
xcodebuild -project AiryWayApp/AiryWayApp.xcodeproj \
-scheme LocalWebPilot \
-configuration Release \
-sdk iphoneos \
-destination 'generic/platform=iOS' \
CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" \
buildThen package Payload/AiryWay.app into .ipa.
Unsigned IPA output used for releases:
build_unsigned_ipa/AiryWay-v0.0.3-unsigned.ipabuild_unsigned_ipa/AiryWay-unsigned.ipa(legacy name)
After generating the unsigned IPA:
export GITHUB_TOKEN="YOUR_TOKEN"
./scripts/release_0_0_3_with_unsigned_ipa.shLo script sincronizza main, aggiorna tag/release 0.0.3 e carica l’asset IPA unsigned.
Script base riutilizzabile (tag personalizzato):
export GITHUB_TOKEN="YOUR_TOKEN"
TAG=0.0.3 ./scripts/release_with_unsigned_ipa.shPatch notes are tracked in CHANGELOG.md.
MIT. See LICENSE.
Documentazione tecnica originale: README_IT