Most agent harnesses stop at chat and tool calls. CraftBot goes further than that. It builds, evolves, and operates its own SaaS tools, then uses that tool layer to communicate and automate with you.
Beyond that, CraftBot has all the core capabilities of a general-purpose agent harness. It executes tasks the way a remote employee would, remembers your preferences and goals, and proactively helps you plan and act on what matters to you.
日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Português | Français | Deutsch
Aside from being an AI agent that can create and operate its own SaaS tools, CraftBot includes all the core features of an agent harness, enabling it to work as a general AI agent alongside you across your tasks, tools, memory, and daily workflows.
- Living UI. Build, import, or evolve custom apps that live inside CraftBot. The agent stays aware of the UI's state and can read, write, and act on its data directly.
- Multi-tasking and session routing. Still using
/newcommand? CraftBot knows when to start a new session and when to resume a task, keeping conversation and context unified. - Self-hosted and BYOK. Flexible LLM provider system supporting OpenAI, Google Gemini, Anthropic Claude, OpenRoute, and more. Or host your own model with 0 tokens spent using Ollama.
- Memory System. Local knowledge base built from your interaction with CraftBot via RAG + Agent File System + distillation. CraftBot dreams and consolidates events that happened throughout the day at midnight.
- Proactive Agent. Learn your preferences, habits, and life goals. Then, perform planning and initiate tasks (with approval, of course) to help you improve in life.
- External Tools Integration. Connect to Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, and Telegram (more to come!) with embedded credentials and OAuth support.
- Skills and MCP. 150+ MCP and 170+ Skills ready. Quick installation of new Skills and MCPs. Create/improve Skills from completed tasks with one click.
- Cross-Platform Full support for Windows, macOS, and Linux with platform-specific code variants and Docker containerization.
- Browser interface and CLI support. Use CraftBot the way it fits: through a simple browser UI for everyday interaction, or via the CLI for scripting and headless environments.
Requirements: Python 3.10+ · Node.js 18+ for browser mode
# 1. Clone the repository
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Install, register auto-start, and launch CraftBot
python craftbot.py installThat's it. The terminal closes itself, CraftBot runs in the background, and the browser opens automatically. A desktop shortcut is created so you can reopen the browser anytime.
Managing the service after install:
python craftbot.py start # Start CraftBot in the background
python craftbot.py stop # Stop CraftBot
python craftbot.py restart # Restart CraftBot
python craftbot.py status # Check if it's running and if auto-start is enabled
python craftbot.py logs # See recent log output
python craftbot.py uninstall # Stop, remove auto-start, and uninstall packagesTip
After install or start, a CraftBot desktop shortcut is created automatically. If you close the browser, just double-click the shortcut to reopen it.
Living UI is a system/app/dashboard that evolves with your needs.
- Need a kanban board with an AI co-pilot built in?
- A custom CRM shaped exactly like your workflow?
- A company dashboard that CraftBot can read and drive on your behalf?
Spin it up as a Living UI that runs alongside CraftBot and grows as your needs change.
- Build from scratch. Describe what you want in plain language. CraftBot scaffolds the data model, backend API, and React UI, then iterates with you through a structured design process.
- Install from the marketplace. Browse community-built Living UIs from living-ui-marketplace.
- Import an existing project. Point CraftBot at a Go, Node.js, Python, Rust, or static source code or github repo. It detects the runtime, configures health checks, and wraps it as a Living UI.
A Living UI is never "finished." Ask the agent to add features, redesign a view, or hook it into new data as your needs grow.
CraftBot is embedded in every Living UI and context-aware of its state: it can read the current DOM and form values, query app data through the REST API, and trigger actions on your behalf.
Build, customize, and evolve your own Living UI, and rely less on subscription tools that were never built to fit your needs perfectly.
We are actively looking for developers to show off their Living UIs, and export them to the Living UI marketplace. PRs are welcome!
- 📋 Kanban Board — Every task, follow-up, and CTA in one place. CraftBot can operate it to perform PM work for you.
- 📊 Habit Tracker — Develop and track your habits. Github-style activity calendar to track your habits like a developer.
- 🐦 Luolinglo — Not Duolingo, but you can learn new languages, create flashcards, and practice with CraftBot.
Browse and contribute to the Living UI marketplace →
| v0 / Lovable / Bolt | OpenClaw | Claude Code | CraftBot | |
|---|---|---|---|---|
| Builds custom apps | ✅ One-shot | 🚫 | ✅ (manual) | ✅ Conversational |
| Agent operates the app | 🚫 | 🚫 | ✅ Embedded in every Living UI | |
| Persistent agent memory | 🚫 | ✅ | ✅ | ✅ RAG + Agent file system + Distillation |
| Self-hosted | ✅ | 🚫 SaaS | ✅ MIT, your machine | |
| Model agnostic | ✅ | ✅ | ✅ Major providers + OpenRouter |
If you see "npm not found in PATH" when running python run.py:
- Download from nodejs.org (choose LTS version)
- Install and restart your terminal
- Run
python run.pyagain
Alternative: Use TUI mode instead (no Node.js needed):
python run.py --tuiThe installer now provides detailed error messages with solutions. If installation fails:
- Check Python version: Make sure you have Python 3.10+ (
python --version) - Check internet: Dependencies are downloaded during installation
- Clear pip cache:
pip install --upgrade pipand try again
Playwright chromium installation is optional. If it fails:
- The agent will still work fine for other tasks
- You can skip it or install later:
playwright install chromium - Only needed for WhatsApp Web integration
For detailed troubleshooting, see INSTALLATION_FIX.md.
The repository root included a Docker configuration with Python 3.10, key system packages (including Tesseract for OCR), and all Python dependencies defined in environment.yml/requirements.txt so the agent can run consistently in isolated environments.
Below are the setup instruction of running our agent with container.
From the repository root:
docker build -t craftbot .The image is configured to launch the agent with python -m app.main by default. To run it interactively:
docker run --rm -it craftbotIf you need to supply environment variables, pass an env file (for example, based on .env.example):
docker run --rm -it --env-file .env craftbotMount any directories that should persist outside the container (such as data or cache folders) using -v, and adjust ports or additional flags as needed for your deployment. The container ships with system dependencies for OCR (tesseract) and common HTTP clients so the agent can work with files and network APIs inside the container.
By default the image uses Python 3.10 and bundles the Python dependencies from environment.yml/requirements.txt, so python -m app.main works out of the box.
PRs are welcome! See CONTRIBUTING.md for the workflow (fork → branch from dev → PR). All pull requests run through lint + smoke-test CI automatically.
Important
CraftBot is under active development with weekly improvements. For questions or a faster conversation, join us on Discord or email thamyikfoong(at)craftos.net.
This project is licensed under the MIT License. You are free to use, host, and monetize this project (you must credit this project in case of distribution and monetization).
Developed and maintained by CraftOS and contributors.
If you find CraftBot useful, please ⭐ the repository and share it with others!






