SPB Git

spb/zyquo-local Public MIT

Native macOS AI chat that runs LLMs 100% locally on Apple Silicon with MLX — no cloud, no API keys.

Swift 97.2% Shell 1.8% Makefile 1%

docs: legendary README, MIT license, screenshots and icon assets, macOS gitignore

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
simon-pierre boucher committed 11 days ago (Jul 30, 2026) parent eb610bf

Showing 7 changed files with +320 and −46

modified .gitignore +37 −2
@@ -1,5 +1,40 @@
1 +# Build
1 2 .build/
3 +build/
2 4 dist/
3 *.icns.tmp/
4 .DS_Store
5 +DerivedData/
6 +*.o
7 +*.dSYM
8 +
9 +# SwiftPM
5 10 Package.resolved
11 +.swiftpm/
12 +
13 +# Xcode user state (no .xcodeproj in this repo, kept for safety)
14 +*.xcuserstate
15 +xcuserdata/
16 +*.xccheckout
17 +*.moved-aside
18 +*.pbxuser
19 +!default.pbxuser
20 +*.mode1v3
21 +*.mode2v3
22 +*.perspectivev3
23 +
24 +# CocoaPods / Carthage (unused, kept for safety)
25 +Pods/
26 +Carthage/Build/
27 +
28 +# macOS
29 +.DS_Store
30 +.AppleDouble
31 +.LSOverride
32 +Icon?
33 +._*
34 +
35 +# Icon pipeline intermediates
36 +assets/icon/AppIcon.iconset/
37 +*.icns.tmp/
38 +
39 +# Secrets
40 +*.env
added LICENSE +21 −0
@@ -0,0 +1,21 @@
1 +MIT License
2 +
3 +Copyright (c) 2026 Simon-Pierre Boucher
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy
6 +of this software and associated documentation files (the "Software"), to deal
7 +in the Software without restriction, including without limitation the rights
8 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 +copies of the Software, and to permit persons to whom the Software is
10 +furnished to do so, subject to the following conditions:
11 +
12 +The above copyright notice and this permission notice shall be included in all
13 +copies or substantial portions of the Software.
14 +
15 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 +SOFTWARE.
modified README.md +262 −44
@@ -1,62 +1,280 @@
1 <!--
2 README.md
3 Zyquo Local
1 +<div align="center">
4 2
5 Author: Simon-Pierre Boucher
6 Mail: contact@spboucher.ai
7 -->
3 +<img src="assets/icon/app-icon.png" width="180" alt="Zyquo Local icon">
8 4
9 5 # Zyquo Local
10 6
11 **Zyquo Local** is a native macOS AI chat client that runs large language
12 models **100 % locally on Apple Silicon** with [MLX](https://github.com/ml-explore/mlx-swift).
13 No API keys, no network calls for inference, no data ever leaving the Mac.
14 It is the on-device sibling of Zyquo Cloud, sharing the same design DNA — an
15 emerald-graphite "on-device" identity.
7 +### Every token stays on your Mac. 🍏⚡
16 8
17 Browse Hugging Face **inside the app**, download MLX models with one click
18 (resumable, pausable), and chat with them: token streaming, multi-turn
19 context management, per-response stats (tok/s, time-to-first-token),
20 collapsible reasoning for `<think>` models, prompt library, personas,
21 Quick Chat (⌥Space), two-model Compare mode, Markdown/PDF export.
9 +**A legendary native macOS AI chat client that runs large language models 100 % locally on Apple Silicon with [MLX](https://github.com/ml-explore/mlx-swift) — no API keys, no cloud, no data ever leaving your machine.**
22 10
23 - Platform: **Apple Silicon only** (M1+), macOS 14+
24 - Bundle: `Zyquo Local.app` (`com.zyquo.local`), arm64
25 - Data: `~/Library/Application Support/ZyquoLocal/` (models in `Models/`)
11 +<br>
26 12
27 ## Building (no Xcode IDE)
13 +[![Release](https://img.shields.io/github/v/release/spboucher-ai/zyquo-local?style=for-the-badge&color=17C787&label=Release)](https://github.com/spboucher-ai/zyquo-local/releases/latest)
14 +[![Platform](https://img.shields.io/badge/macOS-14.0%2B-blue?style=for-the-badge&logo=apple)](https://github.com/spboucher-ai/zyquo-local/releases/latest)
15 +[![Chip](https://img.shields.io/badge/Apple%20Silicon-arm64-orange?style=for-the-badge&logo=apple)](https://support.apple.com/en-us/116943)
16 +[![Swift](https://img.shields.io/badge/Swift-6-F05138?style=for-the-badge&logo=swift&logoColor=white)](https://swift.org)
17 +[![MLX](https://img.shields.io/badge/Engine-MLX-000000?style=for-the-badge)](https://github.com/ml-explore/mlx-swift)
18 +<br>
19 +[![License](https://img.shields.io/github/license/spboucher-ai/zyquo-local?style=for-the-badge&color=4C2BE0)](LICENSE)
20 +[![Downloads](https://img.shields.io/github/downloads/spboucher-ai/zyquo-local/total?style=for-the-badge&color=2B6BFF&label=Downloads)](https://github.com/spboucher-ai/zyquo-local/releases)
21 +[![Signed & Notarized](https://img.shields.io/badge/Apple-Signed%20%26%20Notarized-success?style=for-the-badge&logo=apple)](https://github.com/spboucher-ai/zyquo-local/releases/latest)
28 22
29 The project is plain SwiftPM — no `.xcodeproj`, the Xcode IDE is never used.
30 Two prerequisites beyond Command Line Tools:
23 +<br>
31 24
32 1. **Apple Metal Toolchain** on `PATH` (MLX compiles GPU kernels at build
33 time). This machine keeps it at `~/Developer/Metal.xctoolchain`.
34 2. **SDK pin**: `SDKROOT``MacOSX26.5.sdk` (SwiftUI macro plugins are
35 Xcode-only in the 27.x CLT SDKs).
25 +**[⬇️ Download the latest DMG](https://github.com/spboucher-ai/zyquo-local/releases/latest/download/ZyquoLocal.dmg)** · Developer ID signed · Notarized by Apple · Stapled
36 26
37 The Makefile handles both:
27 +</div>
28 +
29 +---
30 +
31 +## 📑 Table of Contents
32 +
33 +- [Why Zyquo Local?](#-why-zyquo-local)
34 +- [Features](#-features)
35 + - [Private, local inference](#-private-local-inference)
36 + - [Browse & download models inside the app](#-browse--download-models-inside-the-app)
37 + - [A chat experience that respects your hardware](#-a-chat-experience-that-respects-your-hardware)
38 + - [Power tools](#-power-tools)
39 + - [macOS-native polish](#-macos-native-polish)
40 +- [Screenshots](#-screenshots)
41 +- [Verified performance](#-verified-performance)
42 +- [Installation](#-installation)
43 +- [Requirements](#-requirements)
44 +- [Usage](#-usage)
45 +- [Building from source](#%EF%B8%8F-building-from-source)
46 +- [Architecture](#%EF%B8%8F-architecture)
47 +- [Roadmap](#-roadmap)
48 +- [Contributing](#-contributing)
49 +- [License](#-license)
50 +- [Author](#-author)
51 +
52 +---
53 +
54 +## 🔒 Why Zyquo Local?
55 +
56 +Cloud chatbots read your prompts. **Zyquo Local doesn't have a server to send them to.**
57 +
58 +Inference runs entirely on your Mac's unified memory and GPU through Apple's MLX framework. The only network calls the app ever makes are the ones **you** trigger to download model weights from Hugging Face — and even those are resumable, verified, and stored in a folder you control. Everything else — every conversation, every token, every system prompt — lives in `~/Library/Application Support/ZyquoLocal/` and nowhere else.
59 +
60 +---
61 +
62 +## ✨ Features
63 +
64 +### 🔐 Private, local inference
65 +
66 +- **100 % on-device generation** via [mlx-swift-lm](https://github.com/ml-explore/mlx-swift-lm) — no API keys, no accounts, no telemetry, works fully offline once a model is downloaded.
67 +- **57 supported architectures** out of the box: Llama, Qwen 2/3/3.5/3.6, Mistral/Mixtral, Gemma 1–4, Phi-3/4, DeepSeek-V3 distills, gpt-oss, GLM-4, SmolLM3, LFM2, OpenELM, StarCoder2, Granite, and more — with a compatibility check *before* you download anything.
68 +- **True token streaming** with a live tokens/second ticker, cancellable mid-generation — the stop button actually stops the GPU loop.
69 +- **Reasoning display**: `<think>…</think>` output from thinking models (DeepSeek-R1 distills, Qwen3 thinking mode, QwQ-class) streams into a collapsible *Thought process* section, parsed incrementally and robust to tags split across token chunks.
70 +- **First-class statistics** under every response: `⚡ tokens/sec · token count · time-to-first-token`, plus peak-memory tracking per generation.
71 +- **Multi-turn context management**: KV-cache reuse across turns (no re-prefill), automatic oldest-turn truncation when the context window fills (the system prompt always survives), and a live context-usage bar.
72 +- **Verifiable memory hygiene**: one model loaded at a time, explicit Load/Unload, and unloading provably returns memory to the OS (gigabytes → kilobytes, measured via MLX memory APIs).
73 +
74 +### 🧲 Browse & download models inside the app
75 +
76 +- **Live Hugging Face search** without leaving the app: scopes for the curated *Featured* catalog, the `mlx-community` organization, or all MLX-tagged repos; sort by downloads/likes/newest; filter by size class; gated-repo and unsupported-architecture warnings right on the card.
77 +- **A hand-picked Featured catalog of 30 models** — tiny (Qwen3-0.6B, Llama-3.2-1B, SmolLM3-3B…), mid (Qwen3-8B/14B, Gemma-3-12B, Phi-4, gpt-oss-20b…), large (Mistral-Small-24B, Gemma-3-27B, Qwen3-30B-A3B MoE, Llama-3.3-70B…), coding (Qwen2.5-Coder, Qwen3-Coder-30B-A3B) and reasoning (R1 distills, Qwen3-Thinking) — every repo ID and download size verified against the live Hub.
78 +- **Industrial-grade download manager**: pause / resume / cancel per model, **HTTP Range resume that survives app restarts**, automatic retry with backoff on transient network drops, 2 parallel file streams, live speed + ETA, atomic `.partial → final` completion, per-file size verification, and a disk-space pre-check before a single byte is fetched.
79 +- **RAM verdicts everywhere**: a `MemoryAdvisor` reads *your* Mac's physical memory and stamps every model — installed or discoverable — with **Fits / Tight / Too large**, so you never download something your machine can't run.
80 +- **Model library**: sizes on disk, architecture and quantization badges, context-window length, last-used dates, per-model default generation parameters, Reveal in Finder, and delete-with-reclaimed-space confirmation.
81 +- **Optional Hugging Face token** (Settings → Models & Storage, masked input) for gated repos like Llama and Gemma — sent exclusively to huggingface.co, stripped from cross-host CDN redirects.
82 +
83 +### 💬 A chat experience that respects your hardware
84 +
85 +- **Multi-conversation sidebar** with full-text search across titles *and* message content, pinning, renaming, date grouping (Pinned / Today / Yesterday / Previous 7 Days / Older), and per-conversation model badges.
86 +- **Per-conversation everything**: model, system prompt, temperature, top-p, repetition penalty, max tokens, and seed — with plain-language explanations and app-wide defaults in Settings.
87 +- **Model switcher in the chat header**: click the model chip to swap among downloaded models (RAM verdicts included) with inline load progress; each conversation remembers its model.
88 +- **Message actions**: copy, edit & resend (rewinds the conversation), regenerate, quote-reply, delete.
89 +- **Full Markdown rendering** (swift-markdown): headings, lists, quotes, tables, inline styles — and **syntax-highlighted code blocks with one-click copy**.
90 +- **Attachments**: drag & drop or attach text files (`txt`, `md`, code, `csv`, `json`…) — contents are injected into your message as labeled fenced blocks.
91 +- **Auto-titled conversations** using the loaded model itself after the first exchange.
92 +- **Onboarding that doesn't waste your time**: first launch offers starter models *sized for your specific Mac* with one-click download and inline progress.
93 +
94 +### 🛠 Power tools
95 +
96 +- **⚡ Quick Chat** (global `⌥Space`): a Spotlight-style floating panel for one-shot questions to the loaded model, from anywhere in macOS — no accessibility permissions needed.
97 +- **🆚 Compare mode**: run **two models side-by-side** on the same prompt with independent streaming and stats — RAM-gated so you can't load a pair your memory can't hold.
98 +- **📚 Prompt library**: 56 built-in templates across 8 categories (writing, coding, analysis, learning, productivity, communication, language, creative) with `{{variable}}` placeholders — plus your own saved templates.
99 +- **🎭 Personas**: reusable system prompt + preferred model + parameter bundles (4 thoughtful built-ins included).
100 +- **📤 Export** any conversation to **Markdown or PDF**; bulk export/import of all conversations as JSON.
101 +- **📊 Live resource footer**: currently loaded model, real-time MLX active-memory readout, and a colored pressure dot.
102 +
103 +### 🍎 macOS-native polish
104 +
105 +- **Real Mac app**: SwiftUI, `NavigationSplitView`, native Settings (6 tabs), translucent sidebar, hover states, snappy popovers, 0.5 pt hairlines — designed, not generated.
106 +- **Menu bar extra** (toggleable) with loaded-model status, download progress at a glance, and Quick Chat access.
107 +- **Keyboard-first**: `⌘N` new chat · `⌘K` model switcher · `⌘L` library · `⌘F` search · `⌘↩` send · `⇧⌘E` export · `⌥Space` Quick Chat.
108 +- **Light & dark themes** from a strict design-token system (emerald-on-graphite identity), five accent colors, adjustable chat text size with live preview.
109 +- **Signed & notarized**: Developer ID, hardened runtime, stapled ticket — Gatekeeper installs it without warnings.
110 +
111 +---
112 +
113 +## 📸 Screenshots
114 +
115 +<div align="center">
116 +
117 +**Chat — streaming, thinking disclosure, per-response stats (dark theme)**
118 +
119 +<img src="assets/screenshots/chat-dark.png" width="820" alt="Chat in dark mode with thought process disclosure and generation statistics">
120 +
121 +<br><br>
122 +
123 +**Discover — the curated catalog with RAM verdicts for *your* Mac**
124 +
125 +<img src="assets/screenshots/discover.png" width="820" alt="Discover tab with featured models, sizes and memory verdicts">
126 +
127 +<br><br>
128 +
129 +**Library — installed models with architecture, quantization and context badges**
130 +
131 +<img src="assets/screenshots/library.png" width="820" alt="Installed models with badges and actions">
132 +
133 +</div>
134 +
135 +---
136 +
137 +## 🏁 Verified performance
138 +
139 +Every release is validated by an end-to-end harness (`ZyquoLocal --verify`) that downloads real models through the app's own pipeline, then checks loading, deterministic generation, multi-turn recall, streaming cancellation, and memory release. Measured on an Apple M5 Max (48 GB):
140 +
141 +| Model | Load | Generate | Multi-turn | Cancel | Unload | tok/s | TTFT |
142 +|---|:-:|:-:|:-:|:-:|:-:|--:|--:|
143 +| Qwen3-0.6B-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 109.4 | 0.08 s |
144 +| Llama-3.2-1B-Instruct-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 222.8 | 0.74 s |
145 +| SmolLM3-3B-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 97.4 | 0.11 s |
146 +| gemma-3-4b-it-qat-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 58.3 | 1.08 s |
147 +| Qwen2.5-Coder-7B-Instruct-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 112.5 | 0.42 s |
148 +| DeepSeek-R1-0528-Qwen3-8B-4bit | ✅ | ✅ | ✅ | ✅ | ✅ | 61.3 | 0.08 s |
149 +
150 +Full methodology and the 30/30 catalog verification: [`docs/VERIFICATION.md`](docs/VERIFICATION.md).
151 +
152 +---
153 +
154 +## 📦 Installation
155 +
156 +1. **[Download `ZyquoLocal.dmg`](https://github.com/spboucher-ai/zyquo-local/releases/latest/download/ZyquoLocal.dmg)** from the latest release.
157 +2. Open the DMG and drag **Zyquo Local** into **Applications**.
158 +3. Launch it. The app is Developer ID signed and notarized by Apple — no Gatekeeper hoops.
159 +4. Pick a starter model sized for your Mac and click **Download**. That's it — chat away, even offline.
160 +
161 +> 💡 Models are stored in `~/Library/Application Support/ZyquoLocal/Models/` and can be deleted from the in-app Library at any time (the app shows exactly how much space you'll reclaim).
162 +
163 +---
164 +
165 +## 🧰 Requirements
166 +
167 +| | Minimum |
168 +|---|---|
169 +| **Mac** | Apple Silicon (M1 or later) — MLX requires it; Intel Macs are not supported |
170 +| **macOS** | 14.0 (Sonoma) or later |
171 +| **Memory** | 8 GB runs ≤4 B models comfortably · 16 GB → 7–14 B · 32 GB → 24–32 B · 64 GB → 70 B |
172 +| **Disk** | 0.35 GB (smallest model) → 40 GB (Llama-3.3-70B); the app pre-checks free space |
173 +| **Network** | Only for downloading models; inference is fully offline |
174 +
175 +---
176 +
177 +## 🚀 Usage
178 +
179 +| I want to… | Do this |
180 +|---|---|
181 +| Get my first model | Launch → pick a starter card → **Download** → it auto-appears in the model chip |
182 +| Chat | Type and hit `⌘↩`; press the stop button to halt generation instantly |
183 +| See how a model thinks | Reasoning models stream into the collapsible **Thought process** section |
184 +| Switch models | Click the model chip in the header (or `⌘K`) — verdicts tell you what fits |
185 +| Tune generation | The sliders icon in the input bar (per-conversation) or Settings → Inference (defaults) |
186 +| Ask from anywhere | `⌥Space` — Quick Chat floats above whatever you're doing |
187 +| Race two models | Menu **Model → Compare Models…**, pick two, broadcast one prompt |
188 +| Reuse a great prompt | The templates icon in the input bar — 56 built-ins with fillable variables |
189 +| Share a conversation | Header export menu → Markdown or PDF |
190 +| Use gated models (Llama, Gemma) | Settings → Models & Storage → add your Hugging Face token |
191 +
192 +---
193 +
194 +## 🏗️ Building from source
195 +
196 +Zyquo Local is plain **Swift Package Manager** — no `.xcodeproj`, and the Xcode IDE is never required. Two prerequisites beyond the Command Line Tools:
197 +
198 +1. **Apple's Metal Toolchain** on `PATH` — MLX compiles its GPU kernels at build time. On a machine with Xcode 26+: `xcodebuild -downloadComponent MetalToolchain`; a standalone `Metal.xctoolchain` on `PATH` also works.
199 +2. **SDK pin** on macOS 27 CLT setups: `SDKROOT=MacOSX26.5.sdk` (SwiftUI macros are Xcode-only plugins in the 27.x CLT SDKs).
38 200
39 201 ```sh
40 make build # debug build
41 make dev # debug bundle (ad-hoc signed) + launch
42 make poc MODEL=<dir> PROMPT="…" # CLI inference proof-of-concept
43 make icon # regenerate AppIcon.icns from the SVG source
44 make release # Developer ID signed + notarized + stapled app & DMG
202 +git clone https://github.com/spboucher-ai/zyquo-local.git
203 +cd zyquo-local
204 +
205 +make build # debug build
206 +make dev # debug bundle (ad-hoc signed) + launch
207 +make poc MODEL=<model-dir> PROMPT="Hello" # CLI inference proof-of-concept
208 +make icon # regenerate AppIcon.icns from the SVG source
209 +make release # Developer ID signed + notarized + stapled app & DMG
210 +```
211 +
212 +The full recipe, the Metal-toolchain findings, and the research that pinned every dependency version live in [`docs/BUILD.md`](docs/BUILD.md) and [`docs/MLX-RESEARCH.md`](docs/MLX-RESEARCH.md).
213 +
214 +---
215 +
216 +## 🏛️ Architecture
217 +
218 +```
219 +Sources/ZyquoLocal/
220 +├── App/ @main entry, scenes, CLI modes (--poc, --hub-poc, --verify)
221 +├── DesignSystem/ ZyquoTheme — every color, font, spacing and radius token
222 +├── Models/ Conversation, Message, LocalModel, DownloadTask, Persona
223 +├── Engine/ InferenceEngine (actor) · ChatSession · MemoryAdvisor · GenerationParams
224 +├── Hub/ HubService · DownloadManager · FileTransfer · ModelStore
225 +├── Services/ Persistence · ModelCatalog · PromptLibrary · Personas · Export · Settings
226 +├── ViewModels/ AppModel · ChatController (streaming + <think> parser)
227 +└── Views/ Chat · Library · Settings · QuickChat · Compare · Components
45 228 ```
46 229
47 Full recipe and the Phase 0 findings: [`docs/BUILD.md`](docs/BUILD.md).
230 +- **`InferenceEngine` is a Swift actor** — all inference behavior lives behind it; states flow `unloaded → loading → ready ⇄ generating`, generation is an `AsyncThrowingStream` of token/stats/finish events, and cancellation genuinely stops the loop.
231 +- **Dependencies** (pinned, researched, minimal): `mlx-swift-lm` · `swift-transformers` (tokenization) · `swift-huggingface` · `swift-markdown`. Downloads use a custom `URLSession` transport — delegate-backed, chunked, Range-resumable.
232 +- **7 300+ lines of Swift 6**, zero compiler warnings, every file headed and every screen built from design tokens.
233 +
234 +---
235 +
236 +## 🗺 Roadmap
237 +
238 +- [ ] Multi-model residency (keep 2+ small models warm simultaneously)
239 +- [ ] Prompt-cache persistence across launches (MLX `saveCache`) for instant long-context reload
240 +- [ ] Vision-language models (MLXVLM) — image input for Gemma-3 / Qwen-VL class models
241 +- [ ] Tool calling / MCP bridge for local agents
242 +- [ ] Speculative decoding with paired draft models
243 +- [ ] Sparkle-based in-app updates
244 +- [ ] Localization (French first 🇫🇷)
245 +
246 +---
247 +
248 +## 🤝 Contributing
249 +
250 +Issues and pull requests are welcome!
251 +
252 +1. Fork, then `git clone` your fork.
253 +2. Follow [Building from source](#%EF%B8%8F-building-from-source) — `make build` must pass with **zero warnings**.
254 +3. Match the existing style: design tokens only in views, inference logic only in `Engine/`, mandatory file headers.
255 +4. `ZyquoLocal --verify` should stay green if you touch the engine or Hub layers.
256 +5. Open a PR with a clear description of *what* and *why*.
257 +
258 +---
259 +
260 +## 📄 License
261 +
262 +Released under the **[MIT License](LICENSE)** — © 2026 Simon-Pierre Boucher.
263 +
264 +---
265 +
266 +## 👤 Author
267 +
268 +<div align="center">
269 +
270 +**Simon-Pierre Boucher**
271 +
272 +📫 Contact: [contact@spboucher.ai](mailto:contact@spboucher.ai)
48 273
49 ## Verification
274 +<br>
50 275
51 `ZyquoLocal --verify` downloads a spread of Featured models (tiny → 8B,
52 multiple architectures), then for each: validates files, loads, runs a
53 deterministic generation, a multi-turn exchange, a streaming-cancellation
54 test, unloads and confirms memory release — and dry-verifies the entire
55 curated catalog against the live Hub. Results: [`docs/VERIFICATION.md`](docs/VERIFICATION.md).
276 +*Zyquo Local is part of the Zyquo family of native macOS AI apps.*
56 277
57 ## Documentation
278 +⭐ If Zyquo Local is useful to you, a star helps more people run their AI locally.
58 279
59 - [`docs/PLAN.md`](docs/PLAN.md) — phase-by-phase build log
60 - [`docs/MLX-RESEARCH.md`](docs/MLX-RESEARCH.md) — MLX Swift stack research
61 - [`docs/MODELS.md`](docs/MODELS.md) — HF Hub API contract + curated catalog
62 - [`docs/BUILD.md`](docs/BUILD.md) — the no-Xcode build recipe
280 +</div>
added assets/icon/app-icon.png +0 −0

Binary file not shown.

added assets/screenshots/chat-dark.png +0 −0

Binary file not shown.

added assets/screenshots/discover.png +0 −0

Binary file not shown.

added assets/screenshots/library.png +0 −0

Binary file not shown.