Show HN: QVAC SDK, a universal JavaScript SDK for building local AI applications

30 points by qvac ↗ HN
Hi folks, today we're launching QVAC SDK [0], a universal JavaScript/TypeScript SDK for building local AI applications across desktop and mobile.

The project is fully open source under the Apache 2.0 license. Our goal is to make it easier for developers to build useful local-first AI apps without having to stitch together a lot of different engines, runtimes, and platform-specific integrations. Under the hood, the SDK is built on top of QVAC Fabric [1], our cross-platform inference and fine-tuning engine.

QVAC SDK uses Bare [2], a lightweight cross-platform JavaScript runtime that is part of the Pear ecosystem [3]. It can be used as a worker pretty much anywhere, with built-in tooling for Node, Bun and React Native (Hermes).

A few things it supports today:

  - Local inference across desktop, mobile and servers
  - Support for LLMs, OCR, translation, transcription, 
    text-to-speech, and vision models
  - Peer-to-peer model distribution over the Holepunch stack [4],
    in a way that is similar to BitTorrent, where anyone can become a seeder
  - Plugin-based architecture, so new engines and model types can be added easily
  - Fully peer-to-peer delegated inference
We also put a lot of effort into documentation [5]. The docs are structured to be readable by both humans and AI coding tools, so in practice you can often get pretty far with your favorite coding assistant very quickly.

A few things we know still need work:

  - Bundle sizes are larger than we want right now because the current packaging of Bare add-ons is not as efficient as it should be yet
  - Plugin workflow can be simpler
  - Tree-shaking is already possible, but at the moment it still requires a CLI step, and we'd like to make that more automatic and better integrated into the build process
This launch is only the beginning. We want to help people build local AI at a much larger scale. Any feedback is truly appreciated! Full vision is available on the official website [6].

References:

[0] SDK: http://qvac.tether.io/dev/sdk

[1] QVAC Fabric: https://github.com/tetherto/qvac-fabric-llm.cpp

[2] Bare: https://bare.pears.com

[3] Pear Runtime: https://pears.com

[4] Holepunch: https://holepunch.to

[5] Docs: https://docs.qvac.tether.io

[6] Website: https://qvac.tether.io

14 comments

[ 128 ms ] story [ 1083 ms ] thread
Do you really mean/want to say:

>...and without permission on any device.

I would be much more interested in a tool which only allows AI to run within the boundaries which I choose and only when I grant my permission.

Hey folks, I'm part of the QVAC team. Happy to answer any questions!
Are there incentives for nodes to join the swarm (become a seeder)? If yes, how exactly, do they get paid in a decentralized way? Any URL where to get info about this?
This is all very ambitious. I am not exactly sure where someone is supposed to start. With the connections to Pear and Tether I can see where the lines meet, but is the idea that someone takes this and builds…Skynet? AI Cryptocurrency schemes? Just a local LLM chat?
Local inference is getting solved pretty quickly.

What still seems unsolved is how to safely use it on real private systems (large codebases, internal tools, etc) where you can’t risk leaking context even accidentally.

In our experience that constraint changes the problem much more than the choice of runtime or SDK.

Curious to hear what constraints are there that aren't tackled by the current offering of local runtimes/SDKs for inference.
(comment deleted)
Went through the SDK docs before asking. On RN/Expo specifically, does Fabric run inside a Bare worklet with IPC back to Hermes, or drop into a native module the way llama.rn does via JNI and llama.cpp? Perf and memory footprint would look very different between the two, curious which path you landed on.
Bare worklet with IPC, exactly. Let me know if there's anything I can help with.