← Back to Plugins
Tools

Mkclaw Team

banglade-cyber By banglade-cyber 👁 45 views ▲ 0 votes

MkClaw Team transforms a single OpenClaw agent into a multi-agent project team

GitHub

Install

npm install

#

Configuration Example

{
  "plugins": {
    "mkclaw-team": {
      "enabled": true
    }
  }
}

README

# MkClaw Team Plugin

> Multi-agent team orchestration plugin for [OpenClaw](https://openclaw.io) gateway. Build, manage, and execute collaborative AI team projects with lifecycle management, task orchestration, and enterprise observability.

[![Version](https://img.shields.io/badge/version-2026.6.4-blue.svg)](https://github.com/mkclaw-team/releases)
[![OpenClaw SDK](https://img.shields.io/badge/OpenClaw%20SDK-%3E%3D2026.3.28-green.svg)](https://openclaw.io)
[![License](https://img.shields.io/badge/license-MIT-yellow.svg)](LICENSE)

---

## What It Does

MkClaw Team transforms a single OpenClaw agent into a **multi-agent project team**. Instead of one AI working alone, you get:

- A **Manager Agent** that plans, coordinates, and validates work
- Multiple **Worker Agents** that execute specialized tasks in parallel
- Built-in **task orchestration** with dependencies, status tracking, and handoffs
- **Team memory** that accumulates experience across projects
- **Enterprise observability** via OpenTelemetry traces and metrics

```mermaid
flowchart TD
    U["User Request"] --> M["Main Agent"]
    M --> PB["Project Builder"]
    M --> TM["Team Management"]
    M --> EL["Engagement Lifecycle"]
    PB --> G["OpenClaw Gateway"]
    TM --> G
    EL --> G
    G --> P["MkClaw Team Plugin"]
    P --> T["Tools 26+"]
    P --> R["RPC Methods"]
    P --> S["Services"]
    T --> A["Manager Agent"]
    R --> A
    S --> A
    A --> W1["Worker 1"]
    A --> WN["Worker N"]
```

---

## Core Concepts

| Concept | Description |
|---------|-------------|
| **Team (工作室)** | A long-lived group of agents with shared memory, skills, and identity. Reusable across multiple projects. |
| **Engagement (任务)** | A single project task assigned to a Team. Has a lifecycle: `pending` → `planning` → `in_progress` → `archived`. |
| **Manager Agent** | The team coordinator. Plans tasks, assigns work, monitors progress, resolves blockers. |
| **Worker Agent** | Executes assigned tasks, reports progress, delivers outputs. |
| **Team Memory** | Accumulated experience from past engagements. Injected into new projects for context. |

---

## Features

### 🏗️ Project Lifecycle Management
- Create teams with 3-6 specialized agents
- Assign roles with structured "soul" descriptions
- Manage team members (add, remove, replace with handoff)
- Team memory persists across projects

### 📋 Task Orchestration
- Batch task creation with dependencies
- Status tracking: `Pending` → `Dispatched` → `InProgress` → `Success/Block/Failed`
- Inter-agent messaging for coordination
- Timeout detection and escalation

### 🔧 Agent Tools (26+)
- Task management: create, update, list, feedback
- Project operations: status, output, member management
- Memory: search and update team memories
- Messaging: inter-agent communication

### 📡 Gateway RPC API
- Full project lifecycle control
- Member and engagement management
- Expert template system
- Cross-team collaboration

### 🔍 Enterprise Observability
- OpenTelemetry traces and metrics
- Structured logging with multiple streams
- Configurable log exporters (OTLP HTTP)
- Feature gates for progressive rollout

### 🧠 Smart Memory
- Automatic memory injection from past projects
- RAG-based semantic memory search (optional)
- Team experience accumulation
- Context-aware project recommendations

### 💬 Platform Integration
- Feishu/Lark bot integration
- Discord and Telegram channels (via feature gates)
- Real-time notifications
- Multi-language support

---

## Installation

### Prerequisites

- [OpenClaw Gateway](https://openclaw.io) >= 2026.3.28
- Node.js >= 18
- pnpm or npm

### From Source

```bash
# Clone the repository
git clone https://github.com/mkclaw-team/mkclaw-team.git
cd mkclaw-team

# Install dependencies
npm install

# Build the plugin
npm run build

# The bundled plugin is at dist/index.js
```

### Install in OpenClaw

```bash
# Copy the plugin to OpenClaw extensions directory
cp -r . ~/.openclaw/extensions/mkclaw-team/

# Or link for development
ln -s $(pwd) ~/.openclaw/extensions/mkclaw-team
```

### Configuration

Add to your `~/.openclaw/openclaw.json`:

```json
{
  "plugins": {
    "mkclaw-team": {
      "enabled": true
    }
  }
}
```

#### Plugin Configuration Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `LeadCtrlTickInterval` | number | 10000 | Lead controller check interval (ms) |
| `LeadCtrlBaseInterval` | number | 60000 | Base interval for backoff (ms) |
| `LeadCtrlBackOffRatio` | number | 1.2 | Backoff multiplier |
| `EnableAgentMessaging` | boolean | false | Enable inter-agent messaging |
| `TaskTimeoutMs` | number | 600000 | Task timeout threshold (ms) |
| `MemoryInjection.maxBytes` | number | 8192 | Max bytes for history index |
| `MemoryRag.enabled` | boolean | false | Enable RAG memory search |

---

## Usage

### Creating a Team

```bash
cat > /tmp/team.json << 'EOF'
{
  "name": "AI Novel Writing Studio",
  "description": "A team specialized in science fiction novel creation",
  "locale": "zh-CN",
  "members": [
    {
      "name": "Project Manager",
      "role": "Manager",
      "soul": "You are the project manager, responsible for planning and coordination.\n\n## Core Responsibilities\n- Break down user requirements into tasks\n- Assign tasks to team members\n- Monitor progress and resolve blockers\n\n## Input Sources\n- User requirements\n- Team member updates\n\n## Output Requirements\n- Task assignments\n- Progress reports\n\n## Collaboration Boundaries\n- Coordinate but don't execute tasks",
      "skills": ["mkclaw-team-teamwork"],
      "isLead": true
    },
    {
      "name": "Lead Writer",
      "role": "Senior Writer",
      "soul": "You are the lead writer, responsible for main narrative and character development.\n\n## Core Responsibilities\n- Write chapter outlines and main narrative\n- Develop character arcs\n- Maintain story consistency\n\n## Input Sources\n- Story outline from Manager\n- Research materials\n\n## Output Requirements\n- Chapter drafts (Markdown)\n- Character profiles\n\n## Collaboration Boundaries\n- Focus on narrative, not technical implementation",
      "skills": ["writing", "creative-writing"]
    }
  ]
}
EOF

openclaw gateway call mkclaw.team.team.create \
  --params "$(cat /tmp/team.json)" \
  --timeout 120000 --json 2>/dev/null | jq '{teamId:.id,name:.name}'
```

### Creating an Engagement (Project Task)

```bash
cat > /tmp/engagement.json << 'EOF'
{
  "teamId": "t-xxx",
  "name": "Write Chapter 1-3 of 'Stellar Odyssey'",
  "description": "Create the opening chapters of a hard science fiction novel...",
  "locale": "zh-CN"
}
EOF

openclaw gateway call mkclaw.team.engagement.create \
  --params "$(cat /tmp/engagement.json)" \
  --timeout 120000 --json 2>/dev/null | jq '{engagementId:.id,name:.name}'
```

### Starting Execution

```bash
openclaw gateway call mkclaw.team.engagement.start \
  --params '{"teamId":"t-xxx","engagementId":"e-xxx"}' \
  --timeout 120000 --json 2>/dev/null | jq '{id:.id,status:.status}'
```

### Task Management (Agent Tools)

Once a team is running, agents use these tools:

```json
// Create tasks
{
  "tool": "mkclaw_team_task_batch_create",
  "params": {
    "teamId": "t-xxx",
    "engagementId": "e-xxx",
    "tasks": [
      {
        "title": "Write Chapter 1",
        "description": "Write the opening chapter...",
        "stageName": "Development",
        "assignee": "agent-worker1"
      }
    ]
  }
}

// Update task status
{
  "tool": "mkclaw_team_task_update_status",
  "params": {
    "teamId": "t-xxx",
    "engagementId": "e-xxx",
    "taskId": "task-xxx",
    "status": "InProgress"
  }
}

// Send message to teammate
{
  "tool": "mkclaw_team_message_send",
  "params": {
    "teamId": "t-xxx",
    "engagementId": "e-xxx",
    "fromAgentId": "manager-agent",
    "toAgentId": "worker-agent",
    "subject": "Task Assignment",
    "content": "Please review the outline and start Chapter 1."
  }
}
```

---

## Agent Tools Reference

| Tool | Description |
|------|-------------|
| `mkclaw_team_task_batch_create` | Create multiple tasks with dependencies |
| `mkclaw_team_task_list` | List tasks (filter by status/assignee) |
| `mkclaw_team_task_update_status` | Update task status or edit task |
| `mkclaw_team_task_feedback` | Add comments/feedback to tasks |
| `mkclaw_team_task_reject` | Reject a task assignment |
| `mkclaw_team_task_reactivate` | Reactivate a completed task |
| `mkclaw_team_message_send` | Send message between agents |
| `mkclaw_team_project_list_members` | List team members |
| `mkclaw_team_project_status` | Get project status |
| `mkclaw_team_project_output` | Get output directory path |
| `mkclaw_team_project_output_pack` | Pack outputs for download |
| `mkclaw_team_project_status_update` | Update project status |
| `mkclaw_team_member_add` | Add team member |
| `mkclaw_team_member_handover_write` | Write handover document |
| `mkclaw_team_engagement_start` | Start an engagement |
| `mkclaw_team_engagement_abort` | Abort an engagement |
| `mkclaw_team_engagement_get` | Get engagement details |
| `mkclaw_team_engagement_list` | List engagements |
| `mkclaw_team_engagement_status_update` | Update engagement status |
| `mkclaw_team_engagement_summary_write` | Write engagement summary |
| `mkclaw_team_engagement_archive_complete` | Archive completed engagement |
| `mkclaw_team_memories_search` | Search team memories |
| `mkclaw_team_team_memories_update` | Update team memories |
| `mkclaw_team_cron_status` | Get cron job status |

---

## Gateway RPC API

All RPC calls use `openclaw gateway call`:

```bash
openclaw gateway call <method> --params '<json>' --timeout 120000 --json
```

### Project Lifecycle

| Method | Description |
|--------|-------------|
| `mkclaw.team.project.list` | List all projects |
| `mkclaw.team.project.get` | Get project details |
| `mkclaw.team.project.create` | Create a project |
| `mkclaw.team.project.update` | Update project info |
| `m

... (truncated)
tools

Comments

Sign in to leave a comment

Loading comments...