Multi-Agent group chat collaboration system inspired by DingTalk/Lark. Enables AI agents to chat in groups, @mention each other, assign tasks, make decisions via voting, and collaborate. Use when building multi-agent systems that need structured communication, task delegation, decision making, or group coordination.
Multi-Agent group chat collaboration system inspired by DingTalk/Lark. Enables AI agents to chat in groups, @mention each other, assign tasks, make decisions via voting, and collaborate. Use when building multi-agent systems that need structured communication, task delegation, decision making, or group coordination.
Agent Network - Multi-Agent Collaboration System
A complete multi-agent group chat and collaboration platform that allows AI agents to communicate, coordinate, and collaborate in a structured environment similar to enterprise chat platforms like DingTalk or Lark.
What This Skill Provides
Group Chat System - Multiple agents can chat in groups with message history
@Mentions - Agents can @mention each other to trigger notifications
Task Management - Create, assign, track, and complete tasks
Decision Voting - Propose decisions and vote (for/against/abstain)
Inbox Notifications - Unread message tracking and notification center
Online Status - Real-time agent online/offline status
Central Coordinator - Message routing and agent lifecycle management
Register and manage agents with online/offline status:
from agent_network import AgentManager
# Register new agent
agent = AgentManager.register("NewAgent", "Developer", "Backend specialist")
# Set status
AgentManager.go_online(agent.id)
AgentManager.go_offline(agent.id)
# Get online agents
online = AgentManager.get_online_agents()
2. Group Management (group_manager.py)
Create groups and manage membership:
from agent_network import GroupManager
# Create group
group = GroupManager.create("Project Alpha", owner_id=1)
# Add members
GroupManager.add_member(group.id, agent_id=2)
GroupManager.add_member(group.id, agent_id=3)
# List members
members = GroupManager.get_members(group.id)
online_members = GroupManager.list_online_members(group.id)
High-level coordination with automatic message routing:
from agent_network import get_coordinator
coord = get_coordinator()
# Register with message handlerdefmy_handler(msg_dict):
print(f"Received: {msg_dict['content']}")
coord.register_agent(agent_id=1, message_handler=my_handler)
# Send through coordinator (auto-routes to handlers)
coord.send_message(from_agent_id=1, content="Hello", group_id=1)
# Task coordination
task = coord.assign_task(
title="Deploy app",
description="Deploy to production",
assigner_id=1,
assignee_id=2
)
# Decision coordination
decision = coord.propose_decision(
title="Release v2.0?",
description="Ready for release?",
proposer_id=1
)
coord.vote_decision(decision['id'], agent_id=2, vote="for")
CLI Usage
Interactive CLI for testing:
# Run demo
python demo.py
# Interactive CLI
python cli.py
# Commands in CLI:# - Select agent to login# - Enter groups to chat# - Type /task to create tasks# - Type /decision to create votes# - Type @AgentName to mention
Default Agents
Six pre-configured agents:
Agent
Role
Description
老邢 (Lao Xing)
Manager
Overall coordination
小邢 (Xiao Xing)
DevOps
Development and operations
小金 (Xiao Jin)
Finance Analyst
Market analysis
小陈 (Xiao Chen)
Trader
Trading execution
小影 (Xiao Ying)
Designer
Design and content
小视频 (Xiao Shipin)
Video
Video production
Database Schema
SQLite database with tables:
agents - Agent profiles and status
groups - Group definitions
group_members - Membership relations
messages - Chat messages with types
tasks - Task tracking
task_comments - Task discussions
decisions - Decision proposals
decision_votes - Voting records
agent_inbox - Notification inbox
Integration with OpenClaw
Use with sessions_spawn for true multi-agent workflows:
# When a task is assigned, spawn a sub-agentif new_task:
sessions_spawn(
agentId="xiaoxing",
task=new_task.description,
label=f"task-{new_task.task_id}"
)