rho  by mikeyobrien

Persistent AI agent with local memory and self-awareness

Created 2 months ago
349 stars

Top 79.6% on SourcePulse

GitHubView on GitHub
Project Summary

Summary Rho is an AI agent designed for continuous operation, session-to-session memory recall, and autonomous check-ins, prioritizing user data privacy by keeping all memories and data on-device. It targets users on macOS, Linux, and Android requiring a persistent, self-managing AI assistant without cloud reliance for core functionality. Key benefits include local data ownership, control, and flexibility to integrate with user-chosen LLM providers.

How It Works The agent uses a periodic "heartbeat" mechanism for configurable check-ins, processing tasks and reminders stored in its "brain." This brain, persisted as brain.jsonl, centralizes identity, learnings, and context for session continuity. Rho employs a modular architecture with "skills" (runbooks) and "extensions" (TypeScript code) to extend capabilities, enabling local data processing and user-defined LLM integration.

Quick Start & Requirements Installation is primarily via npm install -g @rhobot-dev/rho or cloning the repo and running ./install.sh. Prerequisites include Node.js (18+), tmux, and git. Rho supports macOS, Linux, Android (via Termux), and iPhone/iPad through SSH. The installer checks for missing dependencies.

Highlighted Details

  • Local-First Memory: All agent data stored locally in ~/.rho/brain/brain.jsonl ensures privacy and ownership.
  • Autonomous Operation: Features a periodic "heartbeat" for self-initiated check-ins and task execution.
  • Cross-Platform Skills: Offers system skills (notifications, clipboard, TTS) and platform-specific capabilities, notably extensive Android features (SMS, STT, media, Tasker).
  • Agent Email: Provides a name@rhobot.dev email address for direct communication.
  • Web UI: Browser-based interface for chat, memory, tasks, and configuration.
  • Extensibility: Differentiates markdown "skills" from TypeScript "extensions."

Maintenance & Community Specific details on maintainers, sponsorships, or community channels are not explicitly provided in the README.

Licensing & Compatibility The README does not explicitly state the software license, a critical factor for adoption. Compatibility is confirmed for macOS, Linux, and Android, with SSH setup for iOS/iPadOS.

Limitations & Caveats The absence of a declared license is a critical adoption blocker. iOS/iPadOS setup requires SSH. Some features, like the Telegram adapter, are noted as MVP and polling-first. Users must provide their own LLM provider.

Health Check
Last Commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
3
Star History
28 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.