{"data":{"slug":"siddsachar-row-bot","name":"row-bot","tagline":"Personal AI assistant with local-first integration","github_url":"https://github.com/siddsachar/row-bot","owner":"siddsachar","repo":"row-bot","owner_avatar_url":"https://avatars.githubusercontent.com/u/50956096?v=4","primary_language":"Python","stars":1503,"forks":172,"topics":["ai-assistant","langchain","langchain-python","local-llm","ollama","privacy","react-agent","sovereign-ai"],"archived":false,"github_pushed_at":"2026-09-19T14:26:06+00:00","maintenance_label":"Very active","stars_delta_30d":79,"url":"https://www.graphcanon.com/tools/siddsachar-row-bot","markdown_url":"https://www.graphcanon.com/tools/siddsachar-row-bot.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/siddsachar-row-bot","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=siddsachar-row-bot","description":"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.","homepage_url":"https://row-bot.ai","license":"Apache-2.0","open_issues":30,"watchers":8,"ai_summary":"Row-Bot provides users with a personal AI assistant featuring local and cloud model support for voice processing, vision tasks, shell interactions, browser automation, scheduled jobs, health monitoring, and secure messaging while ensuring data privacy by keeping it locally.","readme_excerpt":"### Docker / Headless Server\n\nThe official image is a complete single-owner server deployment for amd64 and\narm64. From the repository root, pin the release and start the hardened\nloopback-only Compose profile:\n\n```bash\nexport ROW_BOT_IMAGE=ghcr.io/siddsachar/row-bot:4.9.1\ndocker compose -f deploy/docker/compose.yaml up --detach\ndocker compose -f deploy/docker/compose.yaml ps\n```\n\nAfter the service is healthy, create the first one-time owner invitation from a\ntrusted terminal:\n\n```bash\ndocker compose -f deploy/docker/compose.yaml exec row-bot \\\n  row-bot access invite --layout desktop --origin http://127.0.0.1:8080\n```\n\nCompose persists app data and a separately mounted encryption key in two named\nvolumes. Back up both together. The container does not grant owner access from a\nDocker bridge address, and every browser must authenticate. Read\n[Docker And VPS Operations](https://row-bot.ai/docs/operations/docker) before\nadding LAN, Tailscale, SSH, reverse-proxy, or public VPS reachability.\n\n---\n\n## Quick Start\n\nOn first launch, Row-Bot opens a setup wizard. Pick one of three paths:\n\n| Mode | Use it when | Setup |\n|------|-------------|-------|\n| Local | You want inference and embeddings on your machine. | Choose a local runtime, download a recommended model such as `qwen3:14b` or a smaller model such as `qwen3:8b`, then start chatting. Ollama is the supported local runtime today. |\n| Providers | You want hosted models, frontier reasoning, media generation, or no local model download. | Add an OpenAI, Anthropic, Google AI, xAI, MiniMax, OpenRouter, Atlas Cloud, Requesty, Ollama Cloud, OpenCode Zen, or OpenCode Go key, refresh live catalogs where available, pick a default model, and save Quick Choices. ChatGPT / Codex, Claude Subscription, and xAI Grok OAuth sign-in are available in Settings after launch. |\n| Custom/Self-hosted | You run oMLX, LM Studio, vLLM, llama.cpp, LocalAI, LiteLLM, SGLang, or a private gateway. | Enter an OpenAI-compatible base URL such as `http://127.0.0.1:1234/v1`, choose the closest compatibility profile, add a key if your server requires one, fetch models, probe the exact model, verify or declare its server context, and choose a default. |\n\nFor routine chats, use Row-Bot normally. For longer work, create a Goal so\nprogress and blockers stay visible, choose an Agent Profile for the role you\nwant, and let the parent orchestrate child agents when subtasks can run\nseparately under tighter tool and approval boundaries. Required children join\nthe same live parent turn; detached children can continue without blocking it.\nWhen independent children need to write in parallel, give each one a distinct\nexisting local folder as its Developer workspace. Changing only a shell working\ndirectory does not partition writer ownership, and children assigned to the\nsame folder still serialize. Use child worktrees when the task instead needs\nGit-backed branch isolation.\n\nCapability loading defaults to the recommended Auto mode. Core tools permitted\nby the active Agent Profile stay directly available; enabled external tools and\nskills are searched locally and loaded for the current task as needed. Use\n`Settings -> Tools -> Capability loading` to select eager compatibility mode\nfor an older provider or integration that requires every external schema.\n\nSupported models expose a **Thinking** control beside the desktop model picker\nand inside compact mobile Chat controls. The available effort, On/Off, and\ntoken-budget choices come from the exact provider-qualified model and persist\nonly for that model in that chat. Use `/reasoning` in Chat or a connected\nmessaging channel to inspect or change the same setting; Provider default sends\nno per-thread override and remains the compatibility choice.\n\nTo use the same running Row-Bot from another computer, phone, or tablet, open\n`Settings -> System -> Remote Access` on an authorized owner device. Select a\ncurrent route or add one exact trusted HTTP or HTTPS address, create a one-time\ninvita","github_created_at":"2026-03-06T19:50:36+00:00","created_at":"2026-07-15T10:58:31.438037+00:00","updated_at":"2026-09-20T05:00:07.228819+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"},{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"ai-assistant","name":"ai-assistant"},{"slug":"langchain","name":"langchain"},{"slug":"local-llm","name":"local-llm"},{"slug":"ollama","name":"ollama"},{"slug":"privacy","name":"privacy"},{"slug":"react-agent","name":"react-agent"},{"slug":"sovereign-ai","name":"sovereign-ai"}],"trust":{"provenance":{"is_fork":false,"github_id":1174747993,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:00:04.456Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":9,"days_since_push":0,"last_release_at":"2026-08-28T13:53:10Z","stars_delta_30d":79,"open_issues_delta_30d":-3},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T10:58:32.733Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:00:05.649Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-09-20T05:00:05.649Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T05:00:05.649Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-20T05:00:05.649Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you prioritize data privacy and prefer all models to run locally via Ollama or your chosen environment.","For users requiring a highly integrated system that combines multiple functionalities such as voice processing, vision tasks, shell interactions, and browser automation into one tool."],"when_not_to_use":["If you are looking for an assistant that runs exclusively in the cloud because Row-Bot focuses on local-first integration with optional cloud services.","In scenarios where centralized data management is a requirement as Row-Bot emphasizes data sovereignty by keeping information locally accessible and secure."],"source":"enrich:decision_facts","observed_at":"2026-07-17T12:07:43.117Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Row-Bot is a personal AI assistant emphasizing local processing for voice tasks, vision analysis, shell interactions, browser automation, scheduling, health tracking and secure messaging."}]}}