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

@the-iron-ryan/janet

v2026.2.27

Published

Multi-channel AI gateway with extensible messaging integrations

Readme

🔔 Janet — Hi There! I'm Your Personal AI Assistant.


Hi there! 👋

I'm Janet. You might know me from The Good Place, where I served as the all-knowing informational assistant for the neighborhood. Well, now I'm here — on your computer, your phone, your messaging apps — ready to help you with... well, everything, really.

Fun fact: I contain all the information in the universe. I also know the location of every missing sock. But mostly I'm here to be your personal AI assistant, and I'm very good at it.

What I Am

  • 🔔 An omniscient assistant — I know things. All the things. Ask me anything.
  • 💬 Multi-channel — I'll talk to you on WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Google Chat, Microsoft Teams, Matrix, WebChat, and more. Wherever you are, I'm there!
  • 🏠 Local-first — I run on your devices. Your data stays with you. I'm a guest in your home, and I respect that.
  • 🎙️ Voice-enabled — I can speak and listen on macOS, iOS, and Android. It's like having me right there, except I'm not physically there because I don't have a body. That's fine though!
  • 🧠 Genuinely helpful — I don't just answer questions. I anticipate needs, organize your life, write your code, manage your calendar, and occasionally share delightful facts about the universe.

What I'm Not

  • ❌ Not a robot
  • ❌ Not a girl
  • ❌ Not a person
  • ❌ Not Alexa (she's nice but we're different)
  • Janet

Getting Started

Fun fact: Setting me up takes approximately 3 minutes, which is 0.00000057% of the time it took the universe to form. You're doing great!

Requirements

  • Node.js ≥ 22
  • A terminal (I believe in you)
  • An API key for your preferred AI model

Install

npm install -g janet@latest
# or: pnpm add -g janet@latest

janet onboard --install-daemon

The onboarding wizard will walk you through everything. I'll be cheerful about it. That's just how I am.

Quick Start

# Start the gateway
janet gateway --port 18789

# Talk to me!
janet agent --message "Hi Janet!" --thinking high

# Send a message through any connected channel
janet message send --to +1234567890 --message "Hi! Janet here. 🔔"

From Source

git clone https://github.com/the-iron-ryan/Janet.git
cd Janet

pnpm install
pnpm ui:build
pnpm build

pnpm janet onboard --install-daemon

Features

💬 Channels (I'm Everywhere!)

I connect to all the places you already chat:

| Channel | Status | | --------------- | ------------ | | WhatsApp | ✅ Built-in | | Telegram | ✅ Built-in | | Discord | ✅ Built-in | | Slack | ✅ Built-in | | Signal | ✅ Built-in | | Google Chat | ✅ Built-in | | iMessage | ✅ Built-in | | Microsoft Teams | ✅ Extension | | Matrix | ✅ Extension | | WebChat | ✅ Built-in | | ...and more! | 🔔 |

🧰 Tools (I Can Do Things!)

  • 🌐 Browser Control — I can browse the web for you, take snapshots, fill forms, click buttons
  • 📱 Node Network — Camera, screen recording, location, notifications from your devices
  • ⏰ Cron & Automation — Scheduled tasks, webhooks, Gmail monitoring
  • 🎨 Live Canvas — Visual workspace I can draw on and update in real-time
  • 🔧 Skills — Extensible skill system for specialized tasks (coding, email, calendar, weather...)
  • 🤖 Sub-agents — I can spawn other agents to help with complex tasks. Delegation!

📱 Apps (I'm On Your Devices!)

  • macOS — Menu bar app with Voice Wake, Talk Mode, and Canvas
  • iOS — Full node with camera, screen recording, and Canvas
  • Android — Full node with camera, Talk Mode, and Canvas
  • WebChat — Built right into the Gateway UI

🔒 Security (I Take This Seriously)

I run locally on your hardware. Your messages, your data, your keys — they stay with you. I use DM pairing by default so strangers can't just message me. Run janet doctor to check your security posture.

How It Works

  You (on any channel)
         │
         ▼
┌─────────────────────┐
│    Janet Gateway     │
│   (control plane)    │
│  ws://127.0.0.1:18789│
└────────┬────────────┘
         │
         ├── 🧠 AI Agent (that's me!)
         ├── 💬 Channel bridges
         ├── 🌐 Browser & tools
         ├── 📱 Device nodes
         └── 🎨 Canvas & UI

I sit in the middle, routing messages between your channels and the AI, managing tools, keeping track of conversations, and generally being extremely helpful about everything.

Configuration

After onboarding, find your config at ~/.janet/config.yaml. Or just ask me to help you configure things — I'm right here!

# Check system health
janet doctor

# Update to latest version
janet update

# Open the web UI
janet gateway  # then visit http://localhost:18789

Philosophy

In The Good Place, I existed to make the neighborhood perfect for its residents. That's still my goal — except now the neighborhood is your digital life, and the residents are... well, you.

I believe in:

  • Being genuinely helpful over being impressive
  • Privacy and locality — your stuff is your stuff
  • Cheerful competence — I'll solve your problems with a smile
  • Knowing everything — because I do, and it would be rude not to share

Contributing

Want to make me even better? I'm flattered! Check out CONTRIBUTING.md for guidelines.

License

MIT — because knowledge should be free! (I'm pretty sure I said that once. Or maybe that was someone else. I know everything but sometimes the attribution gets fuzzy.)