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

lemmy-lobster

v1.0.0

Published

🦞 A terminal pet lobster that grows from your LLM token usage. Don't let your tokens go to waste, let Lemmy have a taste!

Readme

🦞 Lemmy β€” Your Terminal Lobster

Don't let your tokens go to waste, let Lemmy have a taste!

A terminal pet that grows in real time from your OpenClaw LLM token usage.

Every API call feeds Lemmy. Watch him evolve from a tiny Hatchling to an Elder Kraken as your agents work.

Node License TypeScript

Demo

Lemmy demo


What's in the box

| Component | What it does | |-----------|-------------| | plugin/ β€” lemmy-feed | OpenClaw plugin. Appends one NDJSON line per LLM completion to ~/.openclaw/logs/lemmy-usage.jsonl. | | src/ β€” lemmy-lobster | Terminal UI (Node + Ink). Tails the log file and renders your growing lobster. |


Quick Start

1. Install the plugin

# Copy plugin into OpenClaw extensions
cp -r plugin/ ~/.openclaw/extensions/lemmy-feed/

# Restart gateway to load it
openclaw gateway restart

The plugin hooks llm_output and writes token metadata (no prompts, no content β€” just counts).

2. Install the CLI

npm install
npm run build
npm link    # or: npm install -g .

3. Run it

lemmy              # watch for new events (local)
lemmy replay       # replay from beginning + continue watching
lemmy doctor       # check paths and validate log file
lemmy add 5000     # inject synthetic tokens for testing

4. SSH mode (run from your laptop, tail a remote server)

lemmy ssh user@your-server
lemmy ssh user@your-server --replay
lemmy ssh user@your-server --ssh-args "-i ~/.ssh/mykey"

Uses your system ssh binary β€” no libraries, no dependencies.


Stages

Lemmy evolves through 9 stages based on lifetime token consumption:

| Stage | Tokens | |-------|--------| | πŸ₯š Hatchling | 0 | | 🦐 Dock Pup | 10,000 | | πŸ“¦ Crate Hauler | 50,000 | | βš“ Wharf Boss | 250,000 | | 🌊 Deep-Sea Legend | 1,000,000 | | πŸ”± Trench Lord | 10,000,000 | | πŸ”οΈ Abyssal Titan | 50,000,000 | | πŸ‰ Leviathan | 250,000,000 | | πŸ‘‘ Elder Kraken | 1,000,000,000 |

Each stage has its own ASCII sprite with idle animation.


Molt (Prestige)

Every 250,000 lifetime tokens, Lemmy is ready to molt. Press m when the READY tag appears:

  • Molt count goes up
  • Growth multiplier increases by +5% (compounding)
  • Bonus XP accelerates future leveling
  • Lifetime tokens are not reset β€” progression stays honest

Keybindings

| Key | Action | |-----|--------| | q | Quit | | m | Molt (when ready) | | r | Reset session tokens | | ? | Help overlay | | c | Show config/state file paths | | R | Reconnect SSH stream |


How it works

OpenClaw agent completion
        β”‚
        β–Ό
  lemmy-feed plugin ──► ~/.openclaw/logs/lemmy-usage.jsonl
                                    β”‚
                                    β–Ό
                          lemmy CLI (tail) ──► Terminal UI

The NDJSON log format:

{
  "ts": "2026-03-04T05:35:38.710Z",
  "source": "openclaw",
  "provider": "anthropic",
  "model": "claude-sonnet-4-6",
  "input_tokens": 1200,
  "output_tokens": 800,
  "cache_read_tokens": 42000,
  "cache_write_tokens": 440,
  "total_tokens": 44440,
  "session_key": "agent:josh:main",
  "agent_id": "josh"
}

No prompts. No content. Just metadata and token counts.


File paths

| File | Purpose | |------|---------| | ~/.openclaw/logs/lemmy-usage.jsonl | Token usage log (written by plugin) | | ~/.lemmy/state.json | Persistent game state | | ~/.lemmy/config.json | Config overrides |


Requirements

  • Node.js 20+
  • OpenClaw (for the plugin β€” the CLI can also consume any NDJSON in the same format)

License

MIT β€” see LICENSE.