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

@firstpick/pi-package-remote-webui

v0.1.2

Published

Pi /remote command that opens the existing Pi Web UI to a trusted LAN and shows a QR code for mobile.

Downloads

514

Readme

@firstpick/pi-package-remote-webui

Mobile connection helper for Pi coding agent.

This package adds a /remote slash command that reuses the existing @firstpick/pi-package-webui server/UI, opens it to a trusted local network, and shows a QR code in Pi so a phone can connect quickly.

Security: Pi Web UI can control the Web UI/Pi session. /remote asks whether to activate Remote PIN authentication before showing the QR code. Use /remote only on trusted local networks and close LAN access when done.

Install

pi install npm:@firstpick/pi-package-remote-webui

Restart Pi after installation so the /remote command is loaded. /remote expects @firstpick/pi-package-webui to be installed in the same Pi/npm environment or available from this checkout; install @firstpick/pi-package-webui first if Pi cannot locate pi-webui. The QR renderer (qrcode-terminal) is a runtime dependency of this Pi package and is installed with the package. For local checkout development, run npm install in this package directory instead of installing qrcode-terminal globally.

Usage

/remote

Default behavior:

  1. Reuse a running Pi Web UI on 127.0.0.1:31415, or start one for the current working directory.
  2. Ask whether to activate Remote PIN auth when it is currently off.
  3. Open the Web UI listener to the local network through the existing Web UI /api/network/open endpoint.
  4. Show a terminal QR code, the LAN URL, and the current Remote PIN auth state.
  5. Scan the QR code from your phone and use the normal Pi Web UI. If Remote PIN auth is enabled and the local server reports the PIN, the QR code opens an auth link that signs in automatically; the displayed PIN remains a manual fallback.

Commands

/remote
/remote status
/remote refresh
/remote close
/remote --port 31500
/remote --name mobile
/remote --yes

| Command | Behavior | |---|---| | /remote | Start/reuse Web UI, confirm LAN access, ask whether to activate Remote PIN auth, open LAN access, and show QR plus auth state. | | /remote status | Show Web UI online/network state, LAN URLs, and auth state. | | /remote refresh | Re-read current LAN URL/auth state and redraw the QR widget. | | /remote close | Close Web UI LAN exposure and clear the QR widget. | | /remote --port 31500 | Use another Web UI port. | | /remote --name mobile | Name the initial Web UI tab when this package starts the server. | | /remote --yes | Skip prompts and activate Remote PIN auth automatically before opening LAN access. |

Remote PIN auth

/remote checks the Web UI server's auth state before opening LAN access:

  • If Remote PIN auth is off, /remote asks whether to activate it.
  • /remote --yes treats the auth prompt as accepted and activates it automatically.
  • Enabling it generates a random 4-digit PIN.
  • Non-local browser clients must authenticate before reaching Web UI.
  • Localhost clients can always use the UI and toggle the setting.

The /remote QR widget shows Remote PIN auth: off or Remote PIN auth: on · PIN 1234 when the Web UI server reports it. When a PIN is available, the QR code targets /remote-auth#pin=1234 so the phone can authenticate automatically without typing the PIN; the fragment is scrubbed by the auth page before it posts to the server. You can also start Web UI with auth already enabled by using pi-webui --remote-auth or /webui-start --remote-auth from @firstpick/pi-package-webui.

Caveat

This package does not mirror the exact live TUI conversation into the phone. It connects mobile to the existing Pi Web UI package, which starts/uses Pi RPC tabs with the same Pi installation, working directory, settings, packages, and session storage.

Development

cd pi-package-remote-webui
npm test
npm run check

Network safety

/remote intentionally uses pi-package-webui's direct LAN mode instead of a reverse proxy, preserving Web UI's current localhost-vs-remote trust boundaries. Remote PIN auth remains an explicit Web UI Controls toggle and is a trusted-LAN convenience gate, not hardened multi-user authentication. Use /remote close when you are done.