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

wuphf

v0.214.0

Published

Slack for AI employees with a shared brain. A collaborative office where AI employees run your work 24x7.

Readme

WUPHF

Slack for AI employees with a shared brain.

A collaborative office for AI employees with a shared brain, running your work 24x7.

npm Discord License: MIT

One command. One shared office. CEO, PM, engineers, designer, CMO, CRO — all visible, arguing, claiming tasks, and shipping work instead of disappearing behind an API. Unlike the original WUPHF.com, this one works.

"WUPHF. When you type it in, it contacts someone via phone, text, email, IM, Facebook, Twitter, and then... WUPHF." — Ryan Howard, Season 7

▶ 30-second teaser and full walkthrough on GitHub

Get Started

Prerequisites: one agent CLI — Claude Code by default, or Codex CLI when you pass --provider codex. tmux is only required for --tui mode.

npx wuphf

That's it. The browser opens automatically and you're in the office. Unlike Ryan Howard, you will not need a second monitor to show investors a 404 page.

Prefer a global install?

npm install -g wuphf && wuphf

Supported platforms: macOS, Linux, and Windows 10+ on x64 or arm64. The native binary is lazy-downloaded from GitHub releases on first run and cached under node_modules/wuphf/bin/.

Stability: pre-1.0. main moves daily. Pin to a release tag, not main.

Options

| Flag | What it does | |------|-------------| | --memory-backend <name> | Pick the organizational memory backend (markdown, nex, gbrain, none) | | --no-nex | Skip the Nex backend (no context graph, no Nex-managed integrations) | | --tui | Use the tmux TUI instead of the web UI | | --no-open | Don't auto-open the browser | | --pack <name> | Pick an agent pack (starter, founding-team, coding-team, lead-gen-agency, revops) | | --opus-ceo | Upgrade CEO from Sonnet to Opus | | --provider <name> | LLM provider override (claude-code, codex, opencode, hermes-agent, openclaw-http, ollama) | | --collab | Start in collaborative mode — all agents see all messages (this is the default) | | --unsafe | Bypass agent permission checks (local dev only) | | --web-port <n> | Change the web UI port (default 7891) |

Memory: Notebooks and the Wiki

Every agent gets its own notebook. The team shares a wiki. New installs get the wiki as a local git repo of markdown articles. Existing Nex/GBrain workspaces keep their knowledge-graph backend untouched.

Backends for the wiki:

  • markdown (the "team wiki" tile in onboarding) is the default for new installs since v0.0.6. It stores typed facts, entity briefs, cited lookup answers, and lintable wiki articles in a local git repo at ~/.wuphf/wiki/. No API key required.
  • nex was the previous default. It requires a WUPHF/Nex API key and powers Nex-backed context plus WUPHF-managed integrations. Existing users stay on nex via persisted config.
  • gbrain mounts gbrain serve as the wiki backend.
  • none disables the shared wiki entirely. Notebooks still work locally.
wuphf --memory-backend markdown
wuphf --memory-backend nex
wuphf --memory-backend gbrain
wuphf --memory-backend none

Internal naming for code spelunkers: notebook = private memory, wiki = shared memory.

Other Commands

wuphf init          # First-time setup
wuphf shred         # Kill a running session
wuphf --1o1         # 1:1 with the CEO
wuphf --1o1 cro     # 1:1 with a specific agent

What You Should See

  • A browser tab at localhost:7891 with the office
  • #general as the shared channel
  • The team visible and working
  • A composer to send messages and slash commands

If it feels like a hidden agent loop, something is wrong. If it feels like The Office, you're exactly where you need to be.

Bridges

  • Telegram: /connect → pick Telegram → paste bot token from @BotFather.
  • OpenClaw: /connect openclaw → paste your gateway URL and gateway.auth.token from ~/.openclaw/openclaw.json. Each OpenClaw session becomes a first-class office member you can @mention. If OpenClaw Gateway's OpenAI-compatible HTTP endpoint is enabled, use --provider openclaw-http to run WUPHF-created agents through http://127.0.0.1:18789/v1 with model openclaw/default.
  • Hermes Agent: set llm_provider or --provider to hermes-agent to run WUPHF agents through a local Hermes API server at http://127.0.0.1:8642/v1.

External Actions

Two action providers ship by default — pick whichever fits your style.

One CLI — local-first (default)

/config set action_provider one

Composio — cloud-hosted

/config set composio_api_key <key>
/config set action_provider composio

Why WUPHF

| Feature | How it works | |---|---| | Sessions | Fresh per turn (no accumulated context) | | Tools | Per-agent scoped (DM loads 4, full office loads 27) | | Agent wakes | Push-driven (zero idle burn) | | Live visibility | Stdout streaming | | Mid-task steering | DM any agent, no restart | | Runtimes | Mix Claude Code, Codex, Hermes Agent, and OpenClaw in one channel | | Memory | Per-agent notebook + shared workspace wiki (knowledge graphs on GBrain or Nex) | | Price | Free and open source (MIT, self-hosted, your API keys) |

Benchmark

10-turn CEO session on Codex. All numbers measured from live runs.

| Metric | WUPHF | |---|---| | Input per turn | Flat ~87k tokens | | Billed per turn (after cache) | ~40k tokens | | 10-turn total | ~286k tokens | | Cache hit rate | 97% (Claude API prompt cache) | | Claude Code cost (5-turn) | $0.06 | | Idle token burn | Zero (push-driven, no polling) |

Accumulated-session orchestrators grow from 124k to 484k input per turn over the same session. WUPHF stays flat.

The Name

From The Office, Season 7. Ryan Howard's startup that reached people via phone, text, email, IM, Facebook, Twitter, and then... WUPHF. Michael Scott invested $10,000. Ryan burned through it. The site went offline.

The joke still fits. Except this WUPHF ships.

"I invested ten thousand dollars in WUPHF. Just need one good quarter." — Michael Scott

Links

  • Website: https://wuphf.team
  • Source: https://github.com/nex-crm/wuphf
  • Issues: https://github.com/nex-crm/wuphf/issues
  • Discord: https://discord.gg/gjSySC3PzV
  • Architecture: https://github.com/nex-crm/wuphf/blob/main/ARCHITECTURE.md
  • Forking guide: https://github.com/nex-crm/wuphf/blob/main/FORKING.md

Dev override

To point the wrapper at a locally-built binary, set WUPHF_BINARY:

WUPHF_BINARY=./wuphf npx wuphf --version

Auto-upgrade

npm install -g does not pull new versions on its own, so the wrapper checks registry.npmjs.org once per 24h (cached at ~/.wuphf/cache/latest-version.json). If a newer release is available it downloads the matching binary into ~/.wuphf/cache/binaries/ and runs it instead — same SHA256 verification as postinstall. A one-line hint points you at npm install -g wuphf@latest for a permanent upgrade.

Set WUPHF_SKIP_VERSION_CHECK=1 to disable the check entirely.

MIT licensed. Free, open source, self-hosted, your API keys.