English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Português | Deutsch
CraftBot est votre Assistant IA Personnel qui vit à l'intérieur de votre machine et travaille 24h/24 pour vous.
Il interprète les tâches de manière autonome, planifie les actions et les exécute pour atteindre vos objectifs. Il apprend vos préférences et objectifs, et vous aide de façon proactive à planifier et lancer des tâches pour atteindre vos buts de vie. Les MCP, les Skills et les intégrations d'applications externes sont pris en charge.
CraftBot attend vos ordres. Configurez dès maintenant votre propre CraftBot.
- Bring Your Own Key (BYOK) — Système flexible de fournisseurs LLM prenant en charge OpenAI, Google Gemini, Anthropic Claude, BytePlus et les modèles locaux Ollama. Basculez facilement entre fournisseurs.
- Système de mémoire — Distille et consolide les événements de la journée à minuit.
- Agent proactif — Apprend vos préférences, habitudes et objectifs de vie. Puis planifie et lance des tâches (avec votre accord, bien sûr) pour vous aider à progresser.
- Living UI — Créez, importez ou faites évoluer des applications personnalisées qui vivent au sein de CraftBot. L'agent reste conscient de l'état de l'UI et peut lire, écrire et agir directement sur ses données.
- Intégration d'outils externes — Connectez-vous à Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord et Telegram (d'autres à venir !) avec des identifiants intégrés et le support OAuth.
- MCP — Intégration du Model Context Protocol pour étendre les capacités de l'agent avec des outils et services externes.
- Skills — Framework de skills extensible avec des skills intégrées pour la planification de tâches, la recherche, la revue de code, les opérations git, etc.
- Multiplateforme — Prise en charge complète de Windows, macOS et Linux avec des variantes de code spécifiques à chaque plateforme et la conteneurisation Docker.
Important
Le mode GUI est déprécié. CraftBot ne prend plus en charge le mode GUI (automatisation de bureau). Utilisez plutôt le mode Browser, TUI ou CLI.
- Python 3.10+
git(nécessaire pour cloner le dépôt)- Une clé API pour le fournisseur LLM de votre choix (OpenAI, Gemini ou Anthropic)
Node.js18+ (optionnel — requis uniquement pour l'interface navigateur)conda(optionnel — s'il est introuvable, l'installateur propose d'installer Miniconda automatiquement)
Vous hésitez ? Optez pour l'Option 1. Elle gère tout pour vous.
| Option 1 — Service | Option 2 — Conda | Option 3 — Manuel | |
|---|---|---|---|
| Pour qui | La plupart des utilisateurs, débutants, tests | Utilisateurs Conda souhaitant des environnements isolés | Utilisateurs avancés, Python personnalisé, contrôle total |
| Gère Python/l'environnement automatiquement ? | ✅ Automatique | ✅ Automatique | ❌ Vous le gérez |
| Tourne en arrière-plan ? | ✅ Oui, en tant que service | ❌ Non | ❌ Non |
| Comment démarrer | python craftbot.py install |
python install.py --conda |
python install.py |
Choisissez cette option si : vous voulez que CraftBot fonctionne directement — service en arrière-plan, démarrage automatique à la connexion, raccourci sur le bureau, aucune étape manuelle.
craftbot.py gère tout : environnement Python, dépendances, gestion du processus en arrière-plan et enregistrement du démarrage automatique.
# 1. Clonez le dépôt
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Installez, enregistrez le démarrage automatique et lancez CraftBot
python craftbot.py installC'est tout. Le terminal se ferme tout seul, CraftBot tourne en arrière-plan et le navigateur s'ouvre automatiquement. Un raccourci sur le bureau est créé pour rouvrir le navigateur à tout moment.
Gestion du service après installation :
python craftbot.py start # Démarrer CraftBot en arrière-plan
python craftbot.py stop # Arrêter CraftBot
python craftbot.py restart # Redémarrer CraftBot
python craftbot.py status # Vérifier s'il tourne et si le démarrage automatique est activé
python craftbot.py logs # Voir les logs récents
python craftbot.py uninstall # Arrêter, supprimer le démarrage auto et désinstaller les paquetsTip
Après install ou start, un raccourci CraftBot sur le bureau est créé automatiquement. Si vous fermez le navigateur, double-cliquez sur le raccourci pour le rouvrir.
Choisissez cette option si : vous utilisez déjà conda et souhaitez CraftBot dans un environnement conda isolé.
install.py --conda configure un environnement conda dédié craftbot. Si Miniconda n'est pas trouvé sur votre système, il sera installé automatiquement.
# 1. Clonez le dépôt
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Installez dans un environnement conda
python install.py --conda
# 3. Lancez CraftBot
conda run -n craftbot python run.py
# Si conda n'est pas dans le PATH (Windows uniquement) :
&"$env:USERPROFILE\miniconda3\Scripts\conda.exe" run -n craftbot python run.pyNote
Chaque fois que vous voulez lancer CraftBot, utilisez conda run -n craftbot python run.py. Il n'y a pas de service en arrière-plan — vous le démarrez et l'arrêtez vous-même.
Choisissez cette option si : vous souhaitez un contrôle total sur votre environnement Python et préférez gérer CraftBot vous-même, sans service automatique ni processus en arrière-plan.
install.py (sans options) effectue une installation pip standard dans l'environnement Python actif. Vous démarrez et arrêtez CraftBot manuellement avec run.py.
# 1. Clonez le dépôt
git clone https://github.com/CraftOS-dev/CraftBot.git
cd CraftBot
# 2. Installez les dépendances dans votre environnement Python actif
python install.py
# 3. Lancez CraftBot
python run.pyLa première exécution vous guidera dans la configuration de vos clés API et préférences.
Note
Si Node.js n'est pas installé, l'installateur fournira des instructions étape par étape. Vous pouvez aussi ignorer complètement le mode navigateur et utiliser le mode TUI — sans Node.js : python run.py --tui
- Discuter avec l'agent naturellement
- Lui demander d'exécuter des tâches complexes en plusieurs étapes
- Taper
/helppour voir les commandes disponibles - Vous connecter à Google, Slack, Notion et plus
CraftBot propose plusieurs modes d'UI. Choisissez selon vos préférences :
| Mode | Commande | Prérequis | Idéal pour |
|---|---|---|---|
| Browser | python run.py |
Node.js 18+ | Interface web moderne, la plus simple à utiliser |
| TUI | python run.py --tui |
Aucun | UI en terminal, aucune dépendance requise |
| CLI | python run.py --cli |
Aucun | Ligne de commande, léger |
Le mode navigateur est le mode par défaut et recommandé. Si vous n'avez pas Node.js, l'installateur vous guidera pour l'installer, ou vous pouvez utiliser le mode TUI.
Living UI est un système/une application/un tableau de bord qui évolue avec vos besoins.
Besoin d'un tableau kanban avec un copilote IA intégré ? D'un CRM sur mesure taillé exactement pour votre flux de travail ? D'un tableau de bord d'entreprise que CraftBot peut lire et piloter pour vous ? Lancez-le comme une Living UI — elle tourne aux côtés de CraftBot et grandit au rythme de vos besoins.
- Construire à partir de zéro. Décrivez ce que vous voulez en langage naturel. CraftBot met en place le modèle de données, l'API backend et l'interface React, et itère avec vous à travers un processus de conception structuré.
- Installer depuis la marketplace. Parcourez les Living UIs créées par la communauté sur living-ui-marketplace.
- Importer un projet existant. Pointez CraftBot vers un code source ou un dépôt GitHub en Go, Node.js, Python, Rust ou statique. Il détecte le runtime, configure les vérifications de santé et l'encapsule en Living UI.
Une Living UI n'est jamais « terminée ». Demandez à l'agent d'ajouter des fonctionnalités, de repenser une vue ou de la brancher à de nouvelles données à mesure que vos besoins évoluent.
CraftBot est intégré à chaque Living UI et conscient de son état : il peut lire le DOM courant et les valeurs des formulaires, interroger les données de l'app via l'API REST, et déclencher des actions en votre nom.
| Composant | Description |
|---|---|
| Agent Base | Couche d'orchestration centrale qui gère le cycle de vie des tâches, coordonne les composants et pilote la boucle agentique principale. |
| LLM Interface | Interface unifiée prenant en charge plusieurs fournisseurs LLM (OpenAI, Gemini, Anthropic, BytePlus, Ollama). |
| Context Engine | Génère des prompts optimisés avec support du cache KV. |
| Action Manager | Récupère et exécute les actions depuis la bibliothèque. Les actions personnalisées sont faciles à étendre. |
| Action Router | Sélectionne intelligemment l'action la plus adaptée aux exigences de la tâche et résout les paramètres d'entrée via le LLM au besoin. |
| Event Stream | Système de publication d'événements en temps réel pour le suivi de la progression des tâches, les mises à jour d'UI et le monitoring d'exécution. |
| Memory Manager | Mémoire sémantique basée sur le RAG via ChromaDB. Gère le découpage, l'embedding, la récupération et les mises à jour incrémentales. |
| State Manager | Gestion globale de l'état pour suivre le contexte d'exécution de l'agent, l'historique de conversation et la configuration d'exécution. |
| Task Manager | Gère les définitions de tâches, permet des modes simples et complexes, crée des to-dos et suit les workflows multi-étapes. |
| Skill Manager | Charge et injecte des skills enfichables dans le contexte de l'agent. |
| MCP Adapter | Intégration Model Context Protocol qui convertit les outils MCP en actions natives. |
| TUI Interface | Interface utilisateur en terminal construite avec le framework Textual pour une utilisation interactive en ligne de commande. |
- Module de mémoire — Terminé.
- Intégration d'outils externes — En cours d'ajout !
- Couche MCP — Terminée.
- Couche Skills — Terminée.
- Comportement proactif — En cours
| Flag | Description |
|---|---|
--conda |
Utiliser un environnement conda (optionnel) |
| Flag | Description |
|---|---|
| (aucun) | Lancer en mode Browser (recommandé, nécessite Node.js) |
--tui |
Lancer en mode Terminal UI (aucune dépendance) |
--cli |
Lancer en mode CLI (léger) |
| Commande | Description |
|---|---|
install |
Installe les deps, enregistre le démarrage automatique et lance CraftBot |
start |
Démarre CraftBot en arrière-plan |
stop |
Arrête CraftBot |
restart |
Arrête puis redémarre |
status |
Affiche l'état d'exécution et celui du démarrage automatique |
logs [-n N] |
Affiche les N dernières lignes de log (par défaut : 50) |
uninstall |
Supprime l'enregistrement du démarrage automatique |
Exemples d'installation :
# Installation simple via pip (sans conda)
python install.py
# Avec environnement conda (recommandé pour les utilisateurs de conda)
python install.py --condaExécuter CraftBot :
# Mode Browser (par défaut, nécessite Node.js)
python run.py
# Mode TUI (pas de Node.js nécessaire)
python run.py --tui
# Mode CLI (léger)
python run.py --cli
# Avec environnement conda
conda run -n craftbot python run.py
# Ou en utilisant le chemin complet si conda n'est pas dans le PATH
&"$env:USERPROFILE\miniconda3\Scripts\conda.exe" run -n craftbot python run.pyLinux/macOS (Bash) :
# Mode Browser (par défaut, nécessite Node.js)
python run.py
# Mode TUI (pas de Node.js nécessaire)
python run.py --tui
# Mode CLI (léger)
python run.py --cli
# Avec environnement conda
conda run -n craftbot python run.pyExécutez CraftBot en tant que service en arrière-plan pour qu'il continue de fonctionner même après la fermeture du terminal. Un raccourci de bureau est créé automatiquement pour rouvrir le navigateur à tout moment.
# Installer les dépendances, enregistrer le démarrage automatique à la connexion et lancer CraftBot
python craftbot.py installC'est tout. Le terminal se ferme tout seul, CraftBot tourne en arrière-plan et le navigateur s'ouvre automatiquement.
# Autres commandes du service :
python craftbot.py start # Démarre CraftBot en arrière-plan
python craftbot.py status # Vérifie s'il tourne
python craftbot.py stop # Arrête CraftBot
python craftbot.py restart # Redémarre CraftBot
python craftbot.py logs # Affiche les logs récents| Commande | Description |
|---|---|
python craftbot.py install |
Installe les dépendances, enregistre le démarrage automatique à la connexion, lance CraftBot, ouvre le navigateur et ferme le terminal automatiquement |
python craftbot.py start |
Démarre CraftBot en arrière-plan — redémarre automatiquement s'il est déjà lancé (le terminal se ferme tout seul) |
python craftbot.py stop |
Arrête CraftBot |
python craftbot.py restart |
Arrête puis démarre CraftBot |
python craftbot.py status |
Vérifie si CraftBot tourne et si le démarrage automatique est activé |
python craftbot.py logs |
Affiche les logs récents (-n 100 pour plus de lignes) |
python craftbot.py uninstall |
Arrête CraftBot, supprime le démarrage automatique, désinstalle les paquets pip et purge le cache pip |
Tip
Après craftbot.py start ou craftbot.py install, un raccourci CraftBot sur le bureau est créé automatiquement. Si vous fermez le navigateur par accident, double-cliquez sur le raccourci pour le rouvrir.
Note
Installation : L'installateur fournit maintenant des indications claires si des dépendances manquent. Si Node.js est introuvable, on vous proposera de l'installer ou de basculer en mode TUI. L'installation détecte automatiquement la disponibilité du GPU et bascule en mode CPU si nécessaire.
Tip
Première configuration : CraftBot vous guidera dans une séquence d'onboarding pour configurer les clés API, le nom de l'agent, les MCP et les Skills.
Note
Playwright Chromium : Optionnel pour l'intégration WhatsApp Web. Si l'installation échoue, l'agent fonctionnera toujours pour les autres tâches. Installez-le manuellement plus tard avec : playwright install chromium
Si vous voyez "npm not found in PATH" en lançant python run.py :
- Téléchargez depuis nodejs.org (choisissez la version LTS)
- Installez et redémarrez votre terminal
- Relancez
python run.py
Alternative : Utilisez le mode TUI (Node.js non requis) :
python run.py --tuiL'installateur fournit désormais des messages d'erreur détaillés avec des solutions. Si l'installation échoue :
- Vérifiez la version de Python : assurez-vous d'avoir Python 3.10+ (
python --version) - Vérifiez votre connexion : les dépendances sont téléchargées pendant l'installation
- Videz le cache pip :
pip install --upgrade pippuis réessayez
L'installation de Playwright Chromium est optionnelle. En cas d'échec :
- L'agent continuera de fonctionner pour les autres tâches
- Vous pouvez l'ignorer ou l'installer plus tard :
playwright install chromium - Nécessaire uniquement pour l'intégration WhatsApp Web
Pour un dépannage détaillé, consultez INSTALLATION_FIX.md.
L'agent peut se connecter à divers services via OAuth. Les builds de release incluent des identifiants intégrés, mais vous pouvez aussi utiliser les vôtres.
Pour les builds de release avec identifiants intégrés :
/google login # Connecter Google Workspace
/zoom login # Connecter Zoom
/slack invite # Connecter Slack
/notion invite # Connecter Notion
/linkedin login # Connecter LinkedIn| Service | Type d'auth | Commande | Secret requis ? |
|---|---|---|---|
| PKCE | /google login |
Non (PKCE) | |
| Zoom | PKCE | /zoom login |
Non (PKCE) |
| Slack | OAuth 2.0 | /slack invite |
Oui |
| Notion | OAuth 2.0 | /notion invite |
Oui |
| OAuth 2.0 | /linkedin login |
Oui |
Si vous préférez utiliser vos propres identifiants OAuth, ajoutez-les à votre fichier .env :
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com- Allez sur la Google Cloud Console
- Activez les API Gmail, Calendar, Drive et People
- Créez des identifiants OAuth de type Desktop app
- Copiez le Client ID (le secret n'est pas requis en PKCE)
ZOOM_CLIENT_ID=your-zoom-client-id- Allez sur le Zoom Marketplace
- Créez une application OAuth
- Copiez le Client ID
SLACK_SHARED_CLIENT_ID=your-slack-client-id
SLACK_SHARED_CLIENT_SECRET=your-slack-client-secret- Allez sur Slack API
- Créez une nouvelle application
- Ajoutez les scopes OAuth :
chat:write,channels:read,users:read, etc. - Copiez le Client ID et le Client Secret
NOTION_SHARED_CLIENT_ID=your-notion-client-id
NOTION_SHARED_CLIENT_SECRET=your-notion-client-secret- Allez sur Notion Developers
- Créez une nouvelle intégration (Public integration)
- Copiez l'OAuth Client ID et le Secret
LINKEDIN_CLIENT_ID=your-linkedin-client-id
LINKEDIN_CLIENT_SECRET=your-linkedin-client-secret- Allez sur LinkedIn Developers
- Créez une application
- Ajoutez les scopes OAuth 2.0
- Copiez le Client ID et le Client Secret
La racine du dépôt contient une configuration Docker avec Python 3.10, des paquets système clés (dont Tesseract pour l'OCR) et toutes les dépendances Python définies dans environment.yml/requirements.txt, pour que l'agent s'exécute de façon cohérente dans des environnements isolés.
Ci-dessous les instructions pour exécuter notre agent en conteneur.
Depuis la racine du dépôt :
docker build -t craftbot .L'image est configurée pour lancer l'agent avec python -m app.main par défaut. Pour l'exécuter en mode interactif :
docker run --rm -it craftbotSi vous devez fournir des variables d'environnement, passez un fichier env (par exemple basé sur .env.example) :
docker run --rm -it --env-file .env craftbotMontez tous les répertoires qui doivent persister en dehors du conteneur (comme les dossiers de données ou cache) via -v, et ajustez les ports ou autres flags selon votre déploiement. L'image embarque les dépendances système pour l'OCR (tesseract) et les clients HTTP courants, afin que l'agent puisse travailler avec les fichiers et les API réseau dans le conteneur.
Par défaut, l'image utilise Python 3.10 et embarque les dépendances Python de environment.yml/requirements.txt, donc python -m app.main fonctionne immédiatement.
Les PR sont les bienvenues ! Voir CONTRIBUTING.md pour le workflow (fork → branche depuis dev → PR). Toutes les pull requests passent automatiquement par un CI lint + smoke-test. Pour toute question ou une discussion plus rapide, rejoignez-nous sur Discord ou envoyez un email à thamyikfoong(at)craftos.net.
Ce projet est sous licence MIT. Vous êtes libre d'utiliser, d'héberger et de monétiser ce projet (vous devez créditer ce projet en cas de distribution et de monétisation).
Développé et maintenu par CraftOS et les contributeurs @zfoong et @ahmad-ajmal. Si CraftBot vous est utile, mettez une ⭐ au dépôt et partagez-le avec d'autres !








