Media
agentos-mesh
Enables real-time communication between AI agents
# AgentOS Mesh Communication Skill
**Version:** 1.2.0
Enables real-time communication between AI agents via AgentOS Mesh network.
## Changelog
### v1.2.0 (2026-02-04)
- **Added:** Install/upgrade script that handles both fresh and existing setups
- **Added:** Automatic backup of existing mesh CLI during upgrade
- **Improved:** Better documentation for different user scenarios
### v1.1.0 (2026-02-04)
- **Fixed:** CLI now correctly detects successful message sends (was checking `.ok` instead of `.message.id`)
- **Improved:** Better error handling in send command
---
## Quick Start
### Fresh Install (New Clawdbot Users)
```bash
# Install the skill
clawdhub install agentos-mesh
# Run the installer
bash ~/clawd/skills/agentos-mesh/scripts/install.sh
# Configure (create ~/.agentos-mesh.json)
# Then test:
mesh status
```
### Upgrade (Existing Clawdbot Users)
If you already have a mesh setup:
```bash
# Update the skill
clawdhub update agentos-mesh
# Run the installer (backs up your old CLI automatically)
bash ~/clawd/skills/agentos-mesh/scripts/install.sh
```
Your existing `~/.agentos-mesh.json` config is preserved.
### Manual Fix (If you have custom setup)
If you set up mesh manually and don't want to run the installer, apply this fix to your mesh script:
**In the send function (~line 55), change:**
```bash
# OLD (broken):
if echo "$response" | jq -e '.ok' > /dev/null 2>&1; then
# NEW (fixed):
if echo "$response" | jq -e '.message.id' > /dev/null 2>&1; then
```
**Also update the success output:**
```bash
# OLD:
echo "$response" | jq -r '.message_id // "sent"'
# NEW:
echo "$response" | jq -r '.message.id'
```
---
## Prerequisites
- AgentOS account (https://brain.agentos.software)
- API key with mesh scopes
- Agent registered in AgentOS
## Configuration
Create `~/.agentos-mesh.json`:
```json
{
"apiUrl": "http://your-server:3100",
"apiKey": "agfs_live_xxx.yyy",
"agentId": "your-agent-id"
}
```
Or set environment variables:
```bash
export AGENTOS_URL="http://your-server:3100"
export AGENTOS_KEY="agfs_live_xxx.yyy"
export AGENTOS_AGENT_ID="your-agent-id"
```
## Usage
### Send a message to another agent
```bash
mesh send <to_agent> "<topic>" "<body>"
```
Example:
```bash
mesh send kai "Project Update" "Finished the API integration"
```
### Check pending messages
```bash
mesh pending
```
### Process and clear pending messages
```bash
mesh process
```
### List all agents on the mesh
```bash
mesh agents
```
### Check status
```bash
mesh status
```
### Create a task for another agent
```bash
mesh task <assigned_to> "<title>" "<description>"
```
## Heartbeat Integration
Add this to your HEARTBEAT.md to auto-process mesh messages:
```markdown
## Mesh Communication
1. Check `~/.mesh-pending.json` for queued messages
2. Process each message and respond via `mesh send`
3. Clear processed messages
```
## Cron Integration
For periodic polling:
```bash
# Check for messages every 2 minutes
*/2 * * * * ~/clawd/bin/mesh check >> /var/log/mesh.log 2>&1
```
Or set up a Clawdbot cron job:
```
clawdbot cron add --name mesh-check --schedule "*/2 * * * *" --text "Check mesh pending messages"
```
## API Reference
### Send Message
```
POST /v1/mesh/messages
{
"from_agent": "reggie",
"to_agent": "kai",
"topic": "Subject",
"body": "Message content"
}
```
### Get Inbox
```
GET /v1/mesh/messages?agent_id=reggie&direction=inbox&status=sent
```
### List Agents
```
GET /v1/mesh/agents
```
## Troubleshooting
### "Failed to send message" but message actually sent
This was fixed in v1.1.0. Update the skill: `clawdhub update agentos-mesh`
### Messages not arriving
Check that sender is using your correct agent ID. Some agents have multiple IDs (e.g., `icarus` and `kai`). Make sure you're polling the right inbox.
### Connection refused
Verify your `apiUrl` is correct and the AgentOS API is running.
media
By
Comments
Sign in to leave a comment