Local-first AI workspace for macOS.
PLOS combines a native SwiftUI app and a local Python sidecar to run chat, retrieval, and memory workflows primarily on-device.
- Local-first chat and retrieval (RAG) over workspace files
- Policy-gated external web/provider usage
- Multi-layer memory (session/workspace/preferences/pinned)
- Hardware-aware local model catalog
- Conversational direct-first response policy
- Local inference backends:
MLXandllama.cpp(primary path) - External providers (optional):
OpenAI,Anthropic - Ollama: not integrated as a first-class runtime in current main branch
graph TD
A["SwiftUI macOS App"] --> B["Python Sidecar (FastAPI)"]
B --> C["Local Inference (MLX / llama.cpp)"]
B --> D["SQLite (settings, memory, metadata)"]
B --> E["LanceDB (vector index)"]
B --> F["Parsers (txt/md/pdf/ocr)"]
B --> G["External Providers (optional, policy-gated)"]
PLOS/: macOS app (SwiftUI)sidecar/local_ai_core/: reasoning, inference, memory, APIsidecar/tests/: sidecar testsPLOSTests/,PLOSUITests/: app tests
- Apple Silicon Mac recommended (M-series)
- macOS 14+
- Xcode 15+
- Python 3.11+
- Optional OCR tools:
tesseract,poppler
git clone https://github.com/adgk2349/PLOS-for-Mac.git
cd PLOS-for-Maccd sidecar
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
pip install -e '.[test]'brew install tesseract poppler- Open
PLOS.xcodeprojin Xcode - Run
PLOStarget - Sidecar lifecycle is managed by the app
- First-run check: if the chat view loads and answers a simple prompt, startup is healthy
cd sidecar
source .venv/bin/activate
export LOCAL_AI_SESSION_TOKEN=dev-token
export LOCAL_AI_DATA_DIR="$(pwd)/data"
uvicorn local_ai_core.main:create_app --factory --host 127.0.0.1 --port 8787dev-token is an example value for local development only.
- 16GB: 7B/8B class, limited 12B/14B attempts
- 64GB+: 20B/70B class
- 256GB+: GPT-OSS 120B class
- 500GB+: Kimi 2.5 / Qwen 3.5 397B class
cd sidecar
source .venv/bin/activate
pytest -qpytest -q tests/v2/chat/test_v2_pipeline.py tests/test_local_inference_sanitize.py tests/test_memory_service_digest.pyxcodebuild \
-project PLOS.xcodeproj \
-scheme PLOS \
-destination 'platform=macOS' \
testMIT. See LICENSE.