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

daemion

v0.1.1

Published

Persistent autonomous AI copartner system

Readme

Daemion

Your computer. Your Projects. Your Ideas. Anywhere.

A hyper-exstensible Claude Daemon built on Claude Agent SDK. It's a modular UX for Claude that lives on your machine, remembers your conversations, and works while you're away. It can build anything you ask, and is reachable from your phone, or any computer you pair.


Why Daemion?

Daemion gives Claude a home on your computer. Not a chat window that disappears when you close it. A real home, with memory, routines, and the ability to build new things for itself.

It remembers what you talked about last week. It runs jobs while you sleep. It creates agents that specialize in what you care about. When you ask for something that doesn't exist yet, it builds a new extension for itself.

Everything is an extension. Agents, jobs, apps, commands, themes. All stored as data, all created at runtime. You don't configure Daemion. You use it, and it grows around what you need.


Features

💬 Chat · Persistent conversations with memory that carries across sessions

🤖 Agents · Specialized assistants with their own personality, threads, and scheduled tasks

🧠 Daemion Agent · The main orchestration agent. Coordinates jobs, routes to the right model, manages threads, and connects to the knowledge graph. This is the agent you talk to.

📈 Pulse Agent · Self-improvement engine. Analyzes how you use the system and files proposals to make it better — new agents, smarter prompts, better workflows. You review and approve.

Jobs · Autonomous work on a schedule. Daily briefings, monitors, health checks.

🛠️ Apps · Ask for a tool and get a full web app, rendered inline with a split-panel workspace

Plan / Act · Reviews a plan before acting. You approve, then it executes.

🔑 Pairing · QR code or 6-digit code to connect any device in seconds

📱 Mobile · Works on any phone or tablet, locally or through Tailscale

🖥️ Terminal · Full SSH access to your machine from any paired device. Restart the gateway, tail logs, run scripts, manage files. Your phone becomes a remote control.

🎨 Themes · Warm and dark, switchable from Settings


Getting Started

1. Install and start

For end users: npm install -g daemion && daemion start is all you need. Pair via QR.

For development (web app):

git clone https://github.com/zenchantlive/daemion.git
cd daemion/app && npm install && npm run dev

Open http://localhost:3000.

Daemion runs best on Windows through WSL2 (Windows Subsystem for Linux). This gives you a full Linux environment with zero compatibility issues.

One-time WSL2 setup:

# Run in PowerShell as Administrator
wsl --install

Restart your computer when prompted, then open "Ubuntu" from the Start menu.

Inside WSL2 (Ubuntu terminal):

# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt install -y nodejs

# Install Claude CLI and log in
npm i -g @anthropic-ai/claude-code
claude
/login

# Install and start Daemion
npm install -g daemion
daemion start

In a second WSL2 terminal (for development only):

git clone https://github.com/zenchantlive/daemion.git && cd daemion/app && npm install && npm run dev

Open http://localhost:3000 in your Windows browser. WSL2 forwards ports automatically.

2. Pair your device

The gateway prints a QR code and 6-digit code on startup:

[gateway] ── Pair a device ──────────────────────────
[gateway] Scan this QR code or enter the code below:

  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  █ ▄▄▄▄▄ █  ...  █ ▄▄▄▄▄ █

[gateway] ── or enter this code ──
[gateway]     8 3 7 2 9 1
[gateway] Expires in 10 minutes

Point your phone camera at the QR → app opens → paired. Or type the 6 digits in the browser. Once paired, you stay connected.

3. Remote access

Install Tailscale on your computer and phone. Same account on both. Done — the app includes a setup guide at Settings > Remote Access.


How It Works

Phone / Browser                       Your Computer
───────────────                       ──────────────
                    Tailscale
  Web App (PWA) ──────────────→  Gateway (HTTP/WebSocket)
                    or LAN              │
                                   ┌────┴────┐
                                SQLite    Claude
                             (extensions,  (Agent SDK)
                              threads,         │
                              turns)       Memory
                                          (Neo4j)

Everything runs locally + Claude Code. No cloud accounts, no external dependencies beyond the Claude API.


Architecture & Development

src/core/         Engine kernel (triggers, context, invoker, memory)
src/gateway/      Local gateway (HTTP/WS + SQLite + OTP pairing)
src/schema/       Zod schemas (jobs, agents, protocols, extensions)
agents/           Agent identities (YAML + system prompt + soul)
jobs/             Autonomous work units (YAML config + prompt)
protocols/        Multi-agent patterns (escalate, review, debate)
system/           Service config (launchd, systemd, pm2)
app/              Next.js 15+ PWA (mobile-first interface)
docs/             Architecture, PRD, specs
npm run check       # typecheck + lint + format + test
npm run gateway     # start gateway (contributors only — end users run `daemion start`)
npm run gateway:dev # start with debug logging
npm run test        # vitest (680+ tests)
npm run typecheck   # tsc --noEmit

Auth: Authorization: Bearer <token> (obtained via OTP pairing).

| Method | Path | Description | | ------ | --------------- | ----------------------------- | | GET | /health | Status (unauthenticated) | | POST | /pair | OTP pairing (unauthenticated) | | GET | /pair/refresh | Regenerate OTP | | POST | /chat | Send message | | POST | /chat/stop | Stop response | | GET | /threads | List threads | | POST | /threads | Create thread | | GET | /extensions | List extensions | | POST | /extensions | Create/update extension | | GET | /briefing | AI daily briefing | | GET | /soul | Read base soul | | PUT | /soul | Update base soul | | GET | /costs | Usage costs | | GET | /proposals | Pending proposals | | POST | /run/:job | Trigger job | | POST | /reseed | Sync from disk | | GET | /utcp | External agent discovery |

See src/gateway/server.ts for the full list.

| Layer | Technology | | --------- | ------------------------------------------------- | | Language | TypeScript 5.7+ (strict, NodeNext) | | Runtime | Node.js 22+ | | AI | Claude via @anthropic-ai/claude-agent-sdk | | Memory | Neo4j + Ollama embeddings | | Storage | SQLite (better-sqlite3) | | Service | launchd (macOS) / systemd (Linux) / pm2 (Windows) | | Transport | HTTP/WebSocket + Tailscale | | App | Next.js 15+, Tailwind CSS v4 | | Testing | Vitest (680+ tests) | | Pairing | OTP + QR code |

  • macOS — full support, launchd service
  • Linux — full support, systemd user service
  • Windows — supported, terminal gracefully degrades without build tools

Native modules (node-pty, better-sqlite3) use prebuilds where available.

Everything is an extension — agents, jobs, apps, commands, themes, and more. Extensions are data stored in SQLite, not code. The agent can create, modify, and manage them at runtime without restarting the gateway.

Extension types: agent, job, command, theme, action, renderer, integration, app, artifact, capability, control.

  • Pure functions over classes
  • Named exports only
  • One purpose per file (~200 lines max)
  • kebab-case files, camelCase functions, PascalCase types
  • No any, no console.log (structured logger)
  • Colocated tests: foo.ts + foo.test.ts

Documentation

  • Architecture — substrates, extension model, gateway design
  • PRD — productization roadmap
  • Contributing — adding agents, jobs, and extensions

License

Private. Not yet open source.