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

@ucin-studio/desktop

v0.1.0

Published

UCIN Creator Studio — the local desktop agent bridging creative professionals to the UCIN V5 Control Plane.

Readme

UCIN Creator Studio

The local desktop agent that bridges creative professionals to the UCIN V5 Control Plane. It watches local catalogs, extracts tiny proxies, encrypts them on-device (Zero-Trust), uploads ciphertext, deploys jobs to the dual-tier routing engine, and syncs results back into the user's workflow — making a decentralized GPU network feel like a local supercomputer.

Install (studio clients)

No installer to download, no security warnings, no certificate required — because npm places the files (a browser never "downloads" them), Windows SmartScreen and macOS Gatekeeper never fire.

One-time: install Node.js (LTS) from https://nodejs.org — a normal signed installer.

Then, launch any time:

npx @ucin-studio/desktop@latest

That single command fetches the app and opens the window. (Optional: npm install -g @ucin-studio/desktop once, then just run ucin-studio.) The first run downloads the runtime, so give it a minute on a good connection. Sign in with your UCIN account when the window opens.

Publishing (maintainers)

The package ships the prebuilt out/ bundle + the bin/ launcher only (see files). prepack rebuilds before packing, so a publish always contains a fresh build.

# 1. Create the npm org/scope "ucin-studio" once at npmjs.com (Settings → Organizations),
#    then: npm login
# 2. Bake the PRODUCTION Control Plane URL into the build (NOT localhost):
CONTROL_PLANE_URL=https://api.ucin.network npm publish     # prepack builds, then publishes public

publishConfig.access is public, so the scoped package publishes publicly without extra flags. Bump version per release; clients on @latest pick it up on next launch.

Stack

Electron · Vite · React 19 · TypeScript · TailwindCSS, built with electron-vite.

Architecture

Three trust zones, one shared type contract:

| Zone | Path | Responsibility | |------|------|----------------| | Main (Node, full OS) | src/main | All I/O, crypto, file-watching, worker threads, Control-Plane HTTP. The entire agent backend. | | Preload (bridge) | src/preload | The only crossing. Exposes window.ucin under contextIsolation. | | Renderer (sandboxed UI) | src/renderer | React presentation. No Node, no network, no keys. | | Shared | src/shared | Types imported by every zone — the IPC contract + API mirror. |

The Zero-Trust pipeline (PipelineService)

detect → preprocess (proxies) → encrypt (AES-256-GCM) → upload (ciphertext)
       → estimate → scan → audit → deploy → watch telemetry → sync results
  • Keys never leave Main. KeyVaultService mints AES-256 keys, stores them wrapped by the OS keychain (safeStorage), and hands the Renderer only opaque keyRef handles.
  • Plaintext never persists in the cloud. CryptoService streams proxies through GCM in a worker thread; only ciphertext is uploaded. Data keys are RSA-OAEP wrapped for the GPU enclave at dispatch time and scrubbed afterward.
  • Non-blocking. Proxy extraction (proxy-extractor.worker), encryption (encrypt.worker), and LoRA zipping (zip-assets.worker) all run off the Main event loop.

The UI is a truth-teller

Every wait-time, SCU, and price comes from backend telemetry: JobPoller forwards JobStatusResponse on the configured cadence, and ProgressMeter renders real byte fractions. There are no synthetic loading bars.

Type sync

Frontend types are generated from the live FastAPI OpenAPI schema:

CONTROL_PLANE_URL=http://localhost:8000 npm run gen:api

src/shared/types/api.ts re-exports the generated schemas and intersects the hand-authored narrow unions from domain.ts (the backend widens Literal/pattern fields to string). Until the first codegen pass, api.ts carries faithful hand-written mirrors so the project builds offline.

Prerequisites

  • Node 20+
  • ffmpeg on PATH — used by the pre-processor for proxy/Smart-Preview extraction.
  • The V5 Control Plane running (default http://localhost:8000).

Scripts

npm install
npm run dev         # electron-vite dev (HMR renderer + main/preload watch)
npm run typecheck   # tsc over node + web project references
npm run build       # typecheck + bundle
npm run build:win   # package a Windows installer (needs resources/icon.ico)
npm run gen:api     # regenerate types from the Control Plane OpenAPI schema

Packaging targets expect icons under resources/ (icon.ico / icon.icns / icon.png) and a mac entitlements plist. They are not needed for dev, typecheck, or build.