CraftBot
A self-hosted general-purpose AI agent that builds and operates its own SaaS tools, remembers your preferences, and proactively plans and executes your daily work.
Evidence is limited to README, LICENSE, requirements, CI configs; no agent-behavior source is present. The dependency surface is very broad (pyautogui, mss screen capture, telethon, googlesearch-python, boto3) with no permission documentation, so least_privilege cannot be credited beyond 1. User confirmation is asserted in one sentence ("with your consent") — 1. The installer silently registers autostart, runs in the background, and creates a desktop shortcut, weakening transparency; data flows and key handling are undocumented (sensitive_data_handling 0). No lockfile or dependency audit — 1. Uninstall exists but no rollback of data — 1. External effects (browser control, messaging platforms) lack documented confirmation gates — 1. Attribution is a copyright line and acknowledgment only — 1.
conftest.py shows a real test harness with careful config pinning, but the main CI workflow is disabled (renamed ci.yml.disabled), so self_consistency is 1. Dependency troubleshooting (Python version, pip cache, optional Playwright) earns dependency_availability 2; documented failure paths and INSTALLATION_FIX.md earn failure_messages 2.
Multi-OS badges, Docker, CLI/browser modes, and multiple LLM providers justify environment_fit 2. Rich scenario description (40+ profiles, 120 playbooks) but capability boundaries get one sentence ("actively developed") — 1. Trigger/session-routing precision has no verifiable source — 1. Audience/scenarios is 2.
README is well structured, multilingual, with quick start, troubleshooting, and Docker: information_architecture 2 and install_notes 2. Three concrete demo Living UIs plus FAQ: examples_and_faq 2. Full MIT text: license 3. But no CHANGELOG or version scheme (0); inconsistent naming (craftbot.py vs run.py both referenced) — 1; known limitations limited to one sentence — 1; maintenance is a Discord/email plus an assertion, no response commitments — 1.
All effect claims (
Numeric claims (40+ profiles, 120 playbooks, 150+ MCP, 170+ skills) point to external repos not traceable here — 1. No third-party audit/test evidence — cross_source_corroboration 0. Marketing prose and executable facts are mixed but roughly separable — 1.
- The install command silently registers autostart, runs in the background, and creates a desktop shortcut; audit the installer before enterprise deployment.
- requirements include high-privilege libraries (mss screen capture, pyautogui desktop automation, telethon messaging) with no matching permission documentation; evaluate in an isolated environment first.
- The main CI workflow is disabled (ci.yml.disabled), so the advertised lint + smoke tests are not enforced at this revision.
- All capability counts (40+ profiles, 120 playbooks, 150+ MCP, 170+ skills) reference external repos with no in-repo corroboration; do not take them at face value.
- No version numbers or changelog; pin revisions yourself for production use.
What does this agent do, and when should you use it?
CraftBot is an open-source, general-purpose AI agent harness from CraftOS with the tagline "One agent. Every kind of work." Rather than stopping at chat and tool calls, it builds, evolves, and operates its own SaaS-style tools — called Living UIs — and acts on their data directly. It ships with 40+ Agent Profiles (CEO, finance, marketing lead, devops engineer, video producer, and more) and 120 playbooks across 19 categories. Core components include a hybrid memory system (RAG + knowledge graph + Agent File System, consolidated nightly), multi-tasking with session routing, proactive planning with user approval, and integrations with Google Workspace, Slack, Notion, Zoom, Discord, Telegram, and more. It runs as a browser UI or a CLI, uses a BYOK model for OpenAI, Gemini, Claude, OpenRouter, or local Ollama, installs as a background service with one command, and also ships a Docker image. The project is MIT-licensed and under active weekly development.
After python craftbot.py install, CraftBot runs in the background and opens a browser interface. The agent takes tasks from its playbook catalogue (120 ready-made automations) or from Agent Bundles (40+ role profiles, one-click import) and executes them like a remote employee. It can: build Living UI apps from plain-language descriptions (scaffolding data model, backend API, and React UI); install community apps from the living-ui-marketplace; or import existing Go, Node.js, Python, Rust, or static repos as Living UIs (auto-detecting runtime and configuring health checks). The agent stays context-aware of each app — reading DOM and form values, querying data via REST API, and triggering actions. It remembers preferences and goals, consolidates daily events into memory at midnight, and can proactively initiate planning tasks with approval. External integrations connect via OAuth or user-supplied keys; it includes 150+ MCPs and 170+ Skills with quick installation and one-click skill creation from completed tasks. Playwright chromium supports browser automation (e.g., WhatsApp Web), and the Docker image bundles Tesseract OCR plus Python dependencies, launching via python -m app.main.
- An individual who wants a self-hosted personal assistant that learns their preferences and goals and proactively suggests plans and tasks.
- A small-team lead who needs a kanban board, custom CRM, or company dashboard without paying for subscription tools — CraftBot can generate and evolve one on demand.
- A developer who wants to run a general agent headlessly via CLI or Docker, freely switching between OpenAI, Claude, and a local Ollama model.
- An indie operator who wants an existing codebase imported as an operable Living UI that the agent can then maintain on their behalf.
- A creator or operator who wants to automate daily work across Slack, Notion, and LinkedIn quickly using the 120 built-in playbooks across 19 categories.
What are this agent's strengths and limitations?
- Living UI is a genuine differentiator: the agent builds, imports, and evolves operable apps and acts directly on their DOM, form values, and REST data instead of just chatting.
- BYOK multi-provider design — OpenAI, Gemini, Claude, OpenRouter, plus Ollama for zero-token local runs — avoids vendor lock-in.
- Hybrid memory (RAG + knowledge graph + Agent File System) with nightly consolidation is a capability most agent harnesses lack.
- Rich out-of-the-box assets: 120 playbooks, 40+ agent profiles, 150+ MCPs, 170+ skills; one-command background install and a ready Docker image.
- Installation requires Python 3.10+ plus Node.js 18+ for browser mode; missing npm forces CLI mode — a dual-runtime burden.
- Playwright chromium is optional and may fail (only WhatsApp Web needs it), and OCR depends on Tesseract — extra system-level dependencies.
- The project is under active weekly development, so stability and interfaces may shift; adopters must absorb upstream churn.
- The proactive agent learns habits and initiates tasks (with approval), so privacy- and permission-sensitive users should carefully review its memory and OAuth scopes for external integrations.
How do you install or deploy this agent?
Requires Python 3.10+; Node.js 18+ for browser mode.
bash
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
python craftbot.py installThe terminal closes itself, CraftBot runs in the background, the browser opens automatically, and a desktop shortcut is created. Alternatively use Docker: docker build -t craftbot . then docker run --rm -it --env-file .env craftbot (see .env.example). The image is based on Python 3.10, includes Tesseract OCR and all dependencies from requirements.txt, and starts with python -m app.main by default.
How do you use this agent?
Interact daily through the browser UI: open the playbook picker from the top bar and pick a playbook to start running tasks, or one-click import agent roles from the CraftBot Agent Bundles repository. CLI mode (no Node.js needed): python run.py --cli.
Service management:
bash
python craftbot.py start # Start in background
python craftbot.py stop # Stop
python craftbot.py restart # Restart
python craftbot.py status # Running state and auto-start
python craftbot.py logs # Recent log output
python craftbot.py uninstall # Stop and uninstallConfigure your LLM provider API key (BYOK): OpenAI, Google Gemini, Anthropic Claude, OpenRouter, or run locally free with Ollama. Connect external integrations (Google Workspace, Slack, Notion, Zoom, etc.) via OAuth or your own key; multiple accounts per integration are supported. If npm is missing, fall back to CLI mode; a failed Playwright chromium install can be skipped (only needed for WhatsApp Web).
How does this agent compare with similar options?
The README contrasts CraftBot with most agent harnesses that "stop at chat and tool calls," claiming its differentiators are the self-built SaaS tool layer, multi-tasking/session routing, and proactive agent behavior; no specific competitors are named in the source.
FAQ
Does CraftBot cost anything to use?
What permissions and network access does it need?
What if Playwright or Node.js installation fails?
playwright install chromium. Without Node.js, use CLI mode via python run.py --cli.