Swift-Package mit lokalen LLM-Backends (FoundationModels + Gemma 4 via MLX) für alle nativen mana-e.V.-Apps. App-Group-Shared HuggingFace-Cache.
Stores leben jetzt im Package mit App-übergreifenden Keys (mana.llm.backend, mana.llm.allowCellular). Auto-Migration aus memoro.* Legacy-Keys beim ersten Read (memoro.llmBackend, memoro.onDeviceLLMEnabled Bool-Toggle, memoro.llmDownloadOverCellular). Ermöglicht ManaLLMUI in mana-swift-ui 0.8.0 als geteilte Settings- Schicht für alle 4 Konsumenten (Memoro, Pageta, Comicello, Herbatrium). Außerdem: - LLMBackend.removeCachedModel() als Protocol-Methode mit Default- No-Op. GemmaBackend überschreibt (async throws statt throws). - 13 neue Tests in LLMPreferenceStoresTests (.serialized wegen UserDefaults.standard). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| Sources | ||
| Tests/ManaLLMTests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Package.swift | ||
| README.md | ||
mana-swift-llm
Swift-Package mit lokalen LLM-Backends für alle nativen mana e.V. iOS-/macOS-Apps.
Zwei Library-Products:
-
ManaLLM— Backend-Abstraktion + High-Level-Facade. Backends: Apple Foundation Models, Gemma 4 E2B/E4B (via MLX-Swift), NoOp-Fallback. Router wählt nach Capability automatisch. -
ManaLLMShared— App-Group-Container-Helper für gemeinsamen HuggingFace-Cache. Apps mit demgroup.ev.mana.models- Entitlement teilen heruntergeladene Modelle — eine App lädt, alle anderen lesen.
Schnell-Start
import ManaLLM
@main
struct MeineApp: App {
init() {
// HF_HUB_CACHE auf den shared Container setzen.
ManaLLM.configure()
}
var body: some Scene {
// ...
}
}
// Irgendwo später:
let summary = await ManaLLM.summarize(longText)
let story = await ManaLLM.generate(
prompt: "Schreib eine kurze Reise-Story über Konstanz.",
level: .creative
)
let tags = await ManaLLM.classify(text, into: ["#sport", "#kultur"])
Plattform-Doku
../mana/docs/MANA_LLM.md— Architektur + Use-Case-Map../mana/docs/MANA_SWIFT.md— Native-Plattform-SOTCLAUDE.md— Repo-lokale Konventionen