English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Português | Français | Deutsch
Interpreta tareas de forma autónoma, planifica acciones y las ejecuta para alcanzar tus objetivos. Aprende tus preferencias y metas, y te ayuda de manera proactiva a planificar e iniciar tareas para cumplir tus objetivos de vida. Soporta MCP, Skills e integraciones con apps externas.
CraftBot espera tus órdenes. Configura tu propio CraftBot ahora.
- Bring Your Own Key (BYOK) — Sistema flexible de proveedores de LLM con soporte para OpenAI, Google Gemini, Anthropic Claude, BytePlus y modelos locales de Ollama. Cambia entre proveedores fácilmente.
- Sistema de Memoria — Destila y consolida los eventos del día cada medianoche.
- Agente Proactivo — Aprende tus preferencias, hábitos y metas de vida. Luego planifica e inicia tareas (con tu aprobación, por supuesto) para ayudarte a mejorar en la vida.
- Living UI — Crea, importa o evoluciona aplicaciones personalizadas que viven dentro de CraftBot. El agente es consciente del estado de la UI y puede leer, escribir y actuar sobre sus datos directamente.
- Integración con herramientas externas — Conéctate a Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord y Telegram (¡vendrán más!) con credenciales integradas y soporte OAuth.
- MCP — Integración con Model Context Protocol para ampliar las capacidades del agente con herramientas y servicios externos.
- Skills — Framework de skills extensible con skills integradas para planificación de tareas, investigación, revisión de código, operaciones de git y más.
- Multiplataforma — Soporte completo para Windows, macOS y Linux con variantes de código específicas por plataforma y contenedorización con Docker.
Important
El modo GUI está obsoleto. CraftBot ya no admite el modo GUI (automatización de escritorio). Usa en su lugar el modo Browser, TUI o CLI.
- Python 3.10+
git(necesario para clonar el repositorio)- Una clave API del proveedor de LLM que elijas (OpenAI, Gemini o Anthropic)
Node.js18+ (opcional — solo necesario para la interfaz del navegador)conda(opcional — si no se encuentra, el instalador ofrece instalar Miniconda automáticamente)
¿No estás seguro? Usa la Opción 1. Se encarga de todo por ti.
| Opción 1 — Servicio | Opción 2 — Conda | Opción 3 — Manual | |
|---|---|---|---|
| Para quién | La mayoría de usuarios, principiantes, pruebas | Usuarios de Conda que quieren entornos aislados | Usuarios avanzados, Python personalizado, control total |
| ¿Gestiona Python/entorno automáticamente? | ✅ Automático | ✅ Automático | ❌ Lo gestionas tú |
| ¿Corre en segundo plano? | ✅ Sí, como servicio | ❌ No | ❌ No |
| Cómo empezar | python craftbot.py install |
python install.py --conda |
python install.py |
Elige esta si: quieres que CraftBot simplemente funcione — servicio en segundo plano, inicio automático al arrancar, acceso directo en el escritorio, sin pasos manuales.
craftbot.py se encarga de todo: entorno Python, dependencias, gestión de procesos en segundo plano y registro de inicio automático.
# 1. Clona el repositorio
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Instala, registra el inicio automático y lanza CraftBot
python craftbot.py installEso es todo. El terminal se cierra solo, CraftBot se ejecuta en segundo plano y el navegador se abre automáticamente. Se crea un acceso directo en el escritorio para que puedas abrir el navegador en cualquier momento.
Gestión del servicio tras la instalación:
python craftbot.py start # Iniciar CraftBot en segundo plano
python craftbot.py stop # Detener CraftBot
python craftbot.py restart # Reiniciar CraftBot
python craftbot.py status # Comprobar si está en ejecución y si el inicio automático está activado
python craftbot.py logs # Ver el registro reciente
python craftbot.py uninstall # Detener, quitar inicio automático y desinstalar paquetesTip
Tras install o start, se crea automáticamente un acceso directo de CraftBot en el escritorio. Si cierras el navegador, haz doble clic en el acceso directo para reabrirlo.
Elige esta si: ya usas conda y quieres CraftBot en un entorno conda aislado.
install.py --conda configura un entorno conda dedicado craftbot. Si no se encuentra Miniconda en tu sistema, se instalará automáticamente.
# 1. Clona el repositorio
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Instala en un entorno conda
python install.py --conda
# 3. Ejecuta CraftBot
conda run -n craftbot python run.py
# Si conda no está en PATH (solo Windows):
&"$env:USERPROFILE\miniconda3\Scripts\conda.exe" run -n craftbot python run.pyNote
Cada vez que quieras ejecutar CraftBot, usa conda run -n craftbot python run.py. No hay servicio en segundo plano — lo inicias y detienes tú mismo.
Elige esta si: quieres control total sobre tu entorno Python y prefieres gestionar CraftBot tú mismo, sin servicio automático ni proceso en segundo plano.
install.py (sin opciones) hace una instalación pip estándar en el entorno Python activo. Inicias y detienes CraftBot manualmente con run.py.
# 1. Clona el repositorio
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Instala las dependencias en tu entorno Python activo
python install.py
# 3. Ejecuta CraftBot
python run.pyLa primera ejecución te guiará para configurar tus claves API y preferencias.
Note
Si Node.js no está instalado, el instalador te ofrecerá instrucciones paso a paso. También puedes omitir completamente el modo navegador y usar el modo TUI — sin Node.js: python run.py --tui
- Hablar con el agente de forma natural
- Pedirle que realice tareas complejas de varios pasos
- Escribir
/helppara ver los comandos disponibles - Conectarte a Google, Slack, Notion y más
CraftBot soporta varios modos de UI. Elige según tu preferencia:
| Modo | Comando | Requisitos | Recomendado para |
|---|---|---|---|
| Browser | python run.py |
Node.js 18+ | Interfaz web moderna, la más sencilla de usar |
| TUI | python run.py --tui |
Ninguno | UI en terminal, sin dependencias adicionales |
| CLI | python run.py --cli |
Ninguno | Línea de comandos, ligero |
El modo navegador es el predeterminado y recomendado. Si no tienes Node.js, el instalador te ofrecerá instrucciones de instalación o puedes usar el modo TUI en su lugar.
Living UI es un sistema/app/panel que evoluciona con tus necesidades.
¿Necesitas un tablero kanban con un copiloto de IA integrado? ¿Un CRM personalizado que se ajuste exactamente a tu flujo de trabajo? ¿Un panel de empresa que CraftBot pueda leer y manejar por ti? Pon uno en marcha como Living UI: se ejecuta junto a CraftBot y crece a medida que cambian tus necesidades.
- Construir desde cero. Describe lo que quieres en lenguaje natural. CraftBot monta el modelo de datos, la API del backend y la interfaz React, e itera contigo a través de un proceso de diseño estructurado.
- Instalar desde el marketplace. Explora Living UIs creadas por la comunidad en living-ui-marketplace.
- Importar un proyecto existente. Apunta CraftBot a un código fuente o repositorio de GitHub de Go, Node.js, Python, Rust o estático. Detecta el runtime, configura los chequeos de salud y lo envuelve como una Living UI.
Una Living UI nunca está "terminada". Pide al agente que añada funciones, rediseñe una vista o la conecte con nuevos datos a medida que crecen tus necesidades.
CraftBot está integrado en cada Living UI y es consciente de su estado: puede leer el DOM actual y los valores de los formularios, consultar los datos de la app mediante la API REST, y disparar acciones en tu nombre.
| Componente | Descripción |
|---|---|
| Agent Base | Capa de orquestación central que gestiona el ciclo de vida de las tareas, coordina los componentes y maneja el bucle agente principal. |
| LLM Interface | Interfaz unificada que soporta múltiples proveedores LLM (OpenAI, Gemini, Anthropic, BytePlus, Ollama). |
| Context Engine | Genera prompts optimizados con soporte de KV-cache. |
| Action Manager | Recupera y ejecuta acciones desde la biblioteca. Las acciones personalizadas son fáciles de extender. |
| Action Router | Selecciona inteligentemente la acción que mejor se ajusta a los requisitos de la tarea y resuelve los parámetros de entrada mediante el LLM cuando es necesario. |
| Event Stream | Sistema de publicación de eventos en tiempo real para seguimiento del progreso de tareas, actualizaciones de UI y monitoreo de ejecución. |
| Memory Manager | Memoria semántica basada en RAG con ChromaDB. Gestiona fragmentación de memoria, embeddings, recuperación y actualizaciones incrementales. |
| State Manager | Gestión global del estado para rastrear el contexto de ejecución del agente, el historial de conversación y la configuración en tiempo de ejecución. |
| Task Manager | Administra definiciones de tareas, habilita modos de tareas simples y complejas, crea todos y hace seguimiento a flujos de trabajo multietapa. |
| Skill Manager | Carga e inyecta skills intercambiables en el contexto del agente. |
| MCP Adapter | Integración con Model Context Protocol que convierte herramientas MCP en acciones nativas. |
| TUI Interface | Interfaz de usuario de terminal construida con el framework Textual para operación interactiva por línea de comandos. |
- Módulo de memoria — Listo.
- Integración con herramientas externas — ¡Seguimos añadiendo más!
- Capa MCP — Listo.
- Capa de Skills — Listo.
- Comportamiento proactivo — En curso
| Flag | Descripción |
|---|---|
--conda |
Usa entorno conda (opcional) |
| Flag | Descripción |
|---|---|
| (ninguno) | Ejecutar en modo Browser (recomendado, requiere Node.js) |
--tui |
Ejecutar en modo Terminal UI (no requiere dependencias) |
--cli |
Ejecutar en modo CLI (ligero) |
| Comando | Descripción |
|---|---|
install |
Instala dependencias, registra el autoarranque e inicia CraftBot |
start |
Inicia CraftBot en segundo plano |
stop |
Detiene CraftBot |
restart |
Detener y luego iniciar |
status |
Muestra el estado de ejecución y del autoarranque |
logs [-n N] |
Muestra las últimas N líneas de log (por defecto: 50) |
uninstall |
Elimina el registro de autoarranque |
Ejemplos de instalación:
# Instalación simple con pip (sin conda)
python install.py
# Con entorno conda (recomendado para usuarios de conda)
python install.py --condaEjecución de CraftBot:
# Modo navegador (por defecto, requiere Node.js)
python run.py
# Modo TUI (no requiere Node.js)
python run.py --tui
# Modo CLI (ligero)
python run.py --cli
# Con entorno conda
conda run -n craftbot python run.py
# O usando la ruta completa si conda no está en PATH
&"$env:USERPROFILE\miniconda3\Scripts\conda.exe" run -n craftbot python run.pyLinux/macOS (Bash):
# Modo navegador (por defecto, requiere Node.js)
python run.py
# Modo TUI (no requiere Node.js)
python run.py --tui
# Modo CLI (ligero)
python run.py --cli
# Con entorno conda
conda run -n craftbot python run.pyEjecuta CraftBot como un servicio en segundo plano para que siga funcionando incluso después de cerrar la terminal. Se crea automáticamente un acceso directo en el escritorio para reabrir el navegador cuando quieras.
# Instala dependencias, registra autoarranque al iniciar sesión e inicia CraftBot
python craftbot.py installEso es todo. La terminal se cierra sola, CraftBot se ejecuta en segundo plano y el navegador se abre automáticamente.
# Otros comandos del servicio:
python craftbot.py start # Inicia CraftBot en segundo plano
python craftbot.py status # Comprueba si está en ejecución
python craftbot.py stop # Detiene CraftBot
python craftbot.py restart # Reinicia CraftBot
python craftbot.py logs # Ver el log reciente| Comando | Descripción |
|---|---|
python craftbot.py install |
Instala dependencias, registra autoarranque al iniciar sesión, inicia CraftBot, abre el navegador y cierra la terminal automáticamente |
python craftbot.py start |
Inicia CraftBot en segundo plano — se reinicia automáticamente si ya está en ejecución (la terminal se cierra sola) |
python craftbot.py stop |
Detiene CraftBot |
python craftbot.py restart |
Detiene e inicia CraftBot |
python craftbot.py status |
Comprueba si CraftBot está en ejecución y si el autoarranque está habilitado |
python craftbot.py logs |
Muestra la salida reciente del log (-n 100 para más líneas) |
python craftbot.py uninstall |
Detiene CraftBot, elimina el registro de autoarranque, desinstala paquetes pip y purga la caché de pip |
Tip
Tras craftbot.py start o craftbot.py install, se crea automáticamente un acceso directo de CraftBot en el escritorio. Si cierras el navegador por error, haz doble clic en el acceso directo para reabrirlo.
Note
Instalación: El instalador ahora ofrece orientación clara si faltan dependencias. Si no se encuentra Node.js, se te pedirá instalarlo o podrás cambiar al modo TUI. La instalación detecta automáticamente la disponibilidad de GPU y recurre al modo solo CPU si es necesario.
Tip
Configuración inicial: CraftBot te guiará por una secuencia de onboarding para configurar claves API, el nombre del agente, MCPs y Skills.
Note
Playwright Chromium: Opcional para la integración con WhatsApp Web. Si falla la instalación, el agente seguirá funcionando para otras tareas. Puedes instalarlo manualmente más tarde con: playwright install chromium
Si ves "npm not found in PATH" al ejecutar python run.py:
- Descárgalo desde nodejs.org (elige la versión LTS)
- Instálalo y reinicia tu terminal
- Ejecuta
python run.pyde nuevo
Alternativa: Usa el modo TUI (no necesita Node.js):
python run.py --tuiAhora el instalador ofrece mensajes de error detallados con soluciones. Si la instalación falla:
- Revisa la versión de Python: asegúrate de tener Python 3.10+ (
python --version) - Revisa tu conexión a Internet: las dependencias se descargan durante la instalación
- Limpia la caché de pip: ejecuta
pip install --upgrade pipe inténtalo de nuevo
La instalación de Playwright Chromium es opcional. Si falla:
- El agente seguirá funcionando para otras tareas
- Puedes omitirla o instalarla más tarde:
playwright install chromium - Solo es necesaria para la integración con WhatsApp Web
Para una solución de problemas más detallada, consulta INSTALLATION_FIX.md.
El agente puede conectarse a varios servicios usando OAuth. Las builds de release incluyen credenciales integradas, pero también puedes usar las tuyas.
Para builds de release con credenciales integradas:
/google login # Conectar Google Workspace
/zoom login # Conectar Zoom
/slack invite # Conectar Slack
/notion invite # Conectar Notion
/linkedin login # Conectar LinkedIn| Servicio | Tipo de auth | Comando | ¿Requiere secreto? |
|---|---|---|---|
| PKCE | /google login |
No (PKCE) | |
| Zoom | PKCE | /zoom login |
No (PKCE) |
| Slack | OAuth 2.0 | /slack invite |
Sí |
| Notion | OAuth 2.0 | /notion invite |
Sí |
| OAuth 2.0 | /linkedin login |
Sí |
Si prefieres usar tus propias credenciales OAuth, añádelas a tu archivo .env:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com- Ve a Google Cloud Console
- Habilita las APIs de Gmail, Calendar, Drive y People
- Crea credenciales OAuth de tipo Desktop app
- Copia el Client ID (el secreto no es necesario con PKCE)
ZOOM_CLIENT_ID=your-zoom-client-id- Ve a Zoom Marketplace
- Crea una app OAuth
- Copia el Client ID
SLACK_SHARED_CLIENT_ID=your-slack-client-id
SLACK_SHARED_CLIENT_SECRET=your-slack-client-secret- Ve a Slack API
- Crea una nueva app
- Añade los scopes OAuth:
chat:write,channels:read,users:read, etc. - Copia el Client ID y el Client Secret
NOTION_SHARED_CLIENT_ID=your-notion-client-id
NOTION_SHARED_CLIENT_SECRET=your-notion-client-secret- Ve a Notion Developers
- Crea una nueva integración (Public integration)
- Copia el OAuth Client ID y el Secret
LINKEDIN_CLIENT_ID=your-linkedin-client-id
LINKEDIN_CLIENT_SECRET=your-linkedin-client-secret- Ve a LinkedIn Developers
- Crea una app
- Añade los scopes OAuth 2.0
- Copia el Client ID y el Client Secret
La raíz del repositorio incluye una configuración Docker con Python 3.10, paquetes clave del sistema (incluido Tesseract para OCR) y todas las dependencias de Python definidas en environment.yml/requirements.txt, de modo que el agente pueda ejecutarse de forma consistente en entornos aislados.
A continuación las instrucciones para ejecutar nuestro agente con contenedor.
Desde la raíz del repositorio:
docker build -t craftbot .La imagen está configurada para lanzar el agente con python -m app.main por defecto. Para ejecutarlo de forma interactiva:
docker run --rm -it craftbotSi necesitas suministrar variables de entorno, pasa un archivo env (por ejemplo, basado en .env.example):
docker run --rm -it --env-file .env craftbotMonta cualquier directorio que deba persistir fuera del contenedor (como carpetas de datos o caché) usando -v, y ajusta los puertos u otras opciones según lo necesite tu despliegue. La imagen trae dependencias del sistema para OCR (tesseract) y clientes HTTP comunes, de modo que el agente pueda trabajar con archivos y APIs de red dentro del contenedor.
Por defecto, la imagen usa Python 3.10 y empaqueta las dependencias de Python de environment.yml/requirements.txt, así que python -m app.main funciona de entrada.
¡Las PRs son bienvenidas! Consulta CONTRIBUTING.md para el flujo de trabajo (fork → rama desde dev → PR). Todas las pull requests pasan automáticamente por CI de lint + smoke-test. Si tienes preguntas o quieres una conversación más rápida, únete a nuestro Discord o escríbenos a thamyikfoong(at)craftos.net.
Este proyecto está licenciado bajo la Licencia MIT. Eres libre de usar, alojar y monetizar este proyecto (debes dar crédito a este proyecto en caso de distribución y monetización).
Desarrollado y mantenido por CraftOS y los contribuyentes @zfoong y @ahmad-ajmal. Si CraftBot te resulta útil, ¡pon una ⭐ al repositorio y compártelo con otras personas!








