npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

woolball-client

v0.1.52

Published

Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing

Readme

woolball-client 🧶

npm Quality Gate Status

Turn any open tab into an AI compute node

woolball-client establishes a connection between a user's browser and a running woolball-server instance. It utilizes WebSocket to receive job requests, executes the specified model locally using WebGPU or WASM, and transmits the outcome back to the server in real-time.

⚠️ Important: Before using this library, make sure you have the woolball-server running

AI Tasks

| Provider | Task | Models | Status | |----------|------|--------|--------| | Transformers.js | Speech-to-Text | ONNX Models | ✅ Implemented | | Transformers.js | Text-to-Speech | ONNX Models | ✅ Implemented | | Kokoro.js | Text-to-Speech | ONNX Models | ✅ Implemented | | Transformers.js | Translation | ONNX Models | ✅ Implemented | | Prompt API | Translation | Gemini Nano | 🧪 Experimental | | Transformers.js | Text-Generation | ONNX Models | ✅ Implemented | | WebLLM | Text Generation | MLC Models | ✅ Implemented | | MediaPipe | Text Generation | LiteRT Models | ✅ Implemented | | Prompt API | Text Generation | Gemini Nano | 🧪 Experimental | | Transformers.js | Image-Text-to-Text | ONNX Models | ⚠️ Partial | | Prompt API | Image-Text-to-Text | Gemini Nano | 🧪 Experimental |

Browser API Tasks

| API | Task | Description | Status | |-----|------|-------------|--------| | Canvas API | Character-to-Image | Converts a character to an image | ✅ Implemented | | Canvas API | HTML-to-Image | Converts HTML content to an image | ✅ Implemented |

Quick Start

  1. Install the package:
npm install woolball-client
  1. Import and use in your code:
import Woolball from 'woolball-client';

// Initialize with a client ID
const woolball = new Woolball('your-client-id', 'ws.server.com'); // ws://localhost:9003 by default

// Listen for task events

Usage Options

Web Application

See the usage directory for a complete React-based web application example that demonstrates how to integrate the Woolball client into a web application.

Chrome Extension

A Chrome extension is available in the chrome-extension directory, allowing users to contribute their browser's computing resources to a Woolball server while browsing.

To build and use the Chrome extension:

# Build the Woolball client library
npm run build:all

# Install extension dependencies
cd chrome-extension
npm install

# Build the extension
npm run build

Then load the extension in Chrome from the chrome-extension/dist directory.

Demo Pages

Simple demo pages are available in the demo directory:

# Serve the demo pages
npm run serve:demo

Development

# Install dependencies
npm install

# Build the library
npm run build:all

# Run tests
npm test

# Run end-to-end tests
npm run test:e2e

License

This project is licensed under the MPL-2.0 License - see the LICENSE file for details.