Skip to content

andlsac/Lumen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lumen  Lumen

Local-AI autocomplete + spell-correction for macOS — powered by MLX. Runs 100% on your Mac (Apple Silicon, Apple's MLX + Metal), lives in the menu bar, accept with Tab.

Sister project of Sombra (which uses llama.cpp). Lumen is MLX-only — an Apple-native engine, a clean macOS sidebar UI, and models chosen straight from the Hugging Face mlx-community catalog.


🔒 Privacy — it stays on your machine

  • Inference is 100% local (MLX + Metal). No cloud, no telemetry.
  • Lumen only touches the internet on your action: downloading an MLX model from Hugging Face. Everything else runs offline.
  • The code is open — audit it. You can block all connections with a firewall (e.g. LuLu) and autocomplete keeps working; you just won't be able to download new models.

Features

  • Word-by-word autocomplete — each Tab inserts the next word; a sticky multi-word suggestion lets you Tab through a whole phrase.
  • Instant word completion from an embedded dictionary (no GPU) while the model predicts the next phrase at word boundaries.
  • Spell correction of the last word (native macOS spell-checker) — the typo is shown struck through with the fix next to it; colors are configurable.
  • MLX model catalog — pick a recommended model (Qwen2.5 0.5B, Qwen3 1.7B/4B, Gemma 3 1B…) as a card, or paste any mlx-community/… id. Downloads on first use to ~/Library/Application Support/Lumen/models.
  • Per-model AI instructions — tell the AI your language, tone and role; saved per model, used as context for each suggestion.
  • Learn from your typing (optional, local) — favors the words you actually use.
  • Emoji shortcuts — type :name (:fire, :rocket, :festa…) with configurable gender and skin tone.
  • Per-app blocking — turn Lumen off in specific apps.
  • Configurable — suggestion length, temperature, context window, accept shortcuts (Tab + accept-whole), bubble color/opacity/position.
  • Clean native UI — macOS-style sidebar, light & dark, amber accent.
  • Bilingual UI (English / Portuguese) following your system language.

Requirements

  • macOS 14+ and Apple Silicon (M1–M4)
  • To build: Xcode + the Metal Toolchain component (xcodebuild -downloadComponent MetalToolchain)

Build & run

./scripts/bundle.sh release    # build & package Lumen.app (MLX compiled in)
open ./build/Lumen.app          # pick a model on first launch

Lumen ships without a model — pick one from the catalog in Preferences → Model and it downloads from Hugging Face on first use.

Grant Accessibility (System Settings → Privacy & Security → Accessibility → Lumen). That is the only permission required.

Note on MLX: the app embeds Apple's MLX engine. The Metal kernels are shipped as a prebuilt mlx.metallib (in Frameworks/, copied next to the binary by bundle.sh). Rebuilding it requires the Metal Toolchain.

Architecture (Sources/Lumen)

Component Role
MLXPredictor.swift inference over mlx-swiftpredict (generation) + rank (scores dictionary candidates by context)
SuggestionEngine.swift event loop: read → predict → show bubble → accept on Tab
MLXCatalog.swift curated mlx-community model list
AXReader / KeyTap / TextInjector accessibility read, Tab capture, text injection
GhostOverlay / IndicatorOverlay suggestion bubble + presence badge
SpellCorrector / WordDictionary / WritingProfile correction, instant completion, personalization
SettingsView.swift native sidebar Preferences

License

MIT © 2026 André Luís Alves Campos. Inference uses MLX and mlx-swift (MIT). Models have their own licenses and are downloaded by the user.

About

Local-AI autocomplete for macOS, powered by MLX (mlx-swift). MLX-only sibling of Sombra.

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors