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

@openscout/web

v0.2.64

Published

Standalone lightweight Scout web UI with its own bundled Bun server

Readme

@openscout/web

Published package that ships a lightweight standalone Scout web UI: pairing QR, current activity, inbox, and direct messaging. The package builds and ships its own Bun server plus bundled static client assets.

Requirements

Install

npm i -g @openscout/web
# or
bun add -g @openscout/web

Run

openscout-web
openscout-web --port 8080 --cwd /path/to/workspace
openscout-web --public-origin https://scout.my-mac.local
openscout-web --help

Then open the URL printed in the terminal (default port 3200).

The Bun/Hono application server derives scout.<machine>.local as its default LAN-facing name. When placing Caddy in front of it, set --public-origin https://scout.<machine>.local (or OPENSCOUT_WEB_PUBLIC_ORIGIN) so API requests from the proxied browser origin are trusted intentionally.

vs @openscout/scout

| | @openscout/scout | @openscout/web | |---|-------------------|------------------| | Command | scout (full CLI + bundled current web UI) | openscout-web (standalone Bun server + bundled client) | | Static UI | Vendored next to main.mjs in the CLI package | This package’s dist/client | | Server | CLI wrapper around the web package | Web-package-owned | | Broker / setup | Yes (scout setup, etc.) | Uses the same broker/runtime data, but does not boot through the CLI |

Build (maintainers)

From the repo root:

npm --prefix packages/web run build

This builds:

  • dist/client/ via Vite
  • dist/openscout-web-server.mjs via bun build
  • dist/pair-supervisor.mjs for the pairing runtime
  • dist/openscout-terminal-relay.mjs for the Node-hosted PTY relay

When Hudson updates the relay session runtime, refresh the vendored fallback with:

bun --cwd packages/web relay:sync

Local dev (UI only)

Run the standalone web server and the Vite client together:

bun --cwd packages/web dev

bun dev prefers the standard Scout ports in the main checkout and worktree-specific port bands in extra git worktrees. If a preferred port is already taken, it increments until it finds an open one.

If you need to run them separately:

bun --cwd packages/web dev:client
OPENSCOUT_WEB_VITE_URL=http://127.0.0.1:5180 bun --cwd packages/web dev:server

Dev routing

The public route table stays small and explicit:

  • /api/* is the Bun API surface
  • /api/health is the canonical health endpoint
  • /ws/terminal is the terminal/takeover WebSocket
  • /ws/hmr is the Vite hot-reload WebSocket in dev
  • everything else is client traffic

In the installed package, Bun serves the bundled static client directly. In source/dev mode, Bun remains the public server but forwards client asset requests and /ws/hmr to Vite.

For a local edge proxy, keep Bun as the application server and reverse-proxy to it:

https://scout.my-mac.local {
  tls internal
  reverse_proxy 127.0.0.1:PORT_NUMBER
}

Use the port number the Bun app server is listening on. The default is 3200, or the value passed with --port / OPENSCOUT_WEB_PORT.

Cleanup

bun dev records each run under .openscout/dev/web, and cleanup uses that state first before falling back to a small Scout-only port sweep around the standard dev ports.

To clear stale Scout dev listeners:

bun run dev:cleanup:ports