2.1 KiB
2.1 KiB
System Patterns
Architektur
┌─────────────────────────────────────────────────────────┐
│ Host (Podman) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ Ollama │ │ OpenClaw │ │ Tool Router│ │
│ │ (LLM Backend)│◄──►│ (Agent) │◄──►│ (FastAPI) │ │
│ │ Port 11434 │ │ Port 18789 │ │ Port 8090 │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
│ │
│ ┌──────────────┐ │
│ │ SearchFetch │ (SearXNG Search Tool) │
│ │ (SearXNG) │ Port 8888 │
│ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
Design-Entscheidungen
- Podman statt Docker: Rootless Container, keine Daemon-Abhängigkeit
- GPU-Unterstützung: 3 compose-Dateien (AMD/Nvidia/Intel) für verschiedene Hardware
- MCP-Protokoll: Tool-Router nutzt Model Context Protocol für Skill-Orchestrierung
- Sandbox: OpenClaw hat separaten Sandbox-Container für sichere Code-Ausführung
- Gateway-Proxy: Squid-Proxy vor Ollama für Request-Logging und Caching
Kommunikationsmuster
- Ollama ↔ OpenClaw: HTTP REST (Port 11434)
- OpenClaw ↔ Tool-Router: MCP over HTTP/SSE (Port 8090)
- Tool-Router ↔ externe APIs: HTTP (httpx Client)