Jarvis documentation
Jarvis is a local-first voice and computer-use assistant for Ubuntu GNOME,
released by HoneyPeer, LLC under AGPLv3 or later. This directory is the
maintained technical reference for the repository. The Debian/npm package id
remains jarvis-qvac.
Start here
| Need | Document |
|---|---|
| Understand the system | Architecture |
| Run it locally | Operations and Local demo |
| Understand the voice loop | Voice pipeline |
| Change voice, listening, or appearance | Settings |
| Brand tokens and HUD styling | Brand |
| Build desktop control | Computer use |
| Integrate QVAC | QVAC runtime |
| Run the packaged runtime | Bare runtime |
| Understand the agent | Harness integration |
| Use the D-Bus API | API reference |
| Build and release with Gitea | CI and releases |
| Review privacy and safety | Security and privacy |
| Test changes | Testing |
| Diagnose failures | Troubleshooting |
| Track implementation | Roadmap |
| Upgrade an install | Migration notes |
| Release a build | Release checklist |
| Hardware and GPU fit | Hardware compatibility |
| Capability matrix | Capabilities |
| Development workflow | Development |
| Vendored harness layout | Agent harness map |
| Voice acceptance | Voice acceptance |
| Computer-use acceptance | CU acceptance |
Runtime promise
The project has one cognition loop and one QVAC authority. jarvisd owns the
QVAC SDK worker, model lifecycle, GPU policy, scheduler, and cancellation. The
vendored harness supplies planning, sessions, memory, and the tool-loop behavior.
The GNOME Shell extension only renders state and forwards desktop facts. It
does not load models or perform inference.
flowchart LR
U[User] --> G[GNOME Shell extension]
G <--> D[jarvisd]
D --> H[Vendored agent harness]
D --> Q[Single QVAC master]
D --> C[Computer-use backend]
D --> A[PipeWire audio]
Q --> GPU[GPU inference]
Implementation truth
The roadmap distinguishes implemented behavior ([x]), partial behavior
([~]), and planned behavior ([ ]). A doctor command or acceptance test
is the source of truth for host-dependent capabilities. In particular, GPU
visibility, wake-word bridge availability, portal consent, and live EIS input
must be verified on the target GNOME session.
Documentation conventions
- Commands are run from the repository root unless stated otherwise.
- Paths beginning with
~are user-scoped paths. jarvisdmeans the user service and its packaged Bare process.- “Master” means the singleton in
daemon/qvac-master.js. - Mermaid diagrams use Gitea-compatible fenced Markdown.
Jarvis is released by HoneyPeer, LLC under the GNU Affero General Public License v3 or later. See LICENSE and COPYRIGHT.