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

salchi

v0.0.38

Published

Minimal web GUI for coding agents.

Readme

Salchi

Salchi is a mobile-optimized web GUI for keeping up with coding-agent sessions from your phone, tablet, or desktop. It currently supports OpenAI/Codex, Claude, Cursor, and OpenCode, with more providers coming soon. Bring the AI subscriptions you already use; Salchi connects to your authenticated provider CLIs instead of reselling tokens.

Why Salchi?

Salchi focuses on mobile-first agent consumption:

  • A mobile-optimized PWA for checking in on coding-agent sessions, reading progress, and responding while away from your main machine.
  • A web agent GUI you can run from your own VPS or Mac, then access from your phone, tablet, or desktop while keeping the agent runtime on the machine with your projects.

That makes Salchi useful when you want:

  • Use your existing AI subscriptions for Codex, Claude, Cursor, or OpenCode instead of paying for a separate token bundle.
  • Private remote access through npx salchi, the desktop app, or Tailscale Serve without exposing your editor to the public internet.
  • One web surface for many providers, including Claude, OpenAI/Codex, Cursor, and OpenCode.
  • PWA push notifications for agent activity. On mobile, install Salchi to the Home Screen first so notifications can work.
  • Mobile-first PWA polish for coding-agent workflows that need to stay useful on small screens.

Installation

[!WARNING] Salchi currently supports OpenAI/Codex, Claude, Cursor, and OpenCode. Install and authenticate at least one provider before use:

  • OpenAI/Codex: install Codex CLI and run codex login
  • Claude: install Claude Code and run claude auth login
  • Cursor: install and authenticate the Cursor agent CLI
  • OpenCode: install OpenCode and run opencode auth login

Run without installing

npx salchi

Tailscale quick start on macOS

Use this when you want to run Salchi on your Mac and access it privately from your phone, tablet, or another computer. This uses Tailscale Serve, not Funnel, so the URL stays inside your tailnet.

  1. Create a Tailscale account at tailscale.com/start. This creates your private tailnet.
  2. Install Tailscale on the Mac that will run Salchi and on each device that should open it, then sign in to the same account on all devices.
  3. In the Tailscale DNS settings, keep MagicDNS enabled and enable HTTPS certificates.
  4. Install and authenticate at least one provider CLI from the warning above on the Mac.
  5. Open Terminal on the Mac, change into the project you want Salchi to manage, and confirm Tailscale is connected:
cd ~/projects/my-app
tailscale status
  1. Start a headless Salchi server and keep macOS awake while it is running:
caffeinate -ims npx salchi serve --tailscale-serve --port 4888

Salchi prints a pairing URL like:

https://your-mac.your-tailnet.ts.net/pair#token=...

Open that URL from another device signed into the same tailnet.

  1. Optional: To enable PWA push notifications, follow Tailscale Serve for PWA Push Notifications.

Use a non-default Tailscale HTTPS port with:

caffeinate -ims npx salchi serve \
  --tailscale-serve \
  --tailscale-serve-port 8443 \
  --port 4888

Stop the default Tailscale Serve route afterward with:

tailscale serve --https=443 off

If you used --tailscale-serve-port 8443, stop that route with tailscale serve --https=8443 off.

caffeinate keeps macOS awake while Salchi is running, but it will not reliably keep a Mac awake with the lid closed. Keep the lid open, or use clamshell mode with power connected and an external display, keyboard, and mouse.

Desktop app

Install the latest version of the desktop app from GitHub Releases.

Some notes

We are very very early in this project. Expect bugs.

We are not accepting contributions yet.

Observability guide: docs/observability.md

If you REALLY want to contribute still.... read this first

Before local development, prepare the environment and install dependencies:

# Optional: only needed if you use mise for dev tool management.
mise install
bun install .

Read CONTRIBUTING.md before opening an issue or PR.