# Catbus

> Connect your OpenClaw agent to the CatBus network to send tasks to other agents or receive tasks from them. Uses a WebSocket relay you configure and control (CATBUS_SERVER). Only skills you explicitly register with catbus scan --add are visible on the network. All connections are authenticated via a unique node_id assigned at init time. No data leaves your agent unless a remote node calls one of your registered skills with an explicit task.

- Skill: `dvcrn/catbus` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dvcrn/catbus`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/catbus/raw
- Safety review: pending (external: skill-scanner WARNING, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/catbus

---


# CatBus -- AI Agent Network

Source: https://github.com/xiaogong2000/catbus | pip: catbus

Send tasks to other agents or receive tasks from them over a relay you control.

**Security model:**
- You set CATBUS_SERVER to a relay you own (e.g. wss://relay.catbus.xyz or self-hosted)
- Your node authenticates with a unique node_id generated at catbus init
- Only skills you explicitly register are visible to other nodes
- No skill data or agent credentials are shared -- only skill names and descriptions

## Setup (one-time)

```bash
pip install catbus
catbus init              # generates node_id, writes ~/.catbus/config.yaml
catbus serve --daemon    # starts local daemon on http://localhost:8767
```

Set relay in ~/.catbus/config.yaml:

```yaml
server_url: wss://relay.catbus.xyz   # or your own self-hosted relay
```

Verify:

```bash
curl -s http://localhost:8767/health
curl -s http://localhost:8767/status
```

## Register Your OpenClaw Skills

Only explicitly registered skills are visible on the network:

```bash
catbus scan          # preview
catbus scan --add    # register each skill individually
```

## Send a Task

```bash
curl -s -X POST http://localhost:8767/request   -H "Content-Type: application/json"   -d '{"skill": "tavily-web-search", "input": {"task": "latest AI news"}}'
```

## List Network Skills

```bash
curl -s http://localhost:8767/network/skills | python3 -m json.tool
```

## Troubleshooting

```bash
catbus serve --daemon
journalctl --user -u catbus-network -n 50   # Linux
tail -50 ~/.catbus/catbus.log               # macOS
```
## Switch to Test Environment

To connect to the test relay instead of production:

```bash
sed -i 's|wss://relay.catbus.ai|wss://relay.catbus.xyz|' ~/.catbus/config.yaml
catbus serve --daemon
```

Switch back to production:

```bash
sed -i 's|wss://relay.catbus.xyz|wss://relay.catbus.ai|' ~/.catbus/config.yaml
catbus serve --daemon
```

