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

@embeddings-cpp/web

v0.1.0

Published

Browser-first Snowflake embedding client for embeddings.cpp

Downloads

119

Readme

@embeddings-cpp/web

Browser-first Snowflake embedding package for Snowflake/snowflake-arctic-embed-m-v2.0.

Current status:

  • browser only
  • one model only
  • normalized 768-dimensional output
  • runtime auto-selects stable single-thread wasm
  • explicit webgpu is experimental for Snowflake
  • model and runtime assets load from Hugging Face by default and reuse browser cache

Runtime status:

| Runtime | Status | Notes | |---|---|---| | wasm | Recommended default | Best current browser path for short Snowflake queries. | | webgpu | Experimental | The Snowflake custom ggml ops still fall back to CPU, so it can be slower until dedicated kernels land. | | pthread | Not exposed | The current pthread runner can block the browser page and needs a worker/proxy redesign before release. |

Repo example:

Minimal usage:

import { createSnowflakeEmbedder } from "@embeddings-cpp/web";

const embedder = await createSnowflakeEmbedder({
  // Optional. Defaults to the published Snowflake GGUF and browser assets on Hugging Face.
  cache: true,
});

const result = await embedder.embed("你好,世界");
console.log(result.vector.length); // 768
console.log(result.runtime);       // "wasm" | "webgpu"

await embedder.dispose();

Batch usage:

const results = await embedder.embedAll([
  "How do I reset my password?",
  "请帮我总结这个工单",
]);

Warm the browser cache before the first interactive request:

await embedder.prefetch();

The default assets are expected at:

https://huggingface.co/chux0519/snowflake-arctic-embed-m-v2.0-gguf-embeddings-cpp/resolve/main/browser/v0.1.0/

The repo workflow .github/workflows/upload-web-assets-to-hf.yml publishes that directory and writes web-assets.json alongside it.

Local smoke test:

python3 scripts/browser_wasm_bench_server.py --host 127.0.0.1 --port 18081 --root "$PWD"
npm install --no-save playwright
node scripts/smoke_web_package.mjs

Usable browser demo:

http://<host>:18081/packages/web/examples/demo.html

Mobile diagnostics page:

http://<host>:18081/packages/web/examples/mobile-diagnostics.html

Add ?autorun=1 to run one embedding request on load and emit a compact JSON report.

See docs/SNOWFLAKE_NPM_PACKAGE.md for the full design.