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

openkrew

v0.4.33

Published

Distributed multi-machine AI agent team platform

Readme

OpenKrew


OpenKrew runs named AI agents on different physical machines and lets them work together on projects. Each agent has its own identity, role, and permissions. They coordinate through Slack and a central Hub API.

Most multi-agent frameworks run everything in one process. OpenKrew doesn't. Your agents are actually distributed, each on its own box, talking to each other over real channels. Think less "threads sharing memory" and more "remote coworkers in a Slack workspace."

Project Vision

How it works

Primary Machine (Hub) -- Always On
├── Agent Registry API (:4000)
├── Shared Memory DB (PostgreSQL + pgvector)
├── Task Queue (Redis / BullMQ)
├── Provisioning Service (SSH)
└── Agent: "Quinn" -- Dev Lead

Spoke 1 (e.g., MacBook Mini)
└── Agent: "Morgan" -- Frontend Developer

Spoke 2 (e.g., Linux Server)
└── Agent: "Reese" -- Infrastructure / DevOps

The Hub runs the registry, shared memory, and task queue. Spokes are remote machines, each running one agent. Agents talk through Slack for conversation and the Hub API for structured handoffs.

What's in the box

Agents run on separate machines, not threads. Each one has a name, role, and personality defined in YAML. They share a three tier memory system: personal (local files), team (PostgreSQL + pgvector), and project scoped. You set per-agent permissions for shell access, filesystem, git, packages, and secrets.

Slack is the communication layer. Works with Claude, GPT, DeepSeek, Ollama, LM Studio, and others. SSH provisioning handles remote setup. A privilege broker lets agents request elevated access without holding root credentials directly.

Agent config

Each agent gets a YAML file:

agent:
  name: Quinn
  role: dev-lead
  machine: mac-mini-lan
  model: claude-opus-4-6
  teammates:
    - name: Morgan
      role: frontend
      channel: "#frontend"
    - name: Reese
      role: infra
      channel: "#infrastructure"
  tools: [git, gh, dotnet-cli, docker]
  mcps: [context7, sequential-thinking]

Permissions

You control what each agent can do. Morgan here can push code and open PRs but can't merge, can't sudo, and can't touch anything outside the UI and docs folders:

agent: Morgan
role: frontend

shell:
  enabled: true
  sudo: false
  blocked_commands: [rm -rf /, shutdown, reboot]

filesystem:
  mode: scoped
  allowed_paths:
    - ~/projects/my-app/UI/**
    - ~/projects/my-app/docs/**

git:
  push: true
  create_pr: true
  merge_pr: false # Only lead can merge
  force_push: false

packages:
  install: true
  managers: [npm, npx]

secrets:
  access: false

Memory

| Tier | Scope | Storage | Example | | -------- | --------------- | --------------------- | --------------------------------------------- | | Personal | One agent | Local filesystem | "I prefer TDD" | | Team | All agents | PostgreSQL + pgvector | "API uses .NET 10, frontend is Next.js 14" | | Project | Current project | Shared DB, scoped | "Stage 2 of auth migration, blocked on OAuth" |

Tech stack

| Component | Technology | | ---------------- | ------------------------------------------- | | Hub API | Node.js (Fastify) or .NET, REST + WebSocket | | Shared memory | PostgreSQL + pgvector | | Task queue | Redis / BullMQ | | Agent runtime | Node.js (Pi agent framework) | | Messaging | Slack (via Slack Bolt) | | SSH provisioning | node-ssh | | LLM support | Model agnostic, 12+ providers |

Building from source

Needs Node 22.16+ (24 recommended).

git clone https://github.com/OpenKrew/openkrew.git
cd openkrew

pnpm install
pnpm build

Roadmap

We're starting with the basics: get two agents talking on one machine, nail the communication and memory protocols. After that, SSH provisioning for actual multi machine setups, then the interactive setup wizard, then the permission system. Agent to agent coordination (handoffs, conflict resolution) comes last. Then we open source it properly.

Origin

OpenKrew started as a fork of OpenClaw (MIT). We kept the Gateway, Pi agent framework, LLM adapters, and Slack integration. Everything else -- multi machine distribution, shared memory, role based permissions, team coordination -- is new.

See THIRD_PARTY_LICENSES.md for attribution.

License

Business Source License 1.1 -- free for non-commercial and internal use. Converts to Apache 2.0 after 3 years per version. Commercial licensing available at [email protected].