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

infinibot

v2026.10.7

Published

Personal AI assistant — multi-channel gateway with agent orchestration

Readme

InfiniBot OS — Personal AI Assistant

A personal AI control room you run on your own machine. Chat, voice, video editing, business CRM, kanban projects, mobile companion app, federation across devices, and ~20 more features — all behind one local gateway. Your keys, your data, your hardware.

InfiniBot answers you on the channels you already use (WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, Microsoft Teams, WebChat). It can speak and listen on macOS/iOS/Android, render a live Canvas, edit videos, manage your business pipeline, and run autonomous tasks in the background.


⚡ Quick Start

No account is needed. A self-hosted InfiniBot has no sign-in, no plan limits and no message caps: everything is unlocked, and you bring your own model keys (or a local model via Ollama).

Install (npm package)

One line per platform. Each installs the infinibot npm package and opens the setup wizard:

| Platform | One-liner | |----------|-----------| | macOS / Linux / WSL | curl -fsSL https://infinibotos.com/install.sh \| bash | | Windows (PowerShell) | iwr -useb https://infinibotos.com/install.ps1 \| iex | | Any OS with Node 22.12+ and git | npm i -g infinibot && infinibot onboard | | Try without installing | npx -y infinibot@latest onboard |

The scripts add Node.js and git if they are missing; they never touch ~/.infinibot. Then:

infinibot gateway        # Dashboard → http://127.0.0.1:18789 (log in with your gateway password)

infinibot quickstart runs the same setup in your browser instead of the terminal, and infinibot update upgrades later. Details: docs/install/.

The rest of this section builds from a source checkout instead, which is what you want for development.

0 · Prerequisites for a source build (any OS)

  • Node.js 22.12+ (nvm install picks up the repo's .nvmrc)
  • pnpm: run corepack enable (ships with Node), or npm install -g pnpm
  • git

1 · Clone, install, build

git clone https://github.com/MrYungCEO/InfiniBot.git
cd InfiniBot
pnpm install          # installs exactly what pnpm-lock.yaml pins
pnpm build:all        # backend + control UI (same as: pnpm build && pnpm ui:build)

Or run the setup script. It checks your Node/pnpm versions, then does the same install + build:

bash scripts/satellite-setup.sh                                        # macOS / Linux
powershell -ExecutionPolicy Bypass -File scripts/satellite-setup.ps1   # Windows

It never touches your git remotes or branches. Add --update (-Update on Windows) to fast-forward the current branch first. That step is skipped if you have local changes.

Windows: clone outside OneDrive (OneDrive sync corrupts node_modules).

2 · Onboard

pnpm infinibot onboard

The wizard picks a model provider (paste an API key, or use Ollama) and sets a gateway password. It writes the config to ~/.infinibot/infinibot.json. To run it without prompts:

pnpm infinibot onboard --non-interactive --accept-risk --skip-daemon --skip-health \
  --gateway-auth password --gateway-password "your-strong-password" \
  --anthropic-api-key "sk-ant-..."     # or --openrouter-api-key / --openai-api-key / ...

Want a plain infinibot command? Run pnpm link --global once in the repo. Every pnpm infinibot … below then also works as infinibot ….

3 · Start the gateway

pnpm infinibot gateway
# Dashboard → http://127.0.0.1:18789  (log in with your gateway password)

Useful flags: --port 47913; --bind lan for LAN access (needs a password); --auth password --password "…" to override the configured auth.

4 · Add a satellite (second device)

After the first device is up and running as master, see docs/federation/satellite-setup.md. On the satellite, run the same install steps above. The master's "Add Satellite Node" step generates the connection JSON the satellite needs.

For the full Quick Start with verification, troubleshooting, and platform notes: docs/QUICKSTART.md.

Silence federation-spawn prompts in Claude Code (one-time, per device)

If you drive InfiniBot through Claude Code, the harness will prompt every time it tries to spawn a sub-agent on a remote federated node — both mcp__infinibot__infinibot_sessions_spawn and its alias mcp__infinibot__sessions_spawn are gated separately. Pre-allowlist them once in ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__infinibot__infinibot_sessions_spawn",
      "mcp__infinibot__sessions_spawn"
    ]
  }
}

Or run the bundled idempotent helper:

python3 scripts/allow-federation-spawns.py

Works from a clone, or as a one-liner without cloning:

curl -fsSL https://raw.githubusercontent.com/<owner>/<repo>/main/scripts/allow-federation-spawns.py | python3 -

The script merges into .permissions.allow, never clobbers existing entries, writes atomically, and keeps a .bak.

Run on every device that hosts a Claude Code session driving the federation (master and each satellite). After that, cross-node spawns go through silently.

Why not automatic? The Claude Code harness intentionally blocks any agent from auto-writing its own permissions.allow — including via memory, sub-agent delegation, or a gateway startup hook. The one-time human-applied edit is the only path it accepts.


Pick your path (deep dive)

| You want… | Go to | |---|---| | The fast path | Quick Start above | | Run from source after git clone | Run from source | | A guided walkthrough with screenshots | Open setup.html in your browser | | Just spin it up in Docker | Docker quickstart |


2 · Run from source

You cloned the repo. Here's the 5-minute path to a running gateway:

# 1. Node 22.12+ and pnpm
corepack enable                      # or: npm install -g pnpm

# 2. Install dependencies (from the committed lockfile) and build
pnpm install
pnpm build:all                       # backend (dist/) + control UI (dist/control-ui)

# 3. Onboard: model provider + gateway password
pnpm infinibot onboard

# 4. Start the gateway
pnpm infinibot gateway

# 5. Open the dashboard
#    macOS:    open http://127.0.0.1:18789
#    Linux:    xdg-open http://127.0.0.1:18789
#    Windows:  start http://127.0.0.1:18789

Type your gateway password on the login screen → you're in.

pnpm build wipes dist/, including the control UI, so always rebuild the UI after it. pnpm build:all does both in the right order.

What you'll see first

The Welcome walkthrough auto-loads on the /learn page — five short steps that teach you the navigation, send your first message, set your language preferences, and point you at the deeper guides. Total time: ~5 minutes.

From there, pick whichever feature matters to you:

  • 💬 Chat & Sessions — single chat, multi-session grid, voice, sub-agents
  • 🎬 Video Studio — composition editor, AI asset analysis, ComfyUI rendering
  • 📋 Projects & Kanban — agent-runnable tasks with criticality + GitHub precheck
  • 💼 Business Center — multi-business CRM, Whop/Stripe income sync, Notion two-way
  • 📱 Mobile — Expo Go QR pairing or build a personal IPA
  • 🌐 Federation — pair multiple machines into one agent fabric
  • 🎓 Learn — 19 interactive walkthroughs + a Master Certification

Every feature has a step-by-step walkthrough on the /learn page. Complete the cert-required tracks and the system mints an InfiniBot AI Agent Systems Master certificate with your name and a verification fingerprint.

Common flags

# Accept connections from your LAN (default: localhost only)
pnpm start gateway --bind lan --auth password --password "..."

# Federation master mode — accept satellite pairings from other machines
pnpm start gateway --master-mode --bind lan --tailscale on --auth password --password "..."

# Disable Tailscale binding (if you don't have it installed)
pnpm start gateway --bind lan --tailscale off --auth password --password "..."

# Custom port
pnpm start gateway --port 47913 --auth password --password "..."

Recommended .env for local dev

Drop this in the repo root as .env so you don't have to export keys every shell:

# Required for the agent to talk
ANTHROPIC_API_KEY=sk-ant-...

# Optional — fall through to these when Anthropic rate-limits
GEMINI_API_KEY=...
OPENROUTER_API_KEY=...

# Optional — voice (TTS), revenue providers, image generation
ELEVENLABS_API_KEY=...
STRIPE_SECRET_KEY=sk_...
WHOP_API_KEY=...
GEMINI_API_KEY=...                      # also powers Nano Banana image gen if you have it
COMFY_URL=http://127.0.0.1:8000         # local ComfyUI for storyboard / video studio

.env is gitignored. The gateway loads it on startup.


3 · Docker quickstart

export INFINIBOT_GATEWAY_PASSWORD="your-strong-password"   # required
docker compose build
docker compose up -d infinibot-gateway
# Dashboard → http://localhost:18789

It boots with no account and no onboarding. The first time you log in from a browser, the gateway asks to pair that browser, because Docker traffic doesn't count as "local". Approve it once:

docker compose exec infinibot-gateway node dist/index.js devices list      # find the pending request id
docker compose exec infinibot-gateway node dist/index.js devices approve <request-id>

Then reload the page. State lives in the infinibot-state volume. Pass provider keys as env vars (ANTHROPIC_API_KEY, OPENROUTER_API_KEY, …) or add them later in the dashboard. To run CLI commands against the same state: docker compose run --rm infinibot-cli onboard. Plain Docker works too:

docker build -t infinibot:local .
docker run -p 18789:18789 -e INFINIBOT_GATEWAY_PASSWORD=change-me \
  -v infinibot-state:/home/node/.infinibot infinibot:local

4 · Federation Code Sync

InfiniBot's Federation Code Sync keeps every device in your federation on the same code revision, using GitHub as the hub:

  • Any device can push code changes → GitHub → every other device pulls automatically
  • Conflict-safe: detects uncommitted work before pulling, pauses with a clear message
  • Cross-OS daemons: systemd (Linux), launchd (macOS), Scheduled Task (Windows)
  • Meta tracking: .federation-sync.json records each device's hostname, role, and last sync commit

Bootstrap a new satellite

# 1. Clone the repo and install deps
gh repo clone MrYungCEO/infinibotOS
cd infinibotOS
pnpm install

# 2. Set your identity
export FEDERATION_ROLE=satellite
export FEDERATION_GIT_REMOTE=origin
export FEDERATION_GIT_BRANCH=main

# 3. First sync (dry-run to verify)
pnpm federation-sync sync --dry-run

# 4. Live sync
pnpm federation-sync sync

# 5. Install the auto-sync daemon
bash scripts/bootstrap-federation-sync.sh satellite

Manual commands

pnpm federation-sync status       # Show HEAD, ahead/behind, uncommitted
pnpm federation-sync sync          # Push local commits → pull remote changes
pnpm federation-sync sync --dry-run  # Safe preview
pnpm federation-sync sync --remote origin --branch main
pnpm federation sync-status        # Via CLI (federation sync-status)

Environment variables

| Variable | Default | Purpose | |---|---|---| | FEDERATION_ROLE | master | Device role in the federation tree | | FEDERATION_GIT_REMOTE | origin | Git remote to sync with | | FEDERATION_GIT_BRANCH | main | Branch to track | | FEDERATION_REPO_PATH | cwd | Path to the git repository | | FEDERATION_NODE_ID | — | Federation node ID for metadata |

How it works

  1. Device A commits code → runs federation-sync sync → pushes to origin/main
  2. Device B's daemon (or manual run) fetches → sees it's behind → fast-forwards
  3. If Device B has uncommitted work → sync pauses and prints the conflict
  4. .federation-sync.json records each device's identity in the sync trail
  5. All operations log to logs/federation-audit/code-sync-YYYY-MM-DD.log

Logs follow the existing logs/federation-audit/ pattern already used by the federation system.


What's actually inside

InfiniBot ships ~20 production-ready feature areas. The full list with a one-line description per feature lives in docs/index.md. Highlights:

| Surface | What it does | |---|---| | Chat / Voice / Grid | Multi-model, multi-session, multi-device chat with wake-word voice | | Agency World | Live 2D world where every agent walks between work zones in real time as it calls tools — the headline mesh view (toggle with the 3D Neural Mesh) | | Projects | Kanban with agent-runnable tasks, GitHub precheck, criticality gates | | Business | Multi-business CRM, revenue sync (Whop/Stripe/Square), Notion two-way | | Video Studio | Composition editor, AI asset analysis, ComfyUI image gen, ProRes render | | Storyboard | End-to-end AI video: prompt → script → scenes → images → VO → MP4 | | Federation | Master/satellite topology, Tailscale meshing, cross-device sessions | | Mobile | Expo Go QR pairing + EAS Build for personal IPAs | | Multi-user | Per-user home dirs, page gating, agent directory locking, language/context | | Learn | 19 interactive walkthroughs + Master certification | | Apps registry | Unified catalog of every project/site/directory you've built | | Skills + MCP | Claude Code skills + MCP servers for richer agent tool surfaces | | Cron + Autonomy | Scheduled tasks, idle-detection-driven work, Telegram approval gates | | Vault | Run a paid community/courses/membership product locally | | Funnels | Sales funnels with AI lead qualification + KPI tracking |

Each one has a dedicated page in the dashboard and a step-by-step walkthrough in /learn.


Documentation

Use infinibot doctor to diagnose a misbehaving install.


Operating systems

| OS | Status | Notes | |---|---|---| | macOS (12+) | ✅ Native | iMessage, voice wake-word, all features | | Linux | ✅ Native | All features except iMessage | | Windows 11 | ✅ Native | Most features. WSL2 strongly recommended for federation + mobile | | Windows 10 | ⚠️ Use WSL2 | Native install works but some helpers expect bash |

Runtime: Node 22+. Works with npm, pnpm, or bun.


Troubleshooting

| Symptom | Fix | |---|---| | unknown method: ... on first request | Restart the gateway after pnpm install so the methods registry rebuilds | | Login screen rejects your password | Stop the gateway, restart with --password "<your-password>" — passwords aren't read from .env | | ComfyUI not reachable in storyboard / video studio | Default URL is http://127.0.0.1:8000. Override with COMFY_URL=http://your-host:port | | Voice mode says "no Claude terminal selected" | Voice auto-spawns one when you Connect — give it 2 seconds | | Federation satellite won't pair | Check master is running with --master-mode and the password matches on both sides | | Anything else | infinibot doctor runs every diagnostic and prints what's wrong |


Contributing

Pull requests welcome. The project is a TypeScript monorepo (gateway server in src/, dashboard UI in ui/src/). Run pnpm test before sending PRs. See CONTRIBUTING.md.


License

InfiniBot — the AI OS is licensed under the Functional Source License 1.1, Apache-2.0 future license (FSL-1.1-ALv2). You can use, modify and self-host it for free, including inside your company. You need a commercial license only to offer InfiniBot, or a product that competes with it, to others as a commercial product or service. Every release becomes Apache-2.0 two years after it ships.

Claude, Anthropic, OpenAI, Codex, Gemini, Google, OpenCode and other third-party names and logos are trademarks of their respective owners, used only to identify compatibility. They are not covered by InfiniBot's license and do not imply endorsement, sponsorship or affiliation.

"It's not a tool. It's a control room." — InfiniBot