1.6 KiB
JARVIS-QVAC
Local-first Ubuntu GNOME voice assistant. The cognitive core is the
already-extracted /home/raven/dev/agent-harness, copied into
vendor/agent-harness; Jarvis does not copy or depend on /home/raven/dev/dlinux.
Bootstrap
npm install
npm test
npm run cu-doctor
npm run gpu-doctor
npx qvac doctor
npm run qvac:serve:diagnostic # optional; never run beside jarvisd
The daemon bridge loads the harness in-process with Agent.engine.load() and
creates sessions with Agent.create(). The optional QVAC HTTP sibling is
configured for 127.0.0.1:11434. The GNOME extension is an intentionally thin
ESM panel shell; inference, audio, portals, and computer-use actuation belong
in user services.
GPU inference is a hard requirement. gpu-doctor must report a QVAC-visible
GPU and jarvisd refuses to continue if the loaded model reports device: cpu.
This prevents a misleading CPU mode and competing QVAC workers.
The repository contains the daemon, single GPU-only QVAC master, copied agent harness, voice loop, GNOME ARC extension, GTK4/libadwaita control center, computer-use observation and safety boundaries, and the full QVAC capability skill registry. See docs/ROADMAP.md, docs/agent-harness-map.md, and docs/cu-acceptance.md.
Runtime inference refuses to start until the QVAC SDK reports a usable GPU. The RemoteDesktop/libei input bridge also remains unavailable until the local GNOME portal session and a real EIS injector are present; Jarvis never claims that an action succeeded when the backend is missing.