Row-Bot
A local-first desktop assistant that combines models, durable memory, and controlled tools for personal work.
What does this agent do, and when should you use it?
Row-Bot is a local-first desktop AI assistant organized around reasoning, orchestration, and work across conversations, models, memory, and tools. Its execution layer includes a LangGraph ReAct agent, Goal Mode, Agent Profiles, and scoped child-agent delegation with visible goals, approvals, and local run history. The app combines a personal knowledge graph, document extraction, browser and shell access, workflows, messaging channels, Developer Studio, and Designer Studio. It can run with local Ollama models or opt-in providers including OpenAI, Anthropic, Google AI, xAI, OpenRouter, and custom OpenAI-compatible endpoints. It ships for Windows, macOS, and Linux, with authenticated single-owner remote access and a `row-bot serve` mode for browser-based server operation.
Row-Bot uses a LangGraph ReAct agent to assemble the active conversation, memory recall, and tool results into budgeted execution. It reads PDF, CSV, Excel, JSON, JSONL, TSV, and image files; extracts documents with source provenance; and stores or recalls knowledge through a personal graph. It can use Tavily, DuckDuckGo, Wikipedia, arXiv, YouTube transcripts, and URL reading for research, execute filesystem and shell actions in a configured workspace, and control a visible Chromium browser. Developer Studio links or clones Git workspaces, creates worktrees, shows diffs, runs tests, and prepares branches, commits, pushes, and PRs; Designer Studio produces decks, documents, landing pages, mockups, and exports. The row-bot serve command exposes session-gated browser access, while row-bot access invite creates one-time device invitations.
- A researcher working from PDFs, spreadsheets, and personal notes can extract source material into a knowledge graph and retrieve it in later conversations.
- A developer maintaining a repository can link or clone it in Developer Studio, use an isolated worktree, run tests, inspect diffs, and prepare Git changes under approval controls.
- An individual automating recurring work can build workflows with schedules, webhooks, completion triggers, conditions, approvals, and notifications.
- A single owner who wants access from a phone, tablet, or another computer can create an authenticated Remote Access invitation to the same running local instance.
- A user handling communications can authorize Gmail, Google Calendar, Telegram, WhatsApp, Discord, Slack, or SMS integrations for specific email, calendar, and messaging tasks.
- A privacy-focused user can run Ollama locally for inference while only opting into cloud or self-hosted endpoints when a task requires them.
What are this agent's strengths and limitations?
- Local-first storage covers conversations, the knowledge graph, workflows, and settings by default; the project states that Row-Bot has no account system or hosted inference middleman.
- It supports Ollama, custom compatible endpoints, multiple API providers, and in-app paths for ChatGPT/Codex, Claude Subscription, and xAI Grok.
- Knowledge management, Git worktrees, browser automation, workflows, and channel messaging are coordinated through shared goal, approval, and execution-budget controls.
- Remote access is designed for one owner with single-use invitations, revocable sessions, hashed local credentials, and session-gated browser access.
- Local inference requires Ollama; the documented recommendation for stronger agent behavior is a 14B-class model and 16–32 GB RAM or suitable GPU, which can raise hardware costs.
- Cloud models, search, email, calendar, channels, and media generation depend on provider credentials, OAuth, or network access; selected conversation and tool context are sent to the chosen endpoint.
- Computer Use is an opt-in beta limited to interactive local Windows and macOS sessions, requiring Cua Driver installation and OS permissions; it does not support Linux or background use.
- Users migrating from Thoth or an early Row-Bot build must first launch a prior migration-capable release because the current startup path no longer performs the old rebrand migration.
- Server, reverse-proxy, and Docker deployments require the operator to manage TLS, trusted proxies, backups, rate limiting, and firewall policy.
How do you install or deploy this agent?
Source installation requires Python 3.12+. Install Ollama first only if you want local models; provider-only and custom-endpoint setups can skip it. Run:
git clone https://github.com/siddsachar/row-bot.git
cd row-bot
python -m venv .venv
source .venv/bin/activate
python -m pip install "uv>=0.7,<1.0"
uv sync --locked --all-extras --group test
uv run python launcher.py
On Windows, activate with .venv\Scripts\activate. Alternatively, download the Windows installer or macOS DMG from GitHub Releases. On Linux, run curl -fsSL https://raw.githubusercontent.com/siddsachar/row-bot/main/installer/install-linux.sh | bash. In the first-run wizard, select Ollama, a provider, or a custom OpenAI-compatible endpoint; cloud features require the corresponding API key or in-app OAuth sign-in.
How do you use this agent?
After launch, choose a model path in the setup wizard: select Ollama and a model for local use; enter credentials such as OPENAI_API_KEY or ANTHROPIC_API_KEY for a supported provider; or enter a compatible self-hosted endpoint such as http://127.0.0.1:1234/v1. Then send a task such as “Read report.pdf in my workspace” or “Run git status on my project.” For larger work, create a Goal, choose an Agent Profile, and delegate a bounded child task. For headless operation, run uv run python launcher.py serve --port 8080, or use row-bot serve in an installed build; create a browser invitation with row-bot access invite --layout desktop --origin https://row-bot.example.com.
How does this agent compare with similar options?
Compared with using Ollama alone for local inference, Row-Bot adds provider-qualified cloud and OpenAI-compatible endpoint paths while preserving model capability and fallback status. Compared with browser automation, native Computer Use targets local Windows/macOS applications but requires separate installation and consent; the project identifies browser automation as the preferred website mechanism. Docker Sandbox differs from direct local execution by working in a shadow workspace that must be explicitly imported before it changes the real repository.