Repository navigation
Releases: arinltte/kevMac
Release list
v0.3.0
kevMac v0.3.0
The kev 1.0 release: the MLX backend arrives on Apple Silicon, every served checkpoint is pinned, documents run 8× longer with honest limits, and the app can finally see — and clean up — what it has downloaded.
What's new
- The kev 1.0 engine, pinned. The engine is now fetched from the
kev-1.0release tarball instead of a movingmainsnapshot, and stamped (.engine-tag) so the app knows exactly what it is running. Existing installs detect a stale pre-1.0 snapshot on launch and update it automatically — preserving the Python environment and downloaded weights — then re-sync the dependencies so mlx-lm arrives. That update is the whole point: the Qwen3.5 hybrid checkpoints now serve through Metal (MLX) instead of crawling on slow reference kernels, and a document is no longer silently truncated at 8,192 tokens. - Pinned weights,
@v1.0. Every served checkpoint is pinned to the upstream Hub tag (--run jaredpalmer/kev-0.8b@v1.0), and downloads fetch the exact same revision, soHF_HUB_OFFLINE=1resolution works and a model can never silently change underneath you (upstream moved kev-9b'smainto new v2 weights on 2026-09-30; the pin makes that irrelevant). The pin is passed only once the engine stamp says it understands@revision. - Faster on every Mac. Measured on a 16 GB MacBook Pro, six-question support-triage request, first (cold) / repeated (prefix-cached) pass: kev-0.8b 520 ms → 221–263 ms (previously ~0.9 s on the old MPS path), kev-4b 1.79 s → 1.55 s. The engine now caches document state prefixes, so re-asking questions about a document you've already analyzed is several times faster — the About pane shows the cache's live hits/misses.
- Long documents, honestly. States run to 65,536 tokens (0.8B read a 40,000-token document in ~40 s in testing). Past the limit the engine refuses with a 422 that names the token count and the limit, and kevMac turns it into a clear message — never a silent truncation. The editor states each model's validated context (8,192 tokens for 0.8B/4B/9B; 65,536 for 27B). The request timeout was raised from 120 s to 600 s so long first reads survive slower Apple Silicon.
- Check stability. Every multiple-choice answer has a stability button: kev 1.0 re-runs the question under six shuffled option orders and reports whether the winning option survives them, with the largest probability swing. Changing option order can change an answer — the app shows it instead of hiding it.
- Live engine card. The About pane shows what the engine is really doing: the pinned run, the backend (
mlx/torch), dtype, fitted temperature, release date, the 65,536-token limit and prefix-cache stats — read live from the engine'sGET /v1/models, replacing hardcoded claims. - The model list, honestly labeled. kev-0.8b (default), kev-4b, kev-9b and kev-27b — all pinned to
@v1.0and downloadable on any Mac. The big sizes are marked experimental with the RAM they realistically need (9B: 48 GB+; 27B: 96–128 GB expected — both unmeasured upstream on Mac): below the recommendation they still load, but serve by swapping (9B measured at ~155 s per request on a 16 GB Mac). The retired previous-generation kev-0.6b is removed from the app, and upgrades from v0.2.x clean its leftover weights (~1.2 GB) automatically on first launch. - Storage management. Downloaded models show their disk footprint in the Model menu, and any model you're no longer serving can be removed in one click — through the Hugging Face cache's own removal tooling (
hf cache rm), which respects the cache's shared-blob refcounts, so deduplicated weight blobs never orphan and nothing duplicates on disk. - Full-weight download rule. kev-27b's 51 GB backbone ships inside its checkpoint; the downloader detects this (no
adapter_config.json) and skips the base's weights — fetching only tokenizer bits — instead of doubling the disk cost.
Fixed
- Examples menu icon —
square.grid.2x4is not a real SF Symbol on current macOS (No symbol named 'square.grid.2x4' foundin the console); it is nowsquare.grid.2x2. - About pane icon — the pane used the bundle path's LaunchServices icon, which can be a stale cached one for a rebuilt app; it now renders the icon from the compiled asset catalog, which is always current (the bundle's own icon was verified pixel-identical to the latest logo).
Tested
On a MacBook Pro (M4-class, 16 GB), kev 1.0 engine, MLX backend, bf16:
| Check | Result |
|---|---|
| kev-0.8b@v1.0 | full pass — 520 ms cold / 221–263 ms cached; model card, warmup, 6-question analysis, stability check, 20k- and 40k-token documents, 70k-token refusal (422 with named counts), prefix-cache hits |
| kev-4b@v1.0 | full pass — 1.79 s / 1.55 s; correct playground answers (returns / wrong_size / refund); ~10 GB footprint, 29% RAM free on 16 GB |
| kev-9b@v1.0 | functional but swap-limited — warmup 133 s, analysis 155 s, 11 GB of swap on 16 GB; gated as experimental with the 48 GB+ recommendation (loads via memory-mapped weights) |
| kev-27b | not installed (51 GB); download path implemented, picker-gated as experimental |
| cleanup | 4B, 9B, legacy 0.6b and the stale pre-1.0 main revision removed through hf cache rm — 30.2 GB + 45.5 MB freed; cache now holds exactly kev-0.8b@v1.0 + its base (1.8 GB); 0.8B re-verified with byte-identical answers afterwards |
The request/response JSON contract (noul/choice/score in, typed answers out) is unchanged from v0.2.x — existing presets and questions work as they are. Python 3.13 stays pinned (torch ships no 3.14 wheels). KEV_DTYPE=bf16 behavior is unchanged; MLX serves bf16 regardless and ignores it.
Version
0.3.0 (build 4).
Install
Download the latest release from the Releases page, open the .dmg, and drag kevMac to your Applications folder — replacing the existing copy keeps all previously downloaded models working (the engine self-updates to kev 1.0 on first launch).
If macOS blocks the app on first launch:
xattr -rd com.apple.quarantine /Applications/kevMac.appOr build from source:
git clone https://github.com/arinltte/kevMac.git
cd kevMac
open kevMac.xcodeprojPress Run in Xcode. Nothing is installed outside ~/.kevMac; remove it any time with rm -rf ~/.kevMac.
Logo by GUMO · https://www.instagram.com/gumoooo._/
Developed by arinltte · arinltte00@gmail.com
v0.2.1
kevMac v0.2.1
A fresh face for kevMac — new logo, updated branding, same engine underneath.
What's new
- New logo. kevMac has a new mascot logo by GUMO — the
app icon (Dock, Finder, About pane), the README, and the in-app About section all show the new art. The
previous logo is preserved in the repository aspublic/logo-legacy.png. - Updated About pane. The About section now credits the developer: arinltte ·
arinltte00@gmail.com. - Version 0.2.1 (build 2). No engine, model, or setup changes — everything from v0.2.0 works
exactly the same, and upgrading replaces only the app bundle (your~/.kevMacfolder and downloaded
models are untouched).
Install
Download the kevMac-macOS-v021.dmg from the
Releases page, open it, and drag kevMac
to your Applications folder — replacing the existing copy keeps all previously downloaded models
working.
If macOS blocks the app on first launch:
xattr -rd com.apple.quarantine /Applications/kevMac.app Or build from source:
git clone https://github.com/arinltte/kevMac.git
cd kevMac
open kevMac.xcodeproj Press Run in Xcode. Nothing is installed outside ~/.kevMac; remove it any time with rm -rf ~/.kevMac.
Logo by GUMO · https://www.instagram.com/gumoooo._/
Developed by arinltte · arinltte00@gmail.com
v0.2.0
kevMac v0.2.0
Dynamic model selection, built on the new kev Qwen3.5 family.
What's new
- Model picker. A Model menu in the toolbar lists every supported checkpoint. The setup now installs kev-0.8b by default; models already downloaded say so in the menu, and the rest show their download size — pick one to download it on demand, then the engine restarts on it automatically.
- kev-0.8b (new default). The smallest model of the Qwen3.5 family, replacing the 0.6B: 0.829 in-distribution (was 0.801), 0.643 out of domain (was 0.620), and the first small Kev that learns rule composition (held-out pairs 0.38 vs 0.08).
- Bigger models, one click away. kev-4b (0.877, ~8 GB) and kev-9b (0.876, ~19 GB memory) appear in the picker as download options — downloaded only if you choose them.
- v0.1.0 compatible. Upgrades keep every previously downloaded model working —
kev-0.6bstays in the picker and serves exactly as before; the engine was updated to transformers 5.17 with Qwen3.5's Gated DeltaNet support while attention-only backbones keep the packed fast path. - Everything else is unchanged: plain-text questions in, animated answers out, one-button setup into
~/.kevMac, fully offline serving.
Measured on a MacBook Pro (M4, 16 GB)
One five-question request: kev-0.6b ~0.2 s, kev-0.8b ~0.9 s. The Qwen3.5 DeltaNet kernels have no MPS implementation yet (PyTorch falls back to slow reference kernels), so the 0.8B trades ~4× latency for the accuracy gain — the kev README notes an MLX backend for Qwen3.5 is the next planned change. For the lowest latency on a Mac, keep kev-0.6b; for the best accuracy, use kev-0.8b or larger.
Model notes
| Model | Base | Serves | In-distribution | Download |
|---|---|---|---|---|
kev-0.6b |
Qwen3-0.6B-Base | fp32, ~0.2 s | 0.801 | ~1.2 GB |
kev-0.8b |
Qwen3.5-0.8B-Base | bf16, ~0.9 s | 0.829 | ~1.6 GB |
kev-4b |
Qwen3.5-4B-Base | bf16 | 0.877 | ~8 GB |
kev-9b |
Qwen3.5-9B-Base | bf16, ~19 GB memory | 0.876 | ~18 GB |
kev-9b needs ~19 GB of memory — it does not fit a 16 GB Mac. kev-4b fits but is tight; both are there for machines with more memory.
Install
Download the kevMac-macOS-v020.dmg from the Releases page, open it, and drag kevMac to your Applications folder — then launch and press Start Setup only if the engine hasn't been set up yet (upgrades from v0.1.0 need nothing; the new model downloads from the Model menu when you pick it).
Or build from source:
git clone https://github.com/arinltte/kevMac.git
cd kevMac
open kevMac.xcodeprojPress Run in Xcode. Nothing is installed outside ~/.kevMac; remove it any time with rm -rf ~/.kevMac.
The decision engine is kev by Jared Palmer (Apache-2.0); the model weights are on the Hugging Face Hub; the base models carry the Qwen license. kevMac is MIT licensed.
v0.1.0
kevMac v0.1.0
The first release of kevMac — a lightweight macOS app for the kev decision model. Plain questions in, calibrated answers out, everything running locally on your Apple Silicon Mac.
Highlights
- Plain-text decision questions. Paste any document — a customer message, a review, an article — and build questions as simple forms: Yes / No, Multiple Choice, and Rating. No JSON, no terminal.
- Animated answers. Results render as plain language — "Returns — 83% confident" — with animated probability bars, confidence captions, latency and token usage, and a Copy Report button.
- Add / remove everything. Questions, choice options, and rating levels each have add and remove buttons, validated inline.
- Three examples. Support triage, News article, and Review rating — prefilled on first launch.
- One-button setup. The first launch installs everything into a dedicated
~/.kevMacfolder automatically: uv, Python 3.13, the kev engine, and the kev-0.6b model weights (~1.2 GB) — the weights download by themselves, no button press. The wizard skips whatever is already installed. - Fully offline after setup. The engine serves from
~/.kevMac/Cache, starts on launch, health-checks, and warms up in the background so the first real question answers fast. - About pane. App icon, version, theme picker, and a Check for Update action against the GitHub releases API.
Model
kev-0.6b — LoRA adapter + pointer head on Qwen3-0.6B-Base. 0.805 in-distribution accuracy; answers land in ~0.1–0.6 s after the background warm-up.
Requirements
- Apple Silicon Mac (M1 or later), macOS 14.6 or later
- Xcode, ~3 GB free disk, internet for the one-time setup
- Measured on a MacBook Pro (M4, 16 GB): the whole app stays under 3.5 GB of RAM (engine ~3.4 GB, app ~75 MB)
Install
Recommended
Download the latest .dmg below, open it, and drag kevMac to your Applications folder.
Gatekeeper
If macOS blocks the app on first launch, run the following in Terminal:
xattr -rd com.apple.quarantine /Applications/kevMac.appBuild from source:
git clone https://github.com/arinltte/kevMac.git
cd kevMac
open kevMac.xcodeprojPress Run in Xcode, then press Start Setup — everything happens automatically. Nothing is installed outside ~/.kevMac; remove it any time with rm -rf ~/.kevMac.
The decision engine is kev by Jared Palmer (Apache-2.0); weights on the Hugging Face Hub; base model Qwen3-0.6B-Base (Qwen license). kevMac is MIT licensed.