Releases: vouchdev/vouch-desktop
Release list
vouch-desktop v1.0.0
vouch-desktop v1.0.0
Released 2026-06-26
A cross-platform Electron desktop GUI over the entire vouch command surface — the review-gated, local-first decision-memory knowledge base. vouch runs as an unmodified child process; the app talks to it only over its existing JSONL and review-ui transports, and never writes durable state except through vouch's own propose → approve gate.
1.0.0 reshapes the app to React + TypeScript + electron-vite — a faithful, behavior-preserving rewrite of the buildless 0.1.0 renderer, with a fully typed main/preload, a typed IPC boundary, and a generated typed method catalog.
Highlights
- ⚛️ React 18 renderer + end-to-end TypeScript. The renderer is rebuilt as React components; main and preload are converted to TypeScript.
electron-vitereplaces the buildless setup, producing three typed targets (main → CJS, preload → CJS, renderer → React/ESM). - 🔒 Typed IPC contract.
src/shared/ipc.tsdeclares oneVouchApiinterface plus every channel payload/return type — shared by main, preload, and renderer. Same channels, same semantics, now compiler-checked across the trust boundary. - 🗂️ Generated typed catalog.
scripts/gen-methods.tsemitssrc/shared/methods.gen.ts(a typedMethod[]+ aMethodNameunion) that drives the form generator and gateswindow.vouch.call. - 🎛️ Same app, faithfully ported. All 11 views, the dark theme, the data-driven form generator, the result renderers, the review queue, and the dual-solve runner behave exactly as before.
- ✅ 92 tests (Vitest) + an end-to-end runtime check (open KB → propose → review queue → approve), and a verified electron-builder package.
No behavior change vs 0.1.0. This release is an architectural reshape — if you used 0.1.0, everything works the same.
What this app does
- One window over every command. A left rail of ten task-shaped views (Dashboard, Search & Ask, Browse, Propose, Review & Lifecycle, Sessions, Graph, Maintenance, Export/Import, Audit) plus a bespoke Dual-Solve runner. Data-entry methods get forms generated from a verified parameter catalog: typed controls, enum dropdowns, sliders, tag inputs, native file pickers, and search-backed id typeaheads.
- The gate, made visible. Propose anything; it lands in the review queue. Approve / reject from the Review view. Nothing is ever auto-approved.
- Capability-aware. Methods the connected vouch doesn't advertise are shown disabled and light up automatically when you upgrade vouch.
- A companion, not just a window. Tray icon with a pending-count badge + KB switcher, native OS notifications (dual-solve ready, new proposals, process down), and a no-terminal launch flow — the app finds, launches, and supervises vouch for you.
- Sandboxed + locked down.
contextIsolation,sandbox, no node integration; a single frozenwindow.vouchpreload bridge; a strict production Content-Security-Policy (relaxed only on the dev server for HMR).
Install & run
Linux (AppImage)
The release artifact is vouch-1.0.0.AppImage (x86-64 / amd64).
chmod +x vouch-1.0.0.AppImage
# Most Ubuntu 22.04/24.04 need the FUSE v2 lib for AppImages:
sudo apt install libfuse2 # Ubuntu 24.04: libfuse2t64
./vouch-1.0.0.AppImage
# …or run without FUSE at all:
./vouch-1.0.0.AppImage --appimage-extract-and-runYou also need
vouchinstalled. The AppImage bundles only the Electron app, not the vouch binary. Install it so the app can find it onPATH:pipx install 'vouch[web]' # the [web] extra also enables dual-solve
On first launch, Open existing… a folder containing a .vouch/ directory, or Initialize new… to create one.
macOS / Windows
The build config targets dmg (macOS) and nsis (Windows); produce those installers by running npm run dist on the respective OS.
From source (development)
npm install
npm run dev # electron-vite dev with hot reloadOther scripts: npm run build, npm test, npm run typecheck, npm run gen:methods, npm run dist.
Requirements
- Node 18+ and npm to build/run from source (Node 20+ recommended).
- vouch on your
PATH(pipx install vouch), or set its path in the app. - Dual-Solve additionally needs vouch's
[web]extra,git/gh/dockeronPATH, thevouch/coder:latestsandbox image, and the KB inside a git repository.
Quality
- 92 unit tests (Vitest) covering the generated catalog + enum extraction, the
MethodForm.collect()parity, the form controls, the result/MethodCard rendering, the JSONL/HTTP clients, the vouch locator, and thevouch:callmethod-name gate. - Runtime-verified end to end: launched the packaged app, opened a knowledge base, proposed a claim → saw it in the review queue → self-approval correctly blocked → cross-agent approve produced a durable artifact.
- Packaging verified: the built AppImage boots and the asar bundles the compiled
out/output.
Known limitations
- The CLI-only orchestration commands
auto-pr,migrate,schema, andsync-check/sync-applyare not yet surfaced in the UI. - A bundled, frozen vouch (PyInstaller) for zero-Python installs is scaffolded (
scripts/freeze-vouch.shslot +extraResources) but not built — for now, install vouch withpipxon the target machine.
Full changelog: see CHANGELOG.md. License: MIT.