Skip to content
PluginStats

@qvac/ai-sdk-provider weekly downloads statistics

By qvac · npm · AI SDKs

Vercel AI SDK provider for the QVAC local AI runtime (chat, embeddings, transcription, translation, speech, OCR, image)

View on npm Stale · Oct 18, 2026

@qvac/ai-sdk-provider has 545 recorded weekly downloads on npm, an increase of 55.3% over the past 30 days, ranking #1573 of 2,391 tracked listings.

Weekly downloads
545
Official API · Oct 18, 2026
7-day growth
-62.3%
-899 weekly downloads
30-day growth
+55.3%
+194 weekly downloads
90-day growth
+451%
+446 weekly downloads
Rank
#1573
Among tracked npm listings

About @qvac/ai-sdk-provider

@qvac/ai-sdk-provider

Vercel AI SDK provider for the QVAC local AI runtime.

QVAC is an open-source, cross-platform ecosystem for local-first, peer-to-peer AI — LLMs, embeddings, transcription, translation, speech, OCR, and image generation, all running on the user's own hardware. This package implements the native provider contracts for language, embedding, image, file-reference, transcription, and speech operations against a local qvac serve --openai runtime. It also re-exports QVAC's model metadata so callers can introspect typed model constants without an HTTP round-trip.

The provider is OpenAI-compatible by construction: the OpenAI-compatible transport is its fallback provider, while the SDK's native custom-provider composition adds QVAC-specific files, transcription, and speech capabilities. Existing OpenAI-shaped chat, completion, embedding, and image requests keep the same wire protocol.

Runtime modes:

  • External (default): the package wraps a qvac serve --openai HTTP endpoint that you run yourself.
  • Managed (mode: 'managed'): the provider synthesizes an ephemeral config from a model list, then spawns (or reuses) a shared qvac serve on a free port and keeps it alive for as long as anything is using it, reaping it automatically once everyone is done. See Managed mode below. Requires the optional @qvac/cli peer dependency.

See the QVAC-19194 epic.


Install

bun add @qvac/ai-sdk-provider ai @ai-sdk/openai-compatible
# or: npm install @qvac/ai-sdk-provider ai @ai-sdk/openai-compatible

Runtime requirements:

  • Node.js 22 or newer. Node 20 is not supported.
  • AI SDK 7 (ai@^7) and OpenAI-compatible provider 3 (@ai-sdk/openai-compatible@^3).
  • Provider-v4 contracts. Custom middleware and direct model integrations must use the AI SDK v4 provider interfaces exposed by these versions.
  • ESM-only imports. Use import / dynamic import(); CommonJS require() is not supported.

ai and @ai-sdk/openai-compatible are peer dependencies — install those compatible major versions alongside the provider.


Quickstart

1. Run qvac serve --openai

You need @qvac/cli installed and a minimal config that preloads at least one chat model:

npm i -g @qvac/cli

cat > qvac.config.json <<'EOF'
{
  "serve": {
    "models": {
      "qwen3-600m": { "model": "QWEN3_600M_INST_Q4", "preload": true }
    }
  }
}
EOF

export QVAC_API_KEY='replace-with-a-random-secret'
qvac serve --openai --no-default --api-key "$QVAC_API_KEY"

By default, qvac serve listens on http://127.0.0.1:11434/v1 (the port may change in a future CLI release — see the Default base URL note below).

2. Use the provider
import { createQvac } from '@qvac/ai-sdk-provider'
import { streamText } from 'ai'

const qvac = createQvac({
  baseURL: 'http://127.0.0.1:11434/v1', // match your `qvac serve` port
  apiKey: process.env.QVAC_API_KEY // must match the serve's --api-key value
})

const { textStream } = streamText({
  model: qvac('qwen3-600m'),
  prompt: 'Write a haiku about local-first AI.'
})

for await (const chunk of textStream) {
  process.stdout.write(chunk)
}

The provider exposes the same surface as any AI SDK provider:

qvac('qwen3-600m') // language model (chat)
qvac.chatModel('qwen3-600m') // explicit chat model
qvac.completionModel('qwen3-600m') // legacy completion
qvac.textEmbeddingModel('embed-gemma') // text embeddings
qvac.imageModel('flux-schnell') // image generation
qvac.transcriptionModel('whisper') // speech to text
qvac.speechModel('tts') // text to speech
qvac.files() // local ephemeral file uploads
Local file references

uploadFile stores bytes in the running QVAC process and returns a qvac provider reference. Passing that reference to a QVAC language model resolves the bytes through the same local runtime immediately before inference. The reference never becomes a cloud URL and expires with QVAC's ephemeral file store.

import { readFileSync } from 'node:fs'
import { generateText, uploadFile } from 'ai'

const { providerReference } = await uploadFile({
  api: qvac,
  data: readFileSync('./sensor.png'),
  mediaType: 'image/png',
  filename: 'sensor.png'
})

const { text } = await generateText({
  model: qvac('vision'),
  messages: [
    {
      role: 'user',
      content: [
        { type: 'text', text: 'Read the sensor display.' },
        { type: 'file', mediaType: 'image/png', data: providerReference }
      ]
    }
  ]
})
Native speech and transcription

Speech operations use the provider's native model contracts while remaining entirely inside the local QVAC serve:

import { generateSpeech, transcribe } from 'ai'

const speech = await generateSpeech({
  model: qvac.speechModel('tts'),
  text: 'The sensor temperature is twenty four degrees.',
  voice: 'alloy',
  outputFormat: 'wav'
})

const transcript = await transcribe({
  model: qvac.transcriptionModel('stt'),
  audio: speech.audio.uint8Array,
  providerOptions: {
    qvac: { prompt: 'Sensor terminology' }
  }
})

Per-request transcription prompt is supported. Language is selected when the QVAC model is loaded, and speech speed, instructions, and language are not consumed by the current local engines; the provider returns structured warnings when callers supply those options.


Managed mode…

Description from the npm listing.

  • ai
  • ai-sdk
  • vercel-ai-sdk
  • openai-compatible
  • local-ai
  • on-device
  • offline
  • edge-ai
  • private-ai
  • qvac
  • tether
  • llm
  • embeddings
  • transcription
  • tts
  • ocr
  • image-generation
  • p2p
  • provider

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@qvac/ai-sdk-provider weekly downloads on npm, last 90 days: 545 weekly downloads as of Oct 18, 2026, +451% over 90 days.@qvac/ai-sdk-providerWeekly downloads on npm · Last 90 days545downloads / week+451% over 90 days02004006008001K1.2K1.4K1.6KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
@qvac/ai-sdk-provider weekly downloads on npm, last 90 days: 545 weekly downloads as of Oct 18, 2026, +451% over 90 days.

7/30/90-day growth

@qvac/ai-sdk-provider weekly downloads growth on npm: -62.3% over 7 days, +55.3% over 30 days, +451% over 90 days.@qvac/ai-sdk-providerWeekly downloads growth on npm545downloads / week now7-day growth-899 weekly downloads-62.3%30-day growth+194 weekly downloads+55.3%90-day growth+446 weekly downloads+451%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@qvac/ai-sdk-provider weekly downloads growth on npm: -62.3% over 7 days, +55.3% over 30 days, +451% over 90 days.

Ranking history

@qvac/ai-sdk-provider npm ranking history: currently #1573 (by weekly downloads).@qvac/ai-sdk-providernpm ranking · by weekly downloads · Last 90 days#1573current rank#1500#1510#1520#1530#1540#1550#1560#1570#1580Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 18, 2026 – Oct 21, 2026 · 4 observations · Updated Oct 18, 2026pluginstats.com
@qvac/ai-sdk-provider npm ranking history: currently #1573 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,195 shown · page 80, #17 (overall #1,597)
All npm: every listing in weekly downloads order

Listing placement

AI SDKs264 listings · 14 pages · page 9, #11 (overall #171)
AI SDKs: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (122)
Recent weekly downloads observations for @qvac/ai-sdk-provider
Date (UTC)Weekly downloadsChange vs. previous
545+60
485-168
653+56
597-261
858-252
1,1100
1,110-334
1,444+43
1,401+30
1,371-138
1,509+18
1,491+120
1,371-125
1,496—

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@qvac/ai-sdk-provider. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.