QVAC - Local AI SDK and libraries for building private, cross-platform, peer-to-peer AI applications. Run LLMs, speech-to-text, translation, and more locally on Linux, macOS, Windows, Android, and iOS.
1
stars
1,192
commits
JavaScript
primary language
Sep 2, 2026
updated
QVAC is an open-source, cross-platform ecosystem for building local-first, peer-to-peer AI applications and systems. With QVAC, you can run AI tasks like LLMs, speech, RAG, and more locally across Linux, macOS, Windows, Android, and iOS — or delegate inference to peers using its built-in P2P capabilities.
QVAC is composed of JavaScript libraries and tools that converge in the JS SDK. The SDK is the main entry point for using QVAC. It is type-safe and exposes all QVAC capabilities through a unified interface. It runs on Node.js, Bare runtime, and Expo.
Additionally, QVAC provides a CLI with tools and an HTTP server that exposes an OpenAI-compatible API. By implementing the OpenAI API format, QVAC can integrate with the broader AI ecosystem.
Install the @qvac/sdk npm package in your project. Then load models and run AI inference locally, or delegate inference to peers using the built-in P2P features.
mkdir qvac-examples
cd qvac-examples
npm init -y && npm pkg set type=module
npm install @qvac/sdk
import { loadModel, LLAMA_3_2_1B_INST_Q4_0, completion, unloadModel, } from "@qvac/sdk";
try {
// Load a model into memory
const modelId = await loadModel({
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
modelType: "llm",
onProgress: (progress) => {
console.log(progress);
},
});
// You can use the loaded model multiple times
const history = [
{
role: "user",
content: "Explain quantum computing in one sentence",
},
];
const result = completion({ modelId, history, stream: true });
for await (const token of result.tokenStream) {
process.stdout.write(token);
}
// Unload model to free up system resources
await unloadModel({ modelId });
}
catch (error) {
console.error("❌ Error:", error);
process.exit(1);
}
node quickstart.js
qvac-fabric-llm.cpp.qvac-fabric-llm.cpp.qvac-fabric-llm.cpp and Bergamot.qvac-ext-lib-whisper.cpp or NVIDIA Parakeet.qvac-ext-stable-diffusion.cpp.[!TIP] For comprehensive QVAC documentation, see https://docs.qvac.tether.io. There, you'll find the compatibility matrix, installation instructions per environment/platform, reference with code examples for using each functionality, and much more.
Monorepo structure overview. All QVAC components live under /packages, including the SDK, libraries, and tooling. Not every component is published to npm.
Legend:
| Package | Description | Category |
|---|---|---|
| sdk | Main entry point to develop AI applications with QVAC | SDK |
| lib-decoder-audio | Audio decoder library leveraging FFmpeg for efficient audio decoding as preprocessing step for other addons | Addon |
| lib-infer-llamacpp-embed | Native C++ addon for running text embedding models to generate high-quality contextual embeddings via qvac-fabric-llm.cpp | Addon |
| lib-infer-llamacpp-llm | Native C++ addon for running Large Language Models (LLMs) via qvac-fabric-llm.cpp | Addon |
| diffusion-cpp | Native C++ addon for text-to-image generation via qvac-ext-stable-diffusion.cpp | Addon |
| lib-infer-nmtcpp | Native C++ addon for translation using either qvac-fabric-llm.cpp or Bergamot | Addon |
| lib-infer-onnx | Bare addon for ONNX Runtime session management | Addon |
| lib-infer-onnx-tts | Text-to-Speech (TTS) library using Chatterbox and Supertonic neural TTS model via ONNX Runtime | Addon |
| lib-infer-parakeet | High-performance speech-to-text inference addon using via NVIDIA/Parakeet | Addon |
| transcription-whispercpp | Library for running Whisper transcription model for audio transcription via qvac-ext-lib-whisper.cpp | Addon |
| inference-addon-cpp | Header-only C++ library providing common abstractions and infrastructure for building high-performance inference addons | Addon |
| langdetect-text | Language detection library providing interface for detecting language of given text | Addon |
| langdetect-text-cld2 | Language detection using CLD2 with same API as @qvac/langdetect-text | Addon |
| ocr-onnx | Optical Character Recognition (OCR) addon using ONNX Runtime | Addon |
| rag | JavaScript library for Retrieval-Augmented Generation (RAG) with document ingestion, vector search, and LLM integration | Addon |
| dl-base | Base class for QVAC dataloader libraries providing common interface for loading data from various sources | Core |
| dl-filesystem | Data loading library for loading model weights and resources from local filesystem | Core |
| dl-hyperdrive | Data loading library for loading model weights and resources from Hyperdrive distributed file system | Core |
| error | Standardized error handling capabilities for all QVAC libraries | Core |
| infer-base | Base class for inference addon clients defining common lifecycle and generic methods for model interaction | Core |
| logging | Logger wrapper that normalizes logging interface across QVAC libraries | Core |
| cli | Command-line interface for the QVAC ecosystem with tooling for building, bundling, and managing QVAC-powered applications | Tool |
| diagnostics | Diagnostic report generation library for QVAC | Tool |
| lib-registry-server | Distributed model registry for downloading AI models for local inference and contributing new models | Tool |
| lint-cpp | Configuration files for formatting and linting C++ source files with pre-commit hooks | Tool |
/docs/gitflow.md./packages./docs/architecture.Built something with QVAC? Add a badge or banner to your README, website, or app. It is a simple way to highlight your project, help others discover QVAC, and strengthen our community.
By using these badges and banners, you help foster the QVAC ecosystem!
Choose a banner or badge below and copy its Markdown snippet, or copy its image URL and use the hosted SVG asset directly.
Large format badges (240x60) for prominent placement in your README header.
Dark with monochrome glow
Dark with colorful flow
Dark with stars pattern
Light with colorful flow
Banner usage
[](https://github.com/tetherto/qvac)
Compact badges for use alongside other shields/badges in your README.
Compact
| Variant | Dark bg | Light bg |
|---|---|---|
| Green logo | ||
| Monochrome |
Inline
| Variant | Dark bg | Light bg |
|---|---|---|
| Green logo | ||
| Monochrome |
Badge usage
[](https://github.com/tetherto/qvac)
(top 30 of 50)
JavaScript
35.7%
TypeScript
31.1%
C++
23.3%
Python
7.0%
Shell
1.7%
CMake
1.2%
QVAC - Local AI SDK and libraries for building private, cross-platform, peer-to-peer AI applications. Run LLMs, speech-to-text, translation, and more locally on Linux, macOS, Windows, Android, and iOS.
1
stars
1,192
commits
JavaScript
primary language
Sep 2, 2026
updated
QVAC is an open-source, cross-platform ecosystem for building local-first, peer-to-peer AI applications and systems. With QVAC, you can run AI tasks like LLMs, speech, RAG, and more locally across Linux, macOS, Windows, Android, and iOS — or delegate inference to peers using its built-in P2P capabilities.
QVAC is composed of JavaScript libraries and tools that converge in the JS SDK. The SDK is the main entry point for using QVAC. It is type-safe and exposes all QVAC capabilities through a unified interface. It runs on Node.js, Bare runtime, and Expo.
Additionally, QVAC provides a CLI with tools and an HTTP server that exposes an OpenAI-compatible API. By implementing the OpenAI API format, QVAC can integrate with the broader AI ecosystem.
Install the @qvac/sdk npm package in your project. Then load models and run AI inference locally, or delegate inference to peers using the built-in P2P features.
mkdir qvac-examples
cd qvac-examples
npm init -y && npm pkg set type=module
npm install @qvac/sdk
import { loadModel, LLAMA_3_2_1B_INST_Q4_0, completion, unloadModel, } from "@qvac/sdk";
try {
// Load a model into memory
const modelId = await loadModel({
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
modelType: "llm",
onProgress: (progress) => {
console.log(progress);
},
});
// You can use the loaded model multiple times
const history = [
{
role: "user",
content: "Explain quantum computing in one sentence",
},
];
const result = completion({ modelId, history, stream: true });
for await (const token of result.tokenStream) {
process.stdout.write(token);
}
// Unload model to free up system resources
await unloadModel({ modelId });
}
catch (error) {
console.error("❌ Error:", error);
process.exit(1);
}
node quickstart.js
qvac-fabric-llm.cpp.qvac-fabric-llm.cpp.qvac-fabric-llm.cpp and Bergamot.qvac-ext-lib-whisper.cpp or NVIDIA Parakeet.qvac-ext-stable-diffusion.cpp.[!TIP] For comprehensive QVAC documentation, see https://docs.qvac.tether.io. There, you'll find the compatibility matrix, installation instructions per environment/platform, reference with code examples for using each functionality, and much more.
Monorepo structure overview. All QVAC components live under /packages, including the SDK, libraries, and tooling. Not every component is published to npm.
Legend:
| Package | Description | Category |
|---|---|---|
| sdk | Main entry point to develop AI applications with QVAC | SDK |
| lib-decoder-audio | Audio decoder library leveraging FFmpeg for efficient audio decoding as preprocessing step for other addons | Addon |
| lib-infer-llamacpp-embed | Native C++ addon for running text embedding models to generate high-quality contextual embeddings via qvac-fabric-llm.cpp | Addon |
| lib-infer-llamacpp-llm | Native C++ addon for running Large Language Models (LLMs) via qvac-fabric-llm.cpp | Addon |
| diffusion-cpp | Native C++ addon for text-to-image generation via qvac-ext-stable-diffusion.cpp | Addon |
| lib-infer-nmtcpp | Native C++ addon for translation using either qvac-fabric-llm.cpp or Bergamot | Addon |
| lib-infer-onnx | Bare addon for ONNX Runtime session management | Addon |
| lib-infer-onnx-tts | Text-to-Speech (TTS) library using Chatterbox and Supertonic neural TTS model via ONNX Runtime | Addon |
| lib-infer-parakeet | High-performance speech-to-text inference addon using via NVIDIA/Parakeet | Addon |
| transcription-whispercpp | Library for running Whisper transcription model for audio transcription via qvac-ext-lib-whisper.cpp | Addon |
| inference-addon-cpp | Header-only C++ library providing common abstractions and infrastructure for building high-performance inference addons | Addon |
| langdetect-text | Language detection library providing interface for detecting language of given text | Addon |
| langdetect-text-cld2 | Language detection using CLD2 with same API as @qvac/langdetect-text | Addon |
| ocr-onnx | Optical Character Recognition (OCR) addon using ONNX Runtime | Addon |
| rag | JavaScript library for Retrieval-Augmented Generation (RAG) with document ingestion, vector search, and LLM integration | Addon |
| dl-base | Base class for QVAC dataloader libraries providing common interface for loading data from various sources | Core |
| dl-filesystem | Data loading library for loading model weights and resources from local filesystem | Core |
| dl-hyperdrive | Data loading library for loading model weights and resources from Hyperdrive distributed file system | Core |
| error | Standardized error handling capabilities for all QVAC libraries | Core |
| infer-base | Base class for inference addon clients defining common lifecycle and generic methods for model interaction | Core |
| logging | Logger wrapper that normalizes logging interface across QVAC libraries | Core |
| cli | Command-line interface for the QVAC ecosystem with tooling for building, bundling, and managing QVAC-powered applications | Tool |
| diagnostics | Diagnostic report generation library for QVAC | Tool |
| lib-registry-server | Distributed model registry for downloading AI models for local inference and contributing new models | Tool |
| lint-cpp | Configuration files for formatting and linting C++ source files with pre-commit hooks | Tool |
/docs/gitflow.md./packages./docs/architecture.Built something with QVAC? Add a badge or banner to your README, website, or app. It is a simple way to highlight your project, help others discover QVAC, and strengthen our community.
By using these badges and banners, you help foster the QVAC ecosystem!
Choose a banner or badge below and copy its Markdown snippet, or copy its image URL and use the hosted SVG asset directly.
Large format badges (240x60) for prominent placement in your README header.
Dark with monochrome glow
Dark with colorful flow
Dark with stars pattern
Light with colorful flow
Banner usage
[](https://github.com/tetherto/qvac)
Compact badges for use alongside other shields/badges in your README.
Compact
| Variant | Dark bg | Light bg |
|---|---|---|
| Green logo | ||
| Monochrome |
Inline
| Variant | Dark bg | Light bg |
|---|---|---|
| Green logo | ||
| Monochrome |
Badge usage
[](https://github.com/tetherto/qvac)
(top 30 of 50)
JavaScript
35.7%
TypeScript
31.1%
C++
23.3%
Python
7.0%
Shell
1.7%
CMake
1.2%