Plattformen
greppy rechnet seine zwei eingebetteten Modelle auf der GPU. Produktive Inferenz läuft auf macOS über Metal und auf Linux über CUDA. Daraus folgen die Release-Ziele.
| Plattform | Inferenz | Daemon-Transport | Browser-Tool | Optionale Workspace-Beschleunigung |
|---|---|---|---|---|
| macOS, Apple Silicon | Metal | Unix-Domain-Socket | ja, Beta | FSKit-Extension, macOS 15.4+ |
| Linux x86_64 | NVIDIA CUDA | Unix-Domain-Socket | ja, Beta | FUSE3-Provider |
Windows ist kein Release-Ziel. Die CLI lässt sich dort als Debug-Build aus dem Quellcode bauen; Browser-Tool und Agent-Workspace-Provider gibt es unter Windows nicht. macOS auf Intel und Linux auf ARM64 sind ebenfalls keine Release-Ziele, der Installer lehnt sie ab.
Pakete
v0.4.1 erscheint als .pkg für macOS auf Apple Silicon sowie als .deb und .rpm für Linux x86_64. Dazu kommen pro Paket eine SHA-256-Datei und ein SBOM, die Build-Umgebungen, der Modell-Herkunftsbericht, das Trainingsprotokoll des Qwen-Modells und die Prüfsummenliste.
$ gh release view v0.4.1 --repo metric-space-ai/greppy --json assets --jq '.assets[].name'
build-environment-linux-x86_64.json
build-environment-macos-arm64.json
greppy-linux-x86_64.deb
greppy-linux-x86_64.deb.sha256
greppy-linux-x86_64.deb.spdx.json
greppy-linux-x86_64.rpm
greppy-linux-x86_64.rpm.sha256
greppy-linux-x86_64.rpm.spdx.json
greppy-macos-arm64.pkg
greppy-macos-arm64.pkg.sha256
greppy-macos-arm64.pkg.spdx.json
greppy-qwen35-training-evidence.tar.gz
greppy-qwen35-training-evidence.tar.gz.sha256
model-redistribution-report.json
RELEASE-ASSETS.json
SHA256SUMS
| Paket | Größe | Inhalt |
|---|---|---|
greppy-macos-arm64.pkg |
844 MB | /Applications/GreppyWorkspaceFS.app mit CLI, Browser-Runtime und FSKit-Extension; /usr/local/bin/greppy zeigt auf die CLI in der App. Signiert mit Developer ID, notarisiert, Notarisierungsticket angeheftet. |
greppy-linux-x86_64.deb |
887 MB | /usr/bin/greppy; unter /usr/lib/greppy/bin/ die CLI, der FUSE3-Provider greppy-workspace-provider und die Browser-Runtime; die systemd-User-Unit greppy-workspace-provider.service. Abhängigkeit: fuse3. |
greppy-linux-x86_64.rpm |
946 MB | dasselbe Release als RPM für Linux x86_64 |
Jede CLI trägt beide Modelle samt Tokenizer in sich, zur Laufzeit lädt greppy nichts nach. Die CLI-Datei der macOS-Installation ist deshalb 974 MB groß. Der Installer wählt das Paket für deine Plattform und prüft es gegen SHA256SUMS; wie du ein Paket selbst prüfst, steht unter Sicherheit und Verifikation.
Inferenz-Backend wählen
greppy wählt das Backend der Plattform automatisch. Festlegen kannst du es mit der globalen Option --device oder mit GREPPY_DEVICE:
greppy doctor --json --device metal
GREPPY_DEVICE=cuda:1 greppy index .
| Wert | Backend |
|---|---|
auto |
wählt das Backend automatisch (Standard) |
metal |
Metal auf Apple Silicon |
cuda[:INDEX] |
CUDA, optional auf einer bestimmten GPU |
cpu |
in Release-Builds gesperrt, endet mit Exit 73 |
greppy doctor zeigt das gewählte Backend, alle Backends mit ihrem Zustand und die beiden Inferenz-Daemons. greppy doctor --json nennt zusätzlich die SHA-256 beider eingebetteter Modelle.
$ greppy doctor
status: ok
…
embedding_complete: true
inference: preference=auto explicit=false selected=metal device=metal:0000000100000471
backend cuda compiled=false available=false score=0 abi=1 reason=CUDA backend is not compiled for this platform
backend metal compiled=true available=true score=300 abi=1
device metal:0000000100000471 Apple M5 memory_free=26800144384 memory_total=26800603136
backend cpu compiled=true available=true score=100 abi=1
device cpu:0 aarch64 memory_total=34359738368
daemon embedding state=ready endpoint=/tmp/greppy-daemon-501/embedding-29a0b2f328340be0f959015526e5022b.sock
daemon summary state=ready endpoint=/tmp/greppy-daemon-501/summary-54edb0d71ff2d80862083125f394706b.sock
project: serde
schema: 17/17 current
integrity: ok
freshness: fresh
generation: 1
stats: files=339 nodes=4573 edges=9427
…
Ein ausdrücklich gewähltes Backend, das nicht verfügbar ist, scheitert mit einer Diagnose, statt still auf ein anderes Gerät auszuweichen. Auf dem Mac endet greppy doctor --device cuda mit Exit 73 und status: unhealthy; jeder Inferenz-Daemon meldet explicit inference backend `cuda` is unavailable: CUDA backend is not compiled for this platform.
$ greppy doctor --device cuda
status: unhealthy
…
inference: preference=cuda explicit=true selected=none device=none
backend cuda compiled=false available=false score=0 abi=1 reason=CUDA backend is not compiled for this platform
…
$ greppy doctor --device cpu
status: unhealthy
…
inference: preference=cpu explicit=true selected=cpu device=cpu:0
…
daemon embedding state=faulted error=invalid request: CPU inference is disabled in product builds; use the platform GPU by removing --device cpu or --no-gpu and unsetting GREPPY_DEVICE=cpu or GREPPY_NO_GPU
daemon summary state=faulted error=invalid request: CPU inference is disabled in product builds; use the platform GPU by removing --device cpu or --no-gpu and unsetting GREPPY_DEVICE=cpu or GREPPY_NO_GPU
…
GPU-Treiber
greppy installiert keine Treiber, Toolkits oder sonstige Software. Unter Linux muss der NVIDIA-Treiber bereits installiert sein; der Installer warnt, wenn libcuda.so.1 fehlt. Nenne GPU und Treiberversion, wenn du ein Problem meldest.
Aus dem Quellcode bauen
Produkt-Builds brauchen kompilierte GPU-Backends für beide eingebetteten Modelle. Unterstützte Build-Ziele sind Apple Silicon mit Metal und Linux x86_64 mit CUDA inklusive nvcc; das Backend der Plattform ist automatisch aktiv. Ein Build braucht Rust ≥ 1.95, eine C-Toolchain, jq und curl und lädt rund 780 MB Modelldateien, jede gegen ihre festgelegte SHA-256 geprüft. Siehe Schnellstart.
Funktionen je Plattform
| Funktion | macOS | Linux |
|---|---|---|
Code-Navigation, Suche, Lesen, Bearbeiten, bash-smart |
ja | ja |
Eingebauter Agent greppy -p (Beta) |
ja | ja |
Interaktiver Agent, Sessions, agent serve (Beta) |
ja | ja |
| Agent-Sandbox für Tool-Subprozesse | Seatbelt | Landlock |
Browser-Tool greppy web (Beta) |
ja | ja |
Der Agent-Workspace-Provider (FSKit ab macOS 15.4, FUSE3 unter Linux) ist optionale Beschleunigung. Der Agent arbeitet genauso ohne aktiven Provider.
$ greppy workspace status
agent workspace ready (ordinary backend; provider inactive); 0 workspace(s), 0 chunks, 0 physical bytes
Hilfe bekommen
Öffne ein GitHub-Issue mit:
greppy --versionund der exakten Release-Prüfsumme;- Betriebssystem, CPU, GPU und Treiberversion;
greppy doctor --json, private Pfade geschwärzt;- dem Befehl, seinem Exit-Code und, wenn möglich, einem minimalen reproduzierbaren Repository.
Sicherheitslücken meldest du vertraulich, siehe Sicherheit und Verifikation.