← Back to archive

Repo of the Day

siddsachar/Thoth: Thoth - 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…

Published: Oct 10, 2026

Open repository ↗

Thoth - 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 messag...

Summary

Row-Bot is a local-first desktop AI assistant written in Python (Apache 2.0) that wraps a React UI around models served through Ollama, subscription APIs (ChatGPT, Claude, Grok), or any OpenAI-compatible endpoint, keeping conversations, memory, and files on the user's machine. It bundles a personal knowledge graph, shell and browser tools, voice input/output, and an approval-gated agent system behind a single application.

What it is useful for

Engineers who need an assistant that can act on local resources without sending data to a hosted service. The documented toolset includes files, shell, a managed browser, web search, Gmail and Calendar, image and video generation, and an opt-in Computer Use mode for Windows and macOS driven by Cua Driver. A knowledge graph with an Obsidian-compatible wiki vault and a "Dream Cycle" refinement step gives conversations persistent recall, while a code panel exposes Git, an interactive terminal, and an optional Docker sandbox for working in repositories.

It is also useful for repeatable work: workflows can be scheduled, triggered by webhooks, or chained, and they can deliver results to channels such as Telegram, WhatsApp, Discord, Slack, and SMS. Approvals surface in the conversation, on Home, in a tray attention indicator, in a Buddy desktop overlay, or on a connected channel, which keeps risky actions reviewable. Remote access over Tailscale, LAN, SSH, or a published container lets the same single-owner instance be used from a phone or another machine.

How engineers can use it

The simplest path is the platform package: the Windows installer and macOS DMG from GitHub Releases, or on Linux the one-line installer that verifies a SHA-256 and places files under ~/.local/share/row-bot. Docker is published as ghcr.io/siddsachar/row-bot with a compose file under deploy/docker/.

For local development the README requires Python 3.12 or 3.13, uv, Git, and Node.js 24.15+ with npm 11, then:

git clone https://github.com/siddsachar/row-bot.git
cd row-bot
uv sync --locked --all-extras --group test
cd frontend && npm ci --ignore-scripts --no-audit --no-fund && npm run build && cd ..
uv run python launcher.py

The app serves at http://localhost:8080/app-v2/. Data lives in ~/.row-bot (ROW_BOT_DATA_DIR override), workspace files in ~/Documents/Row-Bot, and secrets in the OS keychain (Windows Credential Manager, macOS Keychain, or Linux Secret Service). Test tiers run through scripts/run_test_matrix.py.

Documented limitations include: single-owner, multi-device only (not multi-user hosting); Linux needs GTK or Qt and AppIndicator for a native window; Computer Use is Windows/macOS only and requires accepting Cua Driver's upstream telemetry; the v5.0 release removed the old NiceGUI interface, so users coming from 4.x should read the release notes first.