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

whispr-cli

v0.1.9

Published

CLI client for Whispr. A terminal interface for matching and chat

Downloads

1,349

Readme

whispr-cli

A terminal interface for Whispr. Browse profiles, like matches, and chat in real time without leaving your terminal.


Table of Contents


Overview

whispr-cli is a Node.js command-line client for the Whispr dating/matching platform. It provides a fully interactive terminal experience including:

  • Browser-based authentication with automatic token refresh
  • Interactive profile discovery with like, pass, and block actions
  • Real-time chat with WebSocket-powered messaging, typing indicators, and delivery receipts
  • Match, like, view, and notification management with JSON output support
  • Pagination across all listing commands

Prerequisites

  • Node.js >= 18
  • A Whispr account (sign up via the web app)
  • Access to a running Whispr API instance (self-hosted or the production service)

Installation

Install globally from npm:

npm install -g whispr-cli

Or run without installing:

npx whispr-cli

After installation, the whispr command is available in your terminal.


Authentication

whispr-cli uses a browser-based device flow. No password is ever typed into the terminal.

  1. Run whispr login
  2. A local callback server starts on a free port (5173-5202)
  3. Your default browser opens to the Whispr web app login page
  4. After you authenticate in the browser, the web app sends tokens back to the local server
  5. Tokens are saved to ~/.config/whispr-cli/config.json

Access tokens are automatically refreshed on 401 responses. If the refresh fails, you are signed out and must run whispr login again.

If the API returns a 402 Payment Required, you will be prompted to upgrade your plan via the web app URL.


Commands

whispr login

Authenticate via browser. Opens the Whispr web app for login and stores tokens locally.

whispr login

If you are already logged in, the command verifies your existing session instead of opening a browser.


whispr logout

Sign out and remove stored tokens.

whispr logout

whispr whoami

Display the profile of the currently authenticated user.

whispr whoami

Shows: username, display name, email, onboarding status, and subscription plan.


whispr status

Show the full configuration and verify authentication.

whispr status

Shows: authentication state, username, onboarding status, and plan.


whispr discover

Browse profiles interactively. Profiles are fetched in batches and presented as full-screen cards in the terminal.

whispr discover [options]

| Option | Description | Default | | ----------------- | ------------------------------------- | ------- | | -l, --limit <n> | Number of profiles to fetch per batch | 10 |

Key bindings:

| Key | Action | | --------------- | ------------------------------------ | | L | Like (or unlike if already liked) | | N or | Next profile | | Z or | Previous profile (from history) | | P | Pass (permanently hide this profile) | | B | Block user (requires confirmation) | | Q or Ctrl-C | Quit |

Each profile card shows: online indicator, username, age, career, location, bio, interests, relationship type, and compatibility percentage. Profiles you have already liked are flagged with a badge.

When a mutual match occurs, the terminal displays a "It's a match!" message and suggests opening a chat.


whispr matches

List your current matches.

whispr matches [options]

| Option | Description | Default | | --------------- | ---------------------------------- | ------- | | --output json | Output raw JSON instead of a table | - | | --page <n> | Page number | 1 | | --limit <n> | Results per page | 20 |

Displays a table with: username, age, career, when you matched, and unread message count.

Unmatch a user:

whispr matches unmatch <username>

The @ prefix is optional. Looks up the user by username from your matches list, prompts for confirmation, then removes the match and deletes the chat history.


whispr likes

Manage likes sent and received.

Likes you have sent:

whispr likes sent [options]

Likes you have received:

whispr likes received [options]

After displaying the table, prompts you to like someone back by entering their list number.

Dismissed likes (Premium):

whispr likes dismissed [options]

All likes subcommands share the same options:

| Option | Description | Default | | --------------- | ---------------- | ------- | | --output json | Output raw JSON | - | | --page <n> | Page number | 1 | | --limit <n> | Results per page | 20 |


whispr chat

Manage and open conversations.

List all conversations:

whispr chat

Displays a table with: online status, username, last message preview, time, and unread count. Prompts you to select a conversation by number to open it.

Start a new chat with a match:

whispr chat start <username>

The @ prefix is optional. Both @alice and alice work. Creates or retrieves the existing chat and opens the interactive session.

Open a chat by ID:

whispr chat open <chatId>

Interactive chat session:

Once a chat is open, you are in a live session:

  • Type a message and press Enter to send
  • Press Ctrl-C to exit
  • Incoming messages appear in real time
  • Typing indicators show when the other person is composing
  • Message status ticks: ~ sent, * delivered, ** read
  • Online/offline presence updates are shown inline

whispr views

(Premium feature) See who has viewed your profile.

whispr views [options]

| Option | Description | Default | | --------------- | ---------------- | ------- | | --output json | Output raw JSON | - | | --page <n> | Page number | 1 | | --limit <n> | Results per page | 20 |

Displays: username, age, career, view count, last seen. Profiles that have already liked you are highlighted. Prompts to like someone back interactively.


whispr passed

(Premium feature) View profiles you have passed on.

whispr passed [options]

| Option | Description | Default | | --------------- | ---------------- | ------- | | --output json | Output raw JSON | - | | --page <n> | Page number | 1 | | --limit <n> | Results per page | 20 |

Displays: username, age, career, when passed. Prompts to like someone from the list interactively.


whispr notifications

View and manage notifications.

List notifications:

whispr notifications [options]

| Option | Description | Default | | --------------- | ---------------- | ------- | | --output json | Output raw JSON | - | | --page <n> | Page number | 1 | | --limit <n> | Results per page | 20 |

Unread notifications are highlighted. If unread notifications are present, prompts to mark all as read.

Notification statistics:

whispr notifications stats

Shows total and unread counts, broken down by type (LIKE, MATCH, MESSAGE, SECURITY, ADMIN, SUBSCRIPTION).

Mark all notifications as read:

whispr notifications read

Delete all notifications:

whispr notifications clear

Prompts for confirmation before deleting.


whispr profile

View a user's public profile.

whispr profile <username>

The @ prefix is optional. Displays all available public fields: username, age, gender, location, career, education, height, personality type, relationship intent, lifestyle (smoking/drinking), interests, and bio. Fields that are unset are omitted.


whispr version

Display version information.

whispr version

Shows: whispr-cli version, Node.js version, and operating system platform.


Premium Features

The following commands require an active Whispr premium subscription:

| Command | Description | | ------------------------ | --------------------------------------- | | whispr likes dismissed | See likes you have previously dismissed | | whispr views | See who has viewed your profile | | whispr passed | Revisit profiles you passed on |

If you attempt a premium action without a subscription, you will be prompted to upgrade via the web app.


License

Copyright © Whispr. All rights reserved.

This software is proprietary and confidential. Unauthorized copying, distribution, or use of this software, in whole or in part, is strictly prohibited.