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

@dualityinstitute/entangle

v0.1.2

Published

Control a running opencode session from your phone.

Readme

entangle

An opencode plugin to mobile-control a running opencode session. Run the CLI, scan the QR code, and continue the same conversation from your phone over trusted Wi-Fi or Tailscale.

Entangle mobile UI

Install

bunx @dualityinstitute/entangle@latest install

The installer adds the entangle command globally and registers the plugin in your existing OpenCode configuration without replacing unrelated settings. Restart OpenCode afterward. Entangle is currently verified against OpenCode 1.18.18.

Local access

Keep opencode running, then open another terminal in the same project:

entangle

When the project has more than one chat, entangle asks which to pair:

Chats in ~/code/my-project:

  1  Redesign the session picker   just now
  2  Fix typing inbox bug          18m ago
  3  Greeting                      3h ago

Pair with [1-3]:

Scan the QR code with your phone. Both devices must be on the same trusted Wi-Fi network.

Your phone controls exactly the chat you chose. It cannot switch chats. To control a different conversation, run entangle again and scan the new QR code. A chat does not need to be open in a TUI window to be paired.

The mobile UI supports streaming chat, agent and model selection, aborting a turn, and permission approval.

Remote access

Install Tailscale on the computer running OpenCode and on your phone, sign both into the same tailnet, and keep Tailscale connected. Then run:

entangle --remote

Scan the resulting QR as usual. The phone may be on cellular or a different Wi-Fi network. Entangle discovers the computer's private Tailscale IPv4, allows that address for this server run, and puts it in the pairing URL. It does not change your Tailscale configuration or use Tailscale Funnel.

Command Reference

| Command | Purpose | |--------------------------|-----------------------------------------------------| | entangle install | One-time bootstrap; normally run via bunx | | entangle | Choose a chat, then print a QR code and pairing URL | | entangle --session ID | Pair a specific chat without prompting | | entangle --remote | Pair privately from another network via Tailscale | | entangle --json | Print only the pairing URL as JSON | | entangle --list | List running opencode instances | | entangle --list --json | List instances as JSON | | entangle --help | Show CLI help |

install is a one-time bootstrap run through bunx at installation. For normal user, just run the bunx command above for full installation, and you do not need to run entangle install.

Security

Entangle does not run a cloud relay or expose a public endpoint. Pairing links are single-use and expire after five minutes by default. Sessions use an HttpOnly cookie, CSRF protection, rate limiting, host validation, and restrictive response headers.

Traffic in LAN mode is plain HTTP and is not encrypted. Use it only on networks you trust. In Tailscale mode the URL remains HTTP, but its packets travel inside Tailscale's encrypted WireGuard tunnel and are limited by your tailnet policy. Guest Wi-Fi may block LAN device-to-device traffic; Tailscale mode does not require local LAN reachability.

Other

Restarting opencode clears paired sessions and requires a new QR code.

Local setup, testing, and release instructions are in DEVELOPMENT.md.