Cross-platform AI assistant available as a Browser Extension, Desktop App, and Android App, with in-page tools, full chat, voice interaction, and a customizable virtual companion.
VAssist is built around three core surfaces:
- Chat Interface - Full conversation workspace with streaming, attachments, voice mode, and history branching
- Virtual Companion - Animated assistant with responsive states and interaction feedback
- AI Toolbar - Appears on selection/focus and runs rewrite, summarize, translate, writer, dictation, and image tools
The experience is provider-configurable from setup/settings, so chat/voice/tools can run with different LLM, STT, and TTS backends.
VAssist combines three workflows in one interface:
- In-page tools for rewrite, summarize, translate, writing, dictation, and image actions
- Full chat with streaming, attachments, page context, and history branching
- A customizable 3D companion with PMX models, stages, VMD motions, and emotes
- Android live wallpaper mode for running the companion avatar on the home screen
Open full chat for streaming responses, page context, attachments, and history branching.
Use a customizable companion with model/stage/motion/emote controls and runtime-aware behavior.
Select text in-page to open quick rewrite, summarize, translate, writer, dictation, and image actions.
VAssist lets you configure LLM, STT, and TTS providers independently from setup/settings.
- LLM providers: Chrome AI, OpenAI, Ollama, android-local, desktop-local
- STT providers: Chrome AI Multimodal, OpenAI, OpenAI-compatible, android-local, desktop-local
- TTS providers: Kokoro, OpenAI, OpenAI-compatible, GPT-SoVITS remote, android-local, desktop-local
Local provider implementation details
- android-local runs through the in-app Android local AI server and uses llama.cpp with GGUF model management; mmproj pairing is supported for vision-capable models
- desktop-local runs through the desktop local AI server and uses node-llama-cpp for local LLM inference
- Android local STT is handled by WhisperService (whisper-tiny.en) using sherpa-onnx on-device inference
- Android local TTS is handled by VitsService (vits-vctk, multi-speaker) using sherpa-onnx on-device inference
- Desktop local STT is proxied by the local server to the Faster Whisper Python service
- Desktop local TTS is proxied by the local server to GPT-SoVITS and returned as WAV audio
- Both local runtimes expose OpenAI-style audio routes for transcription and speech through the local server surface
- Upload custom PMX companion models and PMX stages
- Import VMD animations, assign categories, and control which motions are enabled
- Create/import emotes with motion, audio, and camera variants
- Apply the configured avatar as an Android live wallpaper from the app setup flow
Download artifacts from releases:
- Desktop App: install the desktop installer package for your OS
- Android App: install the APK on your Android device
- Browser Extension: download
vassist-extension.zip
Extension install (Chrome)
- Download
vassist-extension.zipfrom releases. - Extract the zip file.
- Open
chrome://extensions. - Enable Developer mode (top-right toggle).
- Click Load unpacked.
- Select the extracted folder.
- Bun (recommended) or Node.js
- Chrome (for extension runtime)
- Android Studio + SDK (for Android build/run)
- Clone and install dependencies:
git clone https://github.com/b1ink0/vassist.git
cd vassist
bun install- Choose your runtime:
- Extension:
bun run dev:extension(or build zip withbun run build:extension:zip) - Desktop app:
bun run dev:desktop(or production build withbun run build:desktop:production) - Android app:
bun run dev:android(or production build withbun run build:android)
Android run (Capacitor dev flow)
- Build and sync Android assets:
bun run dev:android- Open Android project:
bun run cap:open:android- Run from Android Studio on emulator/device.
- Use the Android app option to set VAssist as your live wallpaper.
Optional Chrome AI mode
If you specifically want Chrome built-in AI providers, enable the required Chrome AI flags in your browser.
See CONTRIBUTING.md for development setup and guidelines.
git clone https://github.com/b1ink0/vassist.git
cd vassist
bun install
bun run dev:extension # Extension development build (watch)
bun run dev:desktop # Desktop renderer development
bun run dev:android # Android web build + Capacitor sync
bun run build:extension # Build extension
bun run build:extension:zip # Create distributable
bun run build:desktop:production
bun run build:android- React - UI framework
- Vite - Build tool
- Electron - Desktop runtime
- Capacitor (Android) - Android runtime bridge
- Babylon.js - Character rendering and animation
- babylon-mmd - PMX/VMD companion pipeline
- Tailwind CSS - Styling
- Dexie.js - IndexedDB wrapper
- Kokoro.js - On-device TTS
- node-llama-cpp - Desktop local LLM integration
- llama.cpp - Android local LLM backend (native)
- Express + NanoHTTPD - Local OpenAI-style API servers
- Whisper + VITS integrations - Local STT/TTS service backends
- Chrome AI APIs - Native on-device AI integration
MIT License - see LICENSE file for details.
🐛 Issues • 💬 Discussions • 📖 Docs



