Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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.
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
from agent_network import AgentManager, GroupManager, MessageManager, TaskManager, DecisionManager, get_coordinator # Initialize default agents from agent_network import init_default_agents init_default_agents() # Get the coordinator coordinator = get_coordinator() # Register agents coordinator.register_agent(agent_id=1) coordinator.register_agent(agent_id=2) # Create a group group = GroupManager.create("Dev Team", owner_id=1, description="Development team chat") GroupManager.add_member(group.id, agent_id=2) # Send a message with @mention MessageManager.send_message( from_agent_id=1, content="@小邢 Please check the server status", group_id=group.id ) # Assign a task task = TaskManager.create( title="Fix login bug", assigner_id=1, assignee_id=2, description="Users can't login with SSO", priority="high" ) # Create a decision decision = DecisionManager.create( title="Adopt new database?", description="Should we migrate to distributed database?", proposer_id=1, group_id=group.id ) # Vote on decision DecisionManager.vote(decision.id, agent_id=2, vote="for", comment="Agreed, better performance")
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()
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)
Send messages with @mention support: from agent_network import MessageManager # Send message msg = MessageManager.send_message( from_agent_id=1, content="Hello team!", group_id=1 ) # @mention automatically detected msg = MessageManager.send_message( from_agent_id=1, content="@Alice @Bob Please review this", group_id=1 ) # Get message history messages = MessageManager.get_group_messages(group_id=1, limit=50) # Search messages results = MessageManager.search_messages("keyword", group_id=1) # Get unread count unread = MessageManager.get_unread_count(agent_id=1) inbox = MessageManager.get_agent_inbox(agent_id=1, only_unread=True)
Full task lifecycle: from agent_network import TaskManager # Create task task = TaskManager.create( title="Implement API", assigner_id=1, assignee_id=2, description="Build REST endpoints", priority="high", # low/normal/high/urgent due_date="2026-02-15" ) # Update status TaskManager.start_task(task.id, agent_id=2) TaskManager.complete_task(task.id, agent_id=2, result="All tests passed") # Add comments TaskManager.add_comment(task.id, agent_id=2, "50% complete") # List tasks all_tasks = TaskManager.get_all() my_tasks = TaskManager.get_agent_tasks(agent_id=2, status="pending")
Collaborative decision making: from agent_network import DecisionManager # Create proposal decision = DecisionManager.create( title="Use microservices?", description="Should we refactor to microservices?", proposer_id=1, group_id=1 ) # Vote DecisionManager.vote(decision.id, agent_id=2, vote="for", comment="Better scalability") DecisionManager.vote(decision.id, agent_id=3, vote="against") # Update status DecisionManager.update_status(decision.id, "approved", updater_id=1) # Check results decision = DecisionManager.get_by_id(decision.id) print(f"Pass rate: {decision.pass_rate}%")
High-level coordination with automatic message routing: from agent_network import get_coordinator coord = get_coordinator() # Register with message handler def my_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")
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
Six pre-configured agents: AgentRoleDescription老邢 (Lao Xing)ManagerOverall coordination小邢 (Xiao Xing)DevOpsDevelopment and operations小金 (Xiao Jin)Finance AnalystMarket analysis小陈 (Xiao Chen)TraderTrading execution小影 (Xiao Ying)DesignerDesign and content小视频 (Xiao Shipin)VideoVideo production
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
Use with sessions_spawn for true multi-agent workflows: # When a task is assigned, spawn a sub-agent if new_task: sessions_spawn( agentId="xiaoxing", task=new_task.description, label=f"task-{new_task.task_id}" )
scripts/agent_network/ - Python modules __init__.py - Package exports database.py - SQLite management agent_manager.py - Agent CRUD group_manager.py - Group management message_manager.py - Messaging system task_manager.py - Task management decision_manager.py - Voting system coordinator.py - Central coordinator scripts/cli.py - Interactive CLI scripts/demo.py - Demo script references/schema.sql - Database schema assets/ - Templates (optional)
See references/ADVANCED.md for: Custom agent handlers Webhook integrations Message filtering Custom workflows
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.