LogpyClaw is a local multi-agent AI system for macOS. Several personas live side by side, delegate tasks, write to each other via @Mention, network peer-to-peer with other instances, and quietly run their heartbeats in the background while I sleep. No cloud lock-in, no vendor lock-in — Ollama locally, OpenRouter for the heavy models, ComfyUI on its own GPU box in the LAN, Qdrant for vectors, Whisper.cpp for speech-to-text. All on my Mac, on port 5050.

After the last major refactor session (NiceGUI 3.10 + Python 3.14, FastAPI, SQLite/SQLModel), the stack counts 21 FastAPI routers, 13 UI pages, 23 skills, 8+ background services and more than ten external integrations. Time for a clean overview.
Chat & Multi-Agent
- Chat interface — live messaging with agent selection, multipart upload, audio I/O
- Multi-agent chat — parallel conversations with different personas
- A2A delegation — task dispatch between agents via
@Mentions - M2M network (MARTIN) — peer-to-peer networking, remote dispatch, callbacks
- Broadcast mode — one message to several agents
- Chat context — dynamic context injection (history, memory, wiki, codebase)
Voice & Audio
- TTS — Mistral Voxtral + Google, streaming with sentence segmentation
- Voice input — Web Speech API, hands-free
- Audio transcription — Whisper.cpp / Ollama / Mistral
- LTX 2.3 batch video — WAV + start frame → segments → prompts via
gemma4:e4b→ ComfyUI render → automatic ffmpeg concat. Last-frame chaining between segments, each segment optionally last-frame / start image / its own reference image

23 Skills
URL fetcher · screenshot tool · image gen (Flux/SDXL) · image edit (inpaint/outpaint) · Chrome browser control · Wikipedia · Wiki context · web search (SearXNG/DDG) · YouTube · Gmail · LinkedIn · Telegram · WhatsApp · coding skill · transcription · prompt optimizer (RTF/TAG/BAB/CARE/RISE) · file management · Hacker News · Tagesschau RSS · talking video · Mac Mail · video gen · TTS
Autonomy & Scheduling
- Heartbeat — periodic tasks from minutes to days
- Dream cycle — nightly memory consolidation
- Watchdog — URL-change detection with triggers
- Scheduler — central asyncio loop for all background jobs
Memory & Vectors
- Long-term memory — Qdrant vector DB with semantic recall
- Document memory — PDFs/images as vectors (Google embeddings)
- Chat history — SQLite per agent
- Embeddings — Google Gemini or local Ollama embeddings
21 FastAPI Routers
Agents CRUD · Chat (SSE streaming) · Tasks (A2A dispatch/chain/status/cancel) · Memory (recall/cleanup/docs) · Activity · Watchdogs · Skills · Providers · Backup/Restore · Voice · Content (screenshots/news) · Tools (discovery) · M2M (nodes/sync/dispatch) · ComfyUI · Chrome WS · Stats/Debug · Themes · Inbox · LTX batch · Transcription · Health.
UI Pages (NiceGUI)
Home dashboard · Chat · Tasks · Broadcast · Skills · Memory Explorer · Insights · Watchdogs · Network/M2M · Backup · Agent Editor · Settings · LTX Batch.
Background Services
Agent, chat, task, heartbeat, event, watchdog, M2M and WhatsApp watcher services, all bundled in the ServiceContainer (dependency injection).
Core Engine
- LLM interface (Ollama / OpenRouter / Mistral, streaming + retry + fallback to
gemma4:e4b) - A2A protocol (XML task lists)
- FastPath dispatch (deterministic, no LLM)
- Deterministic router
- Thread-safe state
- Skills registry
- Model capabilities detection (vision, tools, thinking)
- Operator context
- Structured logging
Storage
SQLite with SQLModel, JSON migration from v1, separate layers for agent / history / provider / node / watchdog.
Integrations
Ollama · OpenRouter (100+ models) · Mistral · Google (embeddings/TTS) · ComfyUI (workflows) · Qdrant · Redis · Telegram · SearXNG · Playwright · YouTube Data API · Tagesschau · WhatsApp (WACLI bridge).
Tools & Utilities
Backup/restore with versioning · theme system (Matrix Dark and others) · macOS app-icon generator · Pydantic config · structured logging.
Summary: 21 routers · 13 UI pages · 8+ services · 23 skills · 20+ core modules · 10+ external integrations — roughly 100+ features. All local-first, all on my Mac.

Leave a Reply