siddsachar/row-bot

Row-Bot - Personal AI Sovereignty. A local-first AI assistant with integrated tools, a personal knowledge graph, voice, vision, shell, browser automation, scheduled tasks, health tracking, and messaging channels. Run locally via Ollama or add opt-in cloud models. Your data stays on your machine.

Row‑Bot – a local‑first AI assistant

What it is – Row‑Bot (formerly Thoth) is a desktop application that lets you talk to an AI that can act on your files, code, design assets and external services. It runs entirely on your own machine (or a private Docker server) and never stores your data in the cloud.

Key capabilities

  • Conversational workflow – you start a chat and ask for things like a pitch deck, a code review, or a reminder. Row‑Bot creates the appropriate folder, writes files, runs tools and keeps the conversation context.
  • Memory & knowledge graph – a personal graph stores facts, documents and “dream‑cycle” refinements, searchable later.
  • Goals & agents – long‑running goals persist until completed; you can spin off specialised agents with their own chats, stop them, or send messages.
  • Approvals – any risky operation (e.g., running a command, publishing) pauses for an explicit Approve/Deny from you.
  • Tool integration – web search, shell, file browser, managed browser, computer‑use (Windows/macOS), Gmail/Calendar, image/video generation, plus custom tools.
  • Channels & voice – Telegram, WhatsApp, Discord, Slack, SMS, plus dictation and read‑aloud via local Whisper/SenseVoice and TTS.
  • Apps & skills – quick one‑click connections to GitHub, Notion, Linear, Stripe, etc., and a catalog of reusable “skills”.
  • Workflows – scheduled, webhook‑triggered, or chained runs with approvals and delivery to channels.
  • Remote / multi‑device – a single owner can invite other trusted devices (QR code, Tailscale, LAN, SSH tunnel, Docker) and keep everything synced.

How it runs

  • The backend is a FastAPI server written in Python, using LangGraph/LangChain for agent orchestration, FAISS for vector memory, and optional local models via Ollama.
  • The UI is a React single‑page app served at /app‑v2/ and can be opened as a native window, in a browser, or on mobile.
  • You can run it natively (Windows installer, macOS DMG, Linux tarball) or as a Docker container (ghcr.io/siddsachar/row-bot).

Installation highlights

  • Windows/macOS: download the installer from the GitHub releases page.
  • Linux: one‑line script installs under ~/.local/share/row-bot and adds a row-bot command to ~/.local/bin.
  • Docker: docker compose -f deploy/docker/compose.yaml up then invite a device via the CLI.

Configuration & data

  • Data lives in ~/.row-bot (or %USERPROFILE%\.row-bot). Secrets are stored in the OS keychain/credential manager; Docker uses encrypted volumes.
  • Workspace files default to ~/Documents/Row-Bot but are configurable.
  • CLI (row-bot serve, row-bot access invite, etc.) lets you start a headless server, manage invitations, and inspect health.

Development

  • Source layout: src/row_bot/ (backend) and frontend/ (React client).
  • Build with Python 3.12/3.13, uv for dependency management, and Node 24 for the UI.
  • Tests are orchestrated by scripts/run_test_matrix.py; CI runs fast, changed‑file, PR, platform‑specific, and browser‑smoke suites.

Privacy & safety

  • No account system, no hosted inference, and no first‑party telemetry. All conversations, memory and files stay on your device. Provider API calls go directly to the chosen endpoint (Ollama, OpenAI‑compatible, ChatGPT, Claude, Grok, etc.).
  • Optional “Computer Use” feature (beta) requires explicit acceptance of upstream driver telemetry.

License – Apache 2.0.


Row‑Bot is a full‑featured, self‑hosted AI assistant that combines conversational LLM interaction with local tooling, memory, and multi‑device access, aimed at users who want powerful automation without giving up control of their data.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project