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

@dotsetlabs/dotclaw

v2.6.2

Published

Personal OpenRouter-based assistant. Lightweight, secure, customizable.

Readme

DotClaw

Personal OpenRouter-based assistant for Telegram and Discord. Each request runs inside an isolated Docker container with long-term memory, scheduling, and tool governance.

Features

  • Multi-provider messaging (Telegram + Discord) with per-group isolation
  • Containerized agent runtime with strict mounts
  • Rich I/O tools (file/photo/voice/audio/location/contact/poll/buttons/edit/delete)
  • Incoming media ingestion to workspace (/workspace/group/inbox) for agent processing
  • Voice transcription and text-to-speech
  • Browser automation (Chromium in-container)
  • MCP server integration (stdio transport)
  • Lifecycle hooks (message, agent, task, memory events)
  • Real-time streaming responses with edit-in-place delivery
  • Long-term memory with embeddings and semantic search
  • Scheduled tasks (cron and one-off)
  • Tool policies and daily budgets
  • Plugin tools and Autotune optimization
  • Prometheus-compatible metrics and status dashboard

Prerequisites

  • Node.js 20+
  • Docker (running)
  • At least one provider token:
    • Telegram bot token (from @BotFather), or
    • Discord bot token
  • OpenRouter API key

Quick Start

# Clone and install
git clone <repo-url>
cd dotclaw
npm install

# Interactive setup (prompts for API keys, registers your main chat)
npm run bootstrap

# Build and start
npm run build
npm start

The bootstrap will create configuration in ~/.dotclaw/ and optionally build the Docker image.

CLI Commands

After installation, use the dotclaw CLI:

dotclaw setup        # Full setup (init + configure + build + install service)
dotclaw configure    # Re-configure API keys and model
dotclaw start        # Start the service
dotclaw stop         # Stop the service
dotclaw restart      # Restart the service
dotclaw logs         # View logs (add --follow to tail)
dotclaw status       # Show service status
dotclaw doctor       # Run diagnostics
dotclaw register     # Register a new chat (Telegram or Discord)
dotclaw unregister   # Remove a registered chat
dotclaw groups       # List registered chats
dotclaw build        # Build the Docker container image
dotclaw add-instance # Create and start an isolated instance
dotclaw instances    # List discovered instances
dotclaw install-service   # Install launchd/systemd service
dotclaw uninstall-service # Remove launchd/systemd service
dotclaw version      # Show installed version
dotclaw help         # Show help

Instance flags:

dotclaw status --id dev   # Run against a specific instance (~/.dotclaw-dev)
dotclaw restart --all     # Restart all instances

Configuration

All configuration and data is stored in ~/.dotclaw/:

~/.dotclaw/
  .env                    # Secrets (provider tokens, OpenRouter key, optional Brave/GH keys)
  config/
    runtime.json          # Runtime overrides
    model.json            # Model selection
    behavior.json         # Agent behavior tuning
    tool-policy.json      # Tool allow/deny rules
    tool-budgets.json     # Daily tool limits
  data/
    registered_groups.json
    store/                # SQLite databases
  groups/
    main/CLAUDE.md        # Main group memory
    global/CLAUDE.md      # Global memory
  logs/
  groups/<group>/logs/    # Per-group container logs

Mount allowlist (for additional container mounts) lives at:

~/.config/dotclaw/mount-allowlist.json

Documentation

Full documentation lives in docs/. View it locally:

npm run docs:dev

Or see:

  • Getting started: docs/getting-started/quickstart.md
  • Configuration: docs/configuration/index.md
  • Operations: docs/operations/index.md

Development

npm run dev          # Run from source (tsx)
npm run dev:up       # Full dev cycle: rebuild container + kill stale daemons + start dev
npm run dev:down     # Remove all running dotclaw agent containers
npm run build        # Compile TypeScript (host)
npm run build:all    # Build both host and container
npm run lint         # Run ESLint
npm test             # Run tests
dotclaw build        # Rebuild agent container (or: ./container/build.sh)

License

MIT