v4.1.0 iOS Android PWA

Eldric Mobile

Autonomous AI agents in your pocket. The native iOS app ships with voice chat, phone automation, cluster monitoring, unified messaging inbox, TTS playback, 5 Siri Shortcuts, and cron-scheduled background tasks. All backed by your Eldric distributed infrastructure.

Voice Chat Phone Automation TTS Playback Siri Shortcuts Cron Scheduling Cluster Ops 13 Agent Types
Eldric E

iOS App — Now Available

Native Swift/SwiftUI app with streaming chat, voice transcription, phone automation engine (12 action types), TTS playback, cluster dashboard, training jobs, unified inbox, push notifications, and 5 Siri Shortcuts. Built for iOS 17+.

Download iOS App ↓

Architecture

Eldric Mobile is a thin client backed by the full distributed infrastructure. Unlike single-process solutions, Eldric offloads heavy workloads to specialized workers while the mobile app stays lightweight and responsive.

Eldric Mobile App (iOS / Android) Chat UI Streaming SSE 13 Agent Types Voice Chat STT Recording TTS Playback Automation 12 Action Types Script Editor Cluster Ops Dashboard Training Jobs Inbox 6 Protocols Unified Services Layer EdgeAPIClient 37+ endpoints AutomationEngine JSON scripts TTSPlayback AVAudioPlayer HeartbeatService CronParser Siri Shortcuts 5 AppIntents Memory 2-tier Automation Action Types api_call server_cmd shortcut open_url notification wait condition llm_decide tts http set_var get_var HTTPS / SSE Eldric Edge Server TLS • Auth • Rate Limit • SSE Proxy • Plugins Eldric Distributed Workers Controller :8880 Router :8881 Worker :8890 Data :8892 Media :8894 Comm :8895 Science :8897 Training :8898 Agent Swarm IoT Voice STT/TTS Cron / Push

Worker Integration Points

:443 Edge
Chat & Streaming

OpenAI-compatible API, SSE streaming, auth

:8894 Media
Voice Chat

STT → LLM → TTS pipeline, real-time audio

:8895 Comm
Messaging

Unified inbox: Email, WhatsApp, Signal, Teams

:8892 Data
Memory Sync

Vector RAG, session persistence, file storage

:8897 Science
Field Research

LIMS scanning, BLAST lookup, sample tracking

:8880 Controller
Cluster Ops

Health monitoring, alerts, quick actions

:8885 Swarm
Multi-Agent

Swarm goals, agent coordination, status

:8898 Training
Training Jobs

Job monitoring, metrics, pause/cancel

Competitive Analysis

Research: OpenClaw Mobile Landscape (Feb 2026)

OpenClaw (196k+ GitHub stars) has no first-class mobile app. Their mobile story consists of three separate workarounds:

  • PhoneClaw (rohanarun/phoneclaw) — Kotlin Android app using Accessibility Service + Moondream vision API for UI automation. No root. Can automate any app via natural language descriptions.
  • ClawPhone (marshallrichards/ClawPhone) — Guide for running full OpenClaw Gateway on budget Android via Termux + tmux + Node.js. Hacky but functional.
  • iOS/Android Nodes — Phone as remote peripheral (camera, location, notifications) connected to Gateway elsewhere via WebSocket.

Key takeaway: OpenClaw’s mobile is fragmented and bolted-on. Eldric has an opportunity to deliver a first-class mobile experience backed by distributed infrastructure.

Research: OpenClaw Agent Memory System

OpenClaw uses a file-based, two-tier memory architecture that enables autonomous operation without user interaction:

  • Daily Logs (memory/YYYY-MM-DD.md) — Append-only chronological records with 30-day temporal decay
  • Curated Memory (MEMORY.md) — Persistent long-term knowledge, no decay, loaded in private sessions
  • Session Persistence (sessions/<id>.jsonl) — Full conversation history survives restarts
  • Hybrid Search Index (SQLite + sqlite-vec) — BM25 full-text + vector similarity with MMR re-ranking
  • Pre-compaction Flush — Before context window compresses, agent silently writes durable facts to disk
  • Heartbeat — 30-minute timer checks HEARTBEAT.md for proactive tasks
  • Self-scheduled Cron — Agent creates its own recurring tasks persisted in cron/jobs.json
  • Embedding — Local GGUF model (gemma-300m-qat) with fallback to OpenAI/remote

Adopt for Eldric: Two-tier memory + pre-compaction flush + heartbeat system. Improve over OpenClaw: Use Eldric Data Worker for cloud sync, multi-tenant isolation, and enterprise RAG backends (FAISS, ChromaDB) instead of single-process SQLite.

Eldric vs OpenClaw Mobile Comparison

Capability Eldric Mobile OpenClaw Mobile (Current)
Native iOS App✓ Swift/SwiftUI (shares macOS patterns)✗ Node only via Shortcuts
Native Android App✓ Kotlin/Compose✗ Termux workaround
PWA✓ Phase 1 from Edge /chat✗ None
Voice Chat✓ Media Worker STT/TTS✓ ElevenLabs
Autonomous Agent✓ Heartbeat + Cron + Swarm✓ Heartbeat + Cron
Agent Memory✓ Local + Data Worker sync✓ Local Markdown + SQLite
Offline Mode✓ Local SQLite, sync on connect✗ Requires Gateway
Multi-Agent✓ 13 agent types + Swarm✗ Single general agent
Cluster Monitoring✓ Full Controller dashboard✗ None
Phone Automation✓ iOS: 12-action engine + Siri • Android: AccessibilityService✓ PhoneClaw (Android only)
Messaging Channels✓ Comm Worker (6 protocols)✓ 16+ channel adapters
Science/Lab Mobile✓ Science Worker integration✗ None
Enterprise Auth✓ API keys, multi-tenant✗ Pairing codes only
Distributed Backend✓ Edge → Router → Workers✗ Single Node.js process

Agent Memory Architecture

Inspired by OpenClaw’s two-tier memory but enhanced with Eldric’s distributed Data Worker for cross-device sync and enterprise-grade RAG.

Tier 1: Daily Logs

Append-only chronological records stored locally as memory/YYYY-MM-DD.md. Today’s and yesterday’s logs loaded at session start. Subject to 30-day temporal decay in search. Synced to Data Worker when online.

Tier 2: Curated Long-Term Memory

Persistent knowledge in MEMORY.md — user preferences, decisions, durable facts. No temporal decay. Loaded in private sessions. Synced as vector embeddings for cross-device RAG search.

Mobile Local Storage daily/YYYY-MM-DD.md MEMORY.mdcurated facts sessions.sqlite search_index.sqliteBM25+vec cron_jobs.json Data Worker :8892 /api/v1/vector/ingest /api/v1/vector/search FAISS / ChromaDBvectors Session syncpersistence Swarm scheduled goals sync Pre-compaction Flush Context nearing limit → Agent writes durable facts to MEMORY.md → Synced to Data Worker → All devices

Implementation Phases

Phase 1: Progressive Web App PWA

Upgrade the existing Edge web chat (/chat) into a full Progressive Web App. Installable on any device, works offline, push notifications. Lowest effort, immediate mobile presence.

Installable Home Screen

Web App Manifest with icons, splash screen, standalone display mode. Install prompt on iOS and Android.

Offline Support

Service Worker caching for app shell, conversation history in IndexedDB, offline message queue.

Push Notifications

FCM/APNs via Service Worker for swarm completion, training job status, comm worker alerts.

Responsive Chat UI

Mobile-first redesign of Edge /chat. Touch-optimized, swipe gestures, model selector, agent picker.

Voice Input

Browser MediaRecorder API → Media Worker STT → LLM → TTS. Tap-to-talk interface.

Streaming SSE

Real-time token streaming via Edge server’s existing OpenAI-compatible SSE endpoint.

Key Deliverables

  • manifest.json with app icons and theme colors
  • Service Worker with cache-first strategy for app shell
  • IndexedDB storage for conversations and local memory
  • Push notification integration via Edge server webhooks
  • Responsive CSS overhaul of edge_webclient.cpp HTML output
  • Voice recording and playback UI

Phase 2: Native iOS & Android Apps iOS — Shipped Android

Full native mobile applications with autonomous agent runtime, offline memory, cluster operations, and deep OS integration. The iOS app is built and shipping. Android follows.

App 1: Eldric Chat

Streaming Chat

SSE streaming via Edge API. Model and agent selection. Conversation persistence with cross-device sync via Data Worker.

Voice Chat

Native audio recording → Media Worker STT → LLM → TTS → audio playback. Real-time voice conversations with AI.

Agent Memory (Two-Tier)

Local daily logs + MEMORY.md. Pre-compaction flush saves durable facts before context trim. Syncs to Data Worker.

Autonomous Runtime

Background heartbeat (BGTaskScheduler / WorkManager). Real cron expression parser (5-field: minute, hour, day, month, weekday). Proactive agent turns without user interaction.

Phone Automation Engine

JSON-based script executor with 12 action types: API calls, server commands, Siri Shortcuts, URL launch, notifications, LLM decisions, variable pipelines, TTS speech, HTTP requests. Template library included.

TTS Playback

Text-to-speech via Media Worker integration. AVAudioPlayer wired to Edge /api/v1/tts/synthesize. Available as automation step or standalone service.

Siri Shortcuts (5 Intents)

Ask Eldric, List Models, Run Automation, Cluster Status, Send Message. All accessible via "Hey Siri" or Shortcuts app for hands-free operation.

Swarm Integration

Create and monitor multi-agent swarm goals. Real-time progress updates. Approve/reject agent decisions from phone.

Unified Inbox

Comm Worker integration: Email, WhatsApp, Signal, Teams in one view. AI-assisted replies with approval workflow.

Photo → RAG Ingest

Camera capture → OCR/description → auto-ingest into knowledge base via Data Worker vector storage.

Offline Mode

Local SQLite with hybrid BM25 + vector search. Full conversation history. Queue actions for sync when back online.

App 2: Eldric Ops

Cluster Dashboard

Worker health, load metrics, model availability. Real-time updates via WebSocket from Controller.

Training Monitor

Job progress with loss curves, GPU utilization. Pause, resume, cancel from phone. Metrics history.

Alerts & Notifications

Push alerts: worker down, GPU thermal, license expiring, training complete, swarm goal finished.

Quick Actions

Restart worker, switch routing strategy, deploy model, scale workers. Confirmation dialogs for destructive ops.

iOS Technical Stack

  • Swift / SwiftUI — Reuse patterns from macOS GUI: LLMBackendProtocol, ChatViewModel (MVVM), ConfigService
  • Shared Swift Packages — Extract common networking, models, and services into SPM packages shared between macOS and iOS targets
  • Core Data / SwiftData — Local persistence for conversations, memory, and settings
  • BGTaskScheduler — Background heartbeat with real cron expression parser (wildcards, ranges, steps, lists)
  • AVFoundation — Audio recording for voice chat + AVAudioPlayer for TTS playback via Media Worker
  • AutomationEngine — JSON script executor with 12 action types, variable resolution, execution logging, template scripts
  • WidgetKit — Home screen widgets for cluster status, active swarm goals
  • App Intents / Shortcuts — 5 Siri intents: Ask Eldric, List Models, Run Automation, Cluster Status, Send Message
  • APNs — Push notifications from Edge server

Android Technical Stack

  • Kotlin / Jetpack Compose — Modern declarative UI matching SwiftUI patterns
  • Room — Local persistence (mirrors Core Data layer)
  • WorkManager — Background heartbeat and cron execution
  • MediaRecorder / ExoPlayer — Audio recording/playback for voice chat
  • Glance — Home screen widgets for cluster status
  • FCM — Push notifications from Edge server

Phase 3: Phone Automation & Advanced Features iOS Android

iOS ships with a 12-action automation engine, TTS, and Siri Shortcuts. Android adds Accessibility API for system-level UI control and vision-based targeting. Both platforms get science field tools and sensor integration.

iOS Automation Engine Shipped

12 action types: api_call, server_command, shortcut, open_url, notification, wait, condition, llm_decide, set/get_variable, tts_speak, http_request. Variable resolution (${var}), execution logging, template scripts.

Android Accessibility Automation

AccessibilityService for system-level UI control. Tap, swipe, type in any app. No root required. Vision-based targeting via screenshot + LLM analysis.

Cross-App Workflows

Agent-defined automation chains: receive email → extract data → API call → send notification. iOS uses URL schemes + Siri Shortcuts; Android uses AccessibilityService.

LLM Decision Steps

Automation scripts can ask the LLM mid-execution: "Should I continue?" — the model decides the control flow. Enables adaptive automation that responds to real-time conditions.

Science Field Kit

Camera → OCR/barcode → LIMS sample lookup. Quick BLAST search, compound info, clinical trial queries. Experiment updates from the field.

Sensor Integration

GPS location, camera, microphone, accelerometer, NFC. Feed sensor data to agents for context-aware decisions.

License Limits

Feature Free Standard Professional Enterprise
Mobile devices1310Unlimited
PWA access
Voice chat
Autonomous agent
Cluster monitoring
Phone automation
Cross-device memory sync
Science field kit
Multi-tenant mobile

Implementation Timeline

Phase 1: PWA

Edge /chat upgraded to installable PWA with offline support, push notifications, voice input, responsive mobile-first UI.

Phase 2a: iOS App (Swift/SwiftUI)

Native iOS app with streaming chat, voice STT/TTS, cluster dashboard, training jobs, unified messaging inbox, push notifications, and Siri Shortcuts.

Phase 3a: iOS Phone Automation

AutomationEngine with 12 action types, TTS playback service, 5 Siri Shortcuts, real cron expression parser, Automation tab in navigation. Template scripts included.

Phase 2b: Android App (Kotlin/Compose)

Native Android app mirroring iOS feature set. Kotlin/Compose with Room, WorkManager, FCM. Parallel development track.

Phase 2c: Eldric Ops (iOS + Android)

Dedicated cluster management app. Dashboard, training monitor, alerts, quick actions. Available on both platforms.

Phase 3b: Android Phone Automation

AccessibilityService for system-level UI automation, vision-based UI targeting via screenshot + LLM, cross-app workflows, science field kit, sensor integration.

Key Files Reference

Component File Relevance
Edge Web Chat (base for PWA)cpp/include/distributed/edge/edge_webclient.hHTML/JS for /chat endpoint
Edge Servercpp/src/distributed/edge/edge_server.cppSSE streaming, auth, rate limiting
macOS GUI MVVMgui/Eldric/ViewModels/ChatViewModel.swiftPort to iOS
Backend Protocolgui/Eldric/Services/LLMBackendProtocol.swiftShared Swift package candidate
Config Servicegui/Eldric/Services/ConfigService.swiftSQLite patterns for mobile
Native Tool Defsgui/Eldric/Models/NativeToolDefinition.swiftTool calling on mobile
iOS Automation Engineios/EldricMobile/Services/Automation/AutomationEngine.swift12-action script executor
iOS Automation UIios/EldricMobile/Views/Automation/AutomationView.swiftScript editor, runner, templates
iOS TTS Playbackios/EldricMobile/Services/Automation/TTSPlaybackService.swiftAVAudioPlayer + Edge TTS
iOS Siri Shortcutsios/EldricMobile/Services/SiriShortcutsService.swift5 AppIntents
iOS Cron Parserios/EldricMobile/Services/Autonomous/HeartbeatService.swiftCronParser + HeartbeatService
Data Worker Vector APIcpp/src/distributed/data/data_daemon.cppMemory sync endpoint
Comm Workercpp/src/distributed/comm/comm_daemon.cppUnified messaging API
Media Workercpp/src/distributed/media/media_daemon.cppVoice chat STT/TTS API
Controller APIcpp/src/distributed/main.cppCluster status endpoints