openkrew
v0.4.33
Published
Distributed multi-machine AI agent team platform
Maintainers
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."
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 / DevOpsThe 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: falseMemory
| 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 buildRoadmap
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].
