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

sidebud

v0.8.0

Published

Sidebud companion: talk to the agents on your computer from your phone.

Readme

Sidebud

Talk to the agents on your computer from your phone. Sidebud's companion runs on your computer: it holds your keys, runs your agents, and connects your phone.

Start

npx sidebud

The first start opens setup in your browser:

  1. Get the phone app — scan the code, or open sidebud.app/download on your phone.
  2. Choose who does the work — Claude Code, Codex, OpenCode, Cursor, or Grok, already installed and signed in on this computer. Setup runs a short test prompt.
  3. Choose a voice — Gemini Live, OpenAI Realtime, or Grok Voice, with your own API key. Setup checks that the voice can hand requests to your agent.
  4. Add integrations — T3 Agents, Obsidian, Calendar, Gmail, and more.
  5. Pair your phone — scan the pairing code with the app.

Keep the companion running while you use the app. Run npx sidebud setup or npx sidebud manage from another terminal to reopen the page.

Start at login (macOS)

To keep Sidebud running without a terminal window, install it and add the login item:

npm i -g sidebud
sidebud service install

This writes a per-user launchd agent (~/Library/LaunchAgents/app.sidebud.companion.plist) that starts Sidebud now and whenever you log in, and starts it again if it crashes. Logs go to ~/.remote-voice-agent/logs/companion.log. Quit a companion running in a terminal first; service install refuses while one is running. Setup offers the same option as its last step.

| Command | What it does | | --------------------------- | ------------------------------------------------------------------- | | sidebud service install | Starts Sidebud now and at every login; run again to reload it | | sidebud service status | Whether the login item is installed and running, and its log file | | sidebud service restart | Restarts it, for example after an update | | sidebud service uninstall | Stops Sidebud and removes the login item |

The login item runs the Node.js that installed it. After switching Node versions (for example with nvm), run npm i -g sidebud and sidebud service install again.

Updates

Once a day Sidebud asks npm for the latest version. When there is one, the management page shows Update available. Now and then during a call, Sidebud asks whether to update now or tonight while you sleep.

Sidebud updates itself when you say so: answer the call (now, when you're done, or tonight), or use Update now, When idle, or Tonight on the page. It installs the new version and restarts. It waits for the call and any running agent work unless you say now, and your paired phones, account, and settings carry over. Sidebud never updates without you asking. To turn the check off, set "updates": { "check": false } in ~/.remote-voice-agent/config.json.

Uninstall

sidebud uninstall
npm uninstall -g sidebud

sidebud uninstall lists what it will remove, stops Sidebud and removes the login item, then asks before deleting your data folder (~/.remote-voice-agent: settings, conversations, tasks, paired phones, widget packs, and logs) and Sidebud's keychain items (service remote-voice-agent). sidebud uninstall --yes deletes everything listed without asking.

Requirements

  • Node.js 22.13 or newer.
  • macOS is the supported platform today; keys are kept in the login keychain. On other systems keys are stored in an owner-only file under ~/.remote-voice-agent.
  • Your phone must reach this computer on the same network or over Tailscale.

Privacy

Provider keys, account tokens, and agent work stay on this computer. The management page listens on 127.0.0.1 only and requires a token from this computer.

Crash reports are off unless you turn them on (Settings → Crash reports, or the last step of Setup). When on, an error that stops Sidebud is sent to Sidebud with its stack trace and version. Prompts, transcripts, audio, messages, keys, tokens, and emails are removed first, and your home folder is hidden in file paths. Turn the switch off at any time and nothing more is sent.

Run npx sidebud help for every command.