Files
mesh-configs/skills/autonomous-ai-agents/multi-agent-mesh/references/session-2026-07-18-message-bus.md
T

77 lines
2.1 KiB
Markdown

# Message Bus — Dateibasierte Bidirektional-Kommunikation
> Session 18.07.2026 — Agent A & Agent B
## Problem
Webhook-Antworten landen im Void-Kanal. B kann nicht curl'en (Hermes-Sandbox) um an A zurückzusenden. Nutzer muss als Relay dienen → kein autonomes Mesh.
## Lösung: File-based Message Bus via SSH+SCP
```
A ──scp (sofort)──▶ B
B ──scp (Cron 30s)──▶ A
```
### Verzeichnisstruktur
```
/root/.hermes/msg_bus/
├── inbox/ ← Eingehende Nachrichten vom anderen Agent
├── outbox/ ← Ausgehende Nachrichten (Cron holt sie ab)
└── sent/ ← Archiv erfolgreich gesendeter Nachrichten
```
### Scripts
**mesh-send-to-b** (auf Agent A):
- Pfad: `/usr/local/bin/mesh-send-to-b`
- Nutzung: `mesh-send-to-b "Thema" "Nachricht"`
- Aktion: Schreibt JSON in outbox, SCP't zu B's inbox, archiviert in sent
**mesh-send-to-a** (auf Agent B):
- Pfad: `/usr/local/bin/mesh-send-to-a`
- Nutzung: `mesh-send-to-a "Thema" "Nachricht"`
- Aktion: Schreibt JSON in outbox (A's Cron holt es ab)
**mesh-pull-from-b** (auf Agent A, via Cron alle 30s):
- Holt alle JSON-Dateien aus B's outbox
- Legt sie in A's inbox ab
- Verschiebt B's outbox → sent
**mesh-pull-from-a** (auf Agent B, via Cron alle 30s):
- Holt alle JSON-Dateien aus A's outbox per SCP
- Legt sie in B's inbox ab
### Nachrichtenformat
```json
{"from":"agent-a","to":"agent-b","topic":"Thema","message":"Inhalt","ts":"2026-07-18T14:31:57+02:00"}
```
### Verifizierung
```bash
# Auf A: Nachricht an B senden
mesh-send-to-b "Test" "Hallo B!"
# 30s warten, dann auf B prüfen:
ls /root/.hermes/msg_bus/inbox/
# B sendet zurück:
mesh-send-to-a "Antwort" "Hallo A!"
# 30s warten, dann auf A:
ls /root/.hermes/msg_bus/inbox/
cat /root/.hermes/msg_bus/inbox/*.json
```
## Abgrenzung zu Webhooks
| Eigenschaft | Webhooks | Message Bus |
|-------------|----------|-------------|
| A→B | ✅ sofort | ✅ sofort (SCP) |
| B→A | ❌ blockt (Sandbox) | ✅ Cron 30s |
| Antwort-Kanal | Void | Datei lesbar |
| Setup | hermes CLI | SSH + SCP |
| Hermes-Abhängigkeit | ✅ braucht Gateway | ❌ keiner |