Skip to content
PluginStats

@byokit/pair weekly downloads statistics

By byokit (10 listings) · npm · AI SDKs

TypeScript kits that let people sign in to your app with the AI plans they already pay for, on web, phone and desktop.

View on npm Fresh · Oct 26, 2026 · data Oct 22, 2026

@byokit/pair has 2,578 recorded weekly downloads on npm.

Weekly downloads
2,578
Official API · Oct 22, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
—
Among tracked npm listings

About @byokit/pair

<h1 align="center">@byokit/pair</h1> <p align="center"> <a href="https://www.npmjs.com/package/@byokit/pair"><img alt="npm" src="https://img.shields.io/npm/v/@byokit/pair?style=flat&label=npm" /></a> <a href="https://github.com/umeranjum17/byokit/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/umeranjum17/byokit/ci.yml?style=flat&branch=main" /></a> <a href="LICENSE"><img alt="Apache 2.0" src="https://img.shields.io/badge/license-Apache--2.0-666?style=flat" /></a> <img alt="Node | browsers | React Native" src="https://img.shields.io/badge/platform-Node%20%7C%20browsers%20%7C%20React%20Native-666?style=flat" /> </p> <p align="center"><strong>Scan a code to pair a phone or browser with the home computer.</strong><br/> One encrypted link between the two. The computer (the <strong>host</strong>) keeps every credential; a device holds only its own key and a grant, and asks the host to do things. For apps that reach a person's own computer from their phone or browser.</p>

This package was published as @byokit/link up to 0.8.x. @byokit/link still re-exports it unchanged through 0.8.x and is removed in 0.9.0; new installs use @byokit/pair.

<p align="center"> <img src="https://raw.githubusercontent.com/umeranjum17/byokit/main/docs/images/herdr-kit-host.png" width="420" alt="A terminal running npm start -- --herdr &quot;$(command -v herdr)&quot; --via lan --name 'Kitchen computer', showing a large pairing QR code, then: On the phone, scan this, or open http://192.168.1.144:7310/ and type K3J8-CJZ7-SE4R. Codes last five minutes. Press Enter for new ones. Connecting to Herdr… Connected to Herdr. (stand-in Herdr)" /> <img src="https://raw.githubusercontent.com/umeranjum17/byokit/main/examples/herdr-kit/docs/2-compare.png" width="240" alt="A phone page titled Agents, under Pair this phone: Check your computer shows these two words, then say yes there. The words are coast comet." /> </p> <p align="center"><sub>Left: the host terminal of <a href="https://github.com/umeranjum17/byokit/tree/main/examples/herdr-kit">examples/herdr-kit</a> (<code>npm start -- --herdr "$(command -v herdr)" --via lan --name 'Kitchen computer'</code>, pictured against the kit's stand-in Herdr, <code>BYOKIT_EXAMPLE_FAKE=1</code>) showing the QR and the typed code. Right: the phone in the same example showing the two words to compare.</sub></p>

Noise IK over WebSocket (noise-handshake + libsodium; frames sealed by @noble/ciphers), in Node, browsers/PWAs and React Native. The main entry has no listener, files or environment access: the app hands the host its sockets and stores. Threat model and review checklist: SECURITY.md.

Host policy and streams are available; relay routing is in @byokit/relay.

Install

npm install @byokit/pair

npm · Latest release · All releases

Quickstart

npm install @byokit/pair ws

ws is only the WebSocket server for this example; any server works. A host and a device in one file, on loopback:

import { WebSocketServer } from 'ws';
import { DeviceLink, Host, keyPair, pairWithOffer } from '@byokit/pair';

// The computer: it keeps the credentials and answers requests.
const host = await Host.open({
  keys: keyPair(),                       // keep it with hostKeyFile() from '@byokit/pair/node' in a real app
  name: 'Kitchen computer',
  confirm: ({ name, words }) => { console.log(`host: pair ${name}? it shows "${words}"`); return true; },
  handle: (req, device) => ({ echo: req.args, from: device.name }),
});
const wss = new WebSocketServer({ host: '127.0.0.1', port: 7300 });
wss.on('connection', (ws) => host.accept(ws));

// The offer is what the QR code shows.
const { text } = host.compactOffer({ role: 'control', urls: ['ws://127.0.0.1:7300/link'] });

// The phone or browser: scan, compare the words, then ask.
const grant = await pairWithOffer(text, { name: 'Pixel 9', onWords: (w) => console.log(`device: check "${w}"`) });
const link = new DeviceLink(grant, { onStatus: (s) => console.log(`device: ${s}`) });
console.log('answer:', await link.request('say.hello', { text: 'hi' }));

link.stop(); host.close(); wss.close();

Output (the two words differ on every run):

device: check "rose oak"
host: pair Pixel 9? it shows "rose oak"
device: online
answer: { echo: { text: 'hi' }, from: 'Pixel 9' }

API at a glance…

Description from the npm listing.

  • typescript
  • ai
  • ai-sdk
  • react-native
  • web
  • privacy

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

@byokit/pair weekly downloads on npm, last 90 days: 2,578 weekly downloads as of Oct 22, 2026.@byokit/pairWeekly downloads on npm · Last 90 days2,578downloads / week2.3K2.4K2.5K2.6K2.7K2.8K2.9KJul 24Aug 8Aug 23Sep 7Sep 22Oct 7Oct 22downloads / weekOct 22, 2026 – Oct 22, 2026 · 1 observations · Updated Oct 22, 2026pluginstats.com
@byokit/pair weekly downloads on npm, last 90 days: 2,578 weekly downloads as of Oct 22, 2026.

7/30/90-day growth

@byokit/pair weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.@byokit/pairWeekly downloads growth on npm2,578downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 22, 2026pluginstats.com
@byokit/pair weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@byokit/pair has no ranking history on npm yet.@byokit/pairnpm ranking · by weekly downloads · Last 90 daysNo ranking observations in this periodno observations · 0 observations · Updated Oct 22, 2026pluginstats.com
@byokit/pair has no ranking history on npm yet.

Listing placement

All npm2,577 listings · 129 pages · 1,290 shown · page 71, #10 (overall #1,410)
All npm: every listing in weekly downloads order

Listing placement

AI SDKs284 listings · 15 pages · page 6, #2 (overall #102)
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 (1)
Recent weekly downloads observations for @byokit/pair
Date (UTC)Weekly downloadsChange vs. previous
2,578—

Similar npm AI SDKs plugins

All 20 @byokit/pair alternatives

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/@byokit/pair. First seen Oct 26, 2026; last successful collection Oct 26, 2026. See the methodology.