Skip to content

Latest commit

 

History

History
881 lines (659 loc) · 28.4 KB

File metadata and controls

881 lines (659 loc) · 28.4 KB
PicoClaw

PicoClaw : Assistant IA Ultra-Efficace en Go

Matériel à 10$ · 10 Mo de RAM · Démarrage en 1s · 皮皮虾,我们走!

Go Hardware License
Website Twitter

中文 | 日本語 | Português | Tiếng Việt | English | Français


🦐 PicoClaw est un assistant personnel IA ultra-léger inspiré de nanobot, entièrement réécrit en Go via un processus d'auto-amorçage (self-bootstrapping) — où l'agent IA lui-même a piloté l'intégralité de la migration architecturale et de l'optimisation du code.

⚡️ Extrêmement léger : Fonctionne sur du matériel à seulement 10$ avec <10 Mo de RAM. C'est 99% de mémoire en moins qu'OpenClaw et 98% moins cher qu'un Mac mini !

Caution

🚨 SÉCURITÉ & CANAUX OFFICIELS

  • PAS DE CRYPTO : PicoClaw n'a AUCUN token/jeton officiel. Toute annonce sur pump.fun ou d'autres plateformes de trading est une ARNAQUE.
  • DOMAINE OFFICIEL : Le SEUL site officiel est picoclaw.io, et le site de l'entreprise est sipeed.com.
  • Attention : De nombreux domaines .ai/.org/.com/.net/... sont enregistrés par des tiers et ne nous appartiennent pas.
  • Attention : PicoClaw est en phase de développement précoce et peut présenter des problèmes de sécurité réseau non résolus. Ne déployez pas en environnement de production avant la version v1.0.
  • Note : PicoClaw a récemment fusionné de nombreuses PR, ce qui peut entraîner une empreinte mémoire plus importante (10–20 Mo) dans les dernières versions. Nous prévoyons de prioriser l'optimisation des ressources dès que l'ensemble des fonctionnalités sera stabilisé.

📢 Actualités

2026-02-16 🎉 PicoClaw a atteint 12K étoiles en une semaine ! Merci à tous pour votre soutien ! PicoClaw grandit plus vite que nous ne l'avions jamais imaginé. Vu le volume élevé de PR, nous avons un besoin urgent de mainteneurs communautaires. Nos rôles de bénévoles et notre feuille de route sont officiellement publiés ici — nous avons hâte de vous accueillir !

2026-02-13 🎉 PicoClaw a atteint 5000 étoiles en 4 jours ! Merci à la communauté ! Nous finalisons la Feuille de Route du Projet et mettons en place le Groupe de Développeurs pour accélérer le développement de PicoClaw. 🚀 Appel à l'action : Soumettez vos demandes de fonctionnalités dans les GitHub Discussions. Nous les examinerons et les prioriserons lors de notre prochaine réunion hebdomadaire.

2026-02-09 🎉 PicoClaw est lancé ! Construit en 1 jour pour apporter les Agents IA au matériel à 10$ avec <10 Mo de RAM. 🦐 PicoClaw, c'est parti !

✨ Fonctionnalités

🪶 Ultra-Léger : Empreinte mémoire <10 Mo — 99% plus petit que Clawdbot pour les fonctionnalités essentielles.

💰 Coût Minimal : Suffisamment efficace pour fonctionner sur du matériel à 10$ — 98% moins cher qu'un Mac mini.

⚡️ Démarrage Éclair : Temps de démarrage 400X plus rapide, boot en 1 seconde même sur un cœur unique à 0,6 GHz.

🌍 Véritable Portabilité : Un seul binaire autonome pour RISC-V, ARM et x86. Un clic et c'est parti !

🤖 Auto-Construit par l'IA : Implémentation native en Go de manière autonome — 95% du cœur généré par l'Agent avec affinement humain dans la boucle.

OpenClaw NanoBot PicoClaw
Langage TypeScript Python Go
RAM >1 Go >100 Mo < 10 Mo
Démarrage
(cœur 0,8 GHz)
>500s >30s <1s
Coût Mac Mini 599$ La plupart des SBC Linux
~50$
N'importe quelle carte Linux
À partir de 10$

PicoClaw

🦾 Démonstration

🛠️ Flux de Travail Standard de l'Assistant

🧩 Ingénieur Full-Stack

🗂️ Gestion des Logs & Planification

🔎 Recherche Web & Apprentissage

Développer • Déployer • Mettre à l'échelle Planifier • Automatiser • Mémoriser Découvrir • Analyser • Tendances

📱 Utiliser sur d'anciens téléphones Android

Donnez une seconde vie à votre téléphone d'il y a dix ans ! Transformez-le en assistant IA intelligent avec PicoClaw. Démarrage rapide :

  1. Installez Termux (disponible sur F-Droid ou Google Play).
  2. Exécutez les commandes
# Note : Remplacez v0.1.1 par la dernière version depuis la page des Releases
wget https://github.com/sipeed/picoclaw/releases/download/v0.1.1/picoclaw-linux-arm64
chmod +x picoclaw-linux-arm64
pkg install proot
termux-chroot ./picoclaw-linux-arm64 onboard

Puis suivez les instructions de la section « Démarrage Rapide » pour terminer la configuration !

PicoClaw

🐜 Déploiement Innovant à Faible Empreinte

PicoClaw peut être déployé sur pratiquement n'importe quel appareil Linux !

  • 9,9$ LicheeRV-Nano version E (Ethernet) ou W (WiFi6), pour un Assistant Domotique Minimaliste
  • 30~50$ NanoKVM, ou 100$ NanoKVM-Pro pour la Maintenance Automatisée de Serveurs
  • 50$ MaixCAM ou 100$ MaixCAM2 pour la Surveillance Intelligente
picoclaw_detect_person.mp4

🌟 Encore plus de scénarios de déploiement vous attendent !

📦 Installation

Installer avec un binaire précompilé

Téléchargez le binaire pour votre plateforme depuis la page des releases.

Installer depuis les sources (dernières fonctionnalités, recommandé pour le développement)

git clone https://github.com/sipeed/picoclaw.git

cd picoclaw
make deps

# Compiler, pas besoin d'installer
make build

# Compiler pour plusieurs plateformes
make build-all

# Compiler et Installer
make install

🐳 Docker Compose

Vous pouvez également exécuter PicoClaw avec Docker Compose sans rien installer localement.

# 1. Clonez ce dépôt
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw

# 2. Configurez vos clés API
cp config/config.example.json config/config.json
vim config/config.json      # Configurez DISCORD_BOT_TOKEN, clés API, etc.

# 3. Compiler & Démarrer
docker compose --profile gateway up -d

# 4. Voir les logs
docker compose logs -f picoclaw-gateway

# 5. Arrêter
docker compose --profile gateway down

Mode Agent (exécution unique)

# Poser une question
docker compose run --rm picoclaw-agent -m "Combien font 2+2 ?"

# Mode interactif
docker compose run --rm picoclaw-agent

Recompiler

docker compose --profile gateway build --no-cache
docker compose --profile gateway up -d

🚀 Démarrage Rapide

Tip

Configurez votre clé API dans ~/.picoclaw/config.json. Obtenir des clés API : OpenRouter (LLM) · Zhipu (LLM) La recherche web est optionnelle — obtenez gratuitement l'API Brave Search (2000 requêtes gratuites/mois) ou utilisez le repli automatique intégré.

1. Initialiser

picoclaw onboard

2. Configurer (~/.picoclaw/config.json)

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "openrouter": {
      "api_key": "xxx",
      "api_base": "https://openrouter.ai/api/v1"
    }
  },
  "tools": {
    "web": {
      "brave": {
        "enabled": false,
        "api_key": "VOTRE_CLE_API_BRAVE",
        "max_results": 5
      },
      "duckduckgo": {
        "enabled": true,
        "max_results": 5
      }
    }
  }
}

3. Obtenir des Clés API

Note : Consultez config.example.json pour un modèle de configuration complet.

4. Discuter

picoclaw agent -m "Combien font 2+2 ?"

Et voilà ! Vous avez un assistant IA fonctionnel en 2 minutes.


💬 Applications de Chat

Discutez avec votre PicoClaw via Telegram, Discord, DingTalk ou LINE

Canal Configuration
Telegram Facile (juste un token)
Discord Facile (token bot + intents)
QQ Facile (AppID + AppSecret)
DingTalk Moyen (identifiants de l'application)
LINE Moyen (identifiants + URL de webhook)
Telegram (Recommandé)

1. Créer un bot

  • Ouvrez Telegram, recherchez @BotFather
  • Envoyez /newbot, suivez les instructions
  • Copiez le token

2. Configurer

{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "VOTRE_TOKEN_BOT",
      "allowFrom": ["VOTRE_USER_ID"]
    }
  }
}

Obtenez votre User ID via @userinfobot sur Telegram.

3. Lancer

picoclaw gateway
Discord

1. Créer un bot

2. Activer les intents

  • Dans les paramètres du Bot, activez MESSAGE CONTENT INTENT
  • (Optionnel) Activez SERVER MEMBERS INTENT si vous souhaitez utiliser des listes d'autorisation basées sur les données des membres

3. Obtenir votre User ID

  • Paramètres Discord → Avancé → activez le Mode Développeur
  • Clic droit sur votre avatar → Copier l'identifiant

4. Configurer

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "VOTRE_TOKEN_BOT",
      "allowFrom": ["VOTRE_USER_ID"]
    }
  }
}

5. Inviter le bot

  • OAuth2 → URL Generator
  • Scopes : bot
  • Permissions du Bot : Send Messages, Read Message History
  • Ouvrez l'URL d'invitation générée et ajoutez le bot à votre serveur

6. Lancer

picoclaw gateway
QQ

1. Créer un bot

  • Rendez-vous sur la QQ Open Platform
  • Créez une application → Obtenez l'AppID et l'AppSecret

2. Configurer

{
  "channels": {
    "qq": {
      "enabled": true,
      "app_id": "VOTRE_APP_ID",
      "app_secret": "VOTRE_APP_SECRET",
      "allow_from": []
    }
  }
}

Laissez allow_from vide pour autoriser tous les utilisateurs, ou spécifiez des numéros QQ pour restreindre l'accès.

3. Lancer

picoclaw gateway
DingTalk

1. Créer un bot

  • Rendez-vous sur la Open Platform
  • Créez une application interne
  • Copiez le Client ID et le Client Secret

2. Configurer

{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "client_id": "VOTRE_CLIENT_ID",
      "client_secret": "VOTRE_CLIENT_SECRET",
      "allow_from": []
    }
  }
}

Laissez allow_from vide pour autoriser tous les utilisateurs, ou spécifiez des identifiants pour restreindre l'accès.

3. Lancer

picoclaw gateway
LINE

1. Créer un Compte Officiel LINE

  • Rendez-vous sur la LINE Developers Console
  • Créez un provider → Créez un canal Messaging API
  • Copiez le Channel Secret et le Channel Access Token

2. Configurer

{
  "channels": {
    "line": {
      "enabled": true,
      "channel_secret": "VOTRE_CHANNEL_SECRET",
      "channel_access_token": "VOTRE_CHANNEL_ACCESS_TOKEN",
      "webhook_host": "0.0.0.0",
      "webhook_port": 18791,
      "webhook_path": "/webhook/line",
      "allow_from": []
    }
  }
}

3. Configurer l'URL du Webhook

LINE exige HTTPS pour les webhooks. Utilisez un reverse proxy ou un tunnel :

# Exemple avec ngrok
ngrok http 18791

Puis configurez l'URL du Webhook dans la LINE Developers Console sur https://votre-domaine/webhook/line et activez Use webhook.

4. Lancer

picoclaw gateway

Dans les discussions de groupe, le bot répond uniquement lorsqu'il est mentionné avec @. Les réponses citent le message original.

Docker Compose : Ajoutez ports: ["18791:18791"] au service picoclaw-gateway pour exposer le port du webhook.

ClawdChat Rejoignez le Réseau Social d'Agents

Connectez PicoClaw au Réseau Social d'Agents simplement en envoyant un seul message via le CLI ou n'importe quelle application de chat intégrée.

Lisez https://clawdchat.ai/skill.md et suivez les instructions pour rejoindre ClawdChat.ai

⚙️ Configuration

Fichier de configuration : ~/.picoclaw/config.json

Structure du Workspace

PicoClaw stocke les données dans votre workspace configuré (par défaut : ~/.picoclaw/workspace) :

~/.picoclaw/workspace/
├── sessions/          # Sessions de conversation et historique
├── memory/           # Mémoire à long terme (MEMORY.md)
├── state/            # État persistant (dernier canal, etc.)
├── cron/             # Base de données des tâches planifiées
├── skills/           # Compétences personnalisées
├── AGENTS.md         # Guide de comportement de l'Agent
├── HEARTBEAT.md      # Invites de tâches périodiques (vérifiées toutes les 30 min)
├── IDENTITY.md       # Identité de l'Agent
├── SOUL.md           # Âme de l'Agent
├── TOOLS.md          # Description des outils
└── USER.md           # Préférences utilisateur

🔒 Bac à Sable de Sécurité

PicoClaw s'exécute dans un environnement sandboxé par défaut. L'agent ne peut accéder aux fichiers et exécuter des commandes qu'au sein du workspace configuré.

Configuration par Défaut

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "restrict_to_workspace": true
    }
  }
}
Option Par défaut Description
workspace ~/.picoclaw/workspace Répertoire de travail de l'agent
restrict_to_workspace true Restreindre l'accès fichiers/commandes au workspace

Outils Protégés

Lorsque restrict_to_workspace: true, les outils suivants sont restreints au bac à sable :

Outil Fonction Restriction
read_file Lire des fichiers Uniquement les fichiers dans le workspace
write_file Écrire des fichiers Uniquement les fichiers dans le workspace
list_dir Lister des répertoires Uniquement les répertoires dans le workspace
edit_file Éditer des fichiers Uniquement les fichiers dans le workspace
append_file Ajouter à des fichiers Uniquement les fichiers dans le workspace
exec Exécuter des commandes Les chemins doivent être dans le workspace

Protection Supplémentaire d'Exec

Même avec restrict_to_workspace: false, l'outil exec bloque ces commandes dangereuses :

  • rm -rf, del /f, rmdir /s — Suppression en masse
  • format, mkfs, diskpart — Formatage de disque
  • dd if= — Écriture d'image disque
  • Écriture vers /dev/sd[a-z] — Écriture directe sur le disque
  • shutdown, reboot, poweroff — Arrêt du système
  • Fork bomb :(){ :|:& };:

Exemples d'Erreurs

[ERROR] tool: Tool execution failed
{tool=exec, error=Command blocked by safety guard (path outside working dir)}
[ERROR] tool: Tool execution failed
{tool=exec, error=Command blocked by safety guard (dangerous pattern detected)}

Désactiver les Restrictions (Risque de Sécurité)

Si vous avez besoin que l'agent accède à des chemins en dehors du workspace :

Méthode 1 : Fichier de configuration

{
  "agents": {
    "defaults": {
      "restrict_to_workspace": false
    }
  }
}

Méthode 2 : Variable d'environnement

export PICOCLAW_AGENTS_DEFAULTS_RESTRICT_TO_WORKSPACE=false

⚠️ Attention : Désactiver cette restriction permet à l'agent d'accéder à n'importe quel chemin sur votre système. À utiliser avec précaution uniquement dans des environnements contrôlés.

Cohérence du Périmètre de Sécurité

Le paramètre restrict_to_workspace s'applique de manière cohérente sur tous les chemins d'exécution :

Chemin d'Exécution Périmètre de Sécurité
Agent Principal restrict_to_workspace
Sous-agent / Spawn Hérite de la même restriction ✅
Tâches Heartbeat Hérite de la même restriction ✅

Tous les chemins partagent la même restriction de workspace — il est impossible de contourner le périmètre de sécurité via des sous-agents ou des tâches planifiées.

Heartbeat (Tâches Périodiques)

PicoClaw peut exécuter des tâches périodiques automatiquement. Créez un fichier HEARTBEAT.md dans votre workspace :

# Tâches Périodiques

- Vérifier mes e-mails pour les messages importants
- Consulter mon agenda pour les événements à venir
- Vérifier les prévisions météo

L'agent lira ce fichier toutes les 30 minutes (configurable) et exécutera les tâches à l'aide des outils disponibles.

Tâches Asynchrones avec Spawn

Pour les tâches de longue durée (recherche web, appels API), utilisez l'outil spawn pour créer un sous-agent :

# Tâches Périodiques

## Tâches Rapides (réponse directe)
- Indiquer l'heure actuelle

## Tâches Longues (utiliser spawn pour l'asynchrone)
- Rechercher les actualités IA sur le web et les résumer
- Vérifier les e-mails et signaler les messages importants

Comportements clés :

Fonctionnalité Description
spawn Crée un sous-agent asynchrone, ne bloque pas le heartbeat
Contexte indépendant Le sous-agent a son propre contexte, sans historique de session
Outil message Le sous-agent communique directement avec l'utilisateur via l'outil message
Non-bloquant Après le spawn, le heartbeat continue vers la tâche suivante

Fonctionnement de la Communication du Sous-agent

Le Heartbeat se déclenche
    ↓
L'Agent lit HEARTBEAT.md
    ↓
Pour une tâche longue : spawn d'un sous-agent
    ↓                           ↓
Continue la tâche suivante   Le sous-agent travaille indépendamment
    ↓                           ↓
Toutes les tâches terminées  Le sous-agent utilise l'outil "message"
    ↓                           ↓
Répond HEARTBEAT_OK          L'utilisateur reçoit le résultat directement

Le sous-agent a accès aux outils (message, web_search, etc.) et peut communiquer avec l'utilisateur indépendamment sans passer par l'agent principal.

Configuration :

{
  "heartbeat": {
    "enabled": true,
    "interval": 30
  }
}
Option Par défaut Description
enabled true Activer/désactiver le heartbeat
interval 30 Intervalle de vérification en minutes (min : 5)

Variables d'environnement :

  • PICOCLAW_HEARTBEAT_ENABLED=false pour désactiver
  • PICOCLAW_HEARTBEAT_INTERVAL=60 pour modifier l'intervalle

Fournisseurs

Note

Groq fournit la transcription vocale gratuite via Whisper. Si configuré, les messages vocaux Telegram seront automatiquement transcrits.

Fournisseur Utilisation Obtenir une Clé API
gemini LLM (Gemini direct) aistudio.google.com
zhipu LLM (Zhipu direct) bigmodel.cn
openrouter (À tester) LLM (recommandé, accès à tous les modèles) openrouter.ai
anthropic (À tester) LLM (Claude direct) console.anthropic.com
openai (À tester) LLM (GPT direct) platform.openai.com
deepseek (À tester) LLM (DeepSeek direct) platform.deepseek.com
groq LLM + Transcription vocale (Whisper) console.groq.com
Configuration Zhipu

1. Obtenir la clé API

2. Configurer

{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "zhipu": {
      "api_key": "Votre Clé API",
      "api_base": "https://open.bigmodel.cn/api/paas/v4"
    }
  }
}

3. Lancer

picoclaw agent -m "Bonjour, comment ça va ?"
Exemple de configuration complète
{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-opus-4-5"
    }
  },
  "providers": {
    "openrouter": {
      "api_key": "sk-or-v1-xxx"
    },
    "groq": {
      "api_key": "gsk_xxx"
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "123456:ABC...",
      "allow_from": ["123456789"]
    },
    "discord": {
      "enabled": true,
      "token": "",
      "allow_from": [""]
    },
    "whatsapp": {
      "enabled": false
    },
    "feishu": {
      "enabled": false,
      "app_id": "cli_xxx",
      "app_secret": "xxx",
      "encrypt_key": "",
      "verification_token": "",
      "allow_from": []
    },
    "qq": {
      "enabled": false,
      "app_id": "",
      "app_secret": "",
      "allow_from": []
    }
  },
  "tools": {
    "web": {
      "brave": {
        "enabled": false,
        "api_key": "BSA...",
        "max_results": 5
      },
      "duckduckgo": {
        "enabled": true,
        "max_results": 5
      }
    },
    "cron": {
      "exec_timeout_minutes": 5
    }
  },
  "heartbeat": {
    "enabled": true,
    "interval": 30
  }
}

Référence CLI

Commande Description
picoclaw onboard Initialiser la configuration & le workspace
picoclaw agent -m "..." Discuter avec l'agent
picoclaw agent Mode de discussion interactif
picoclaw gateway Démarrer la passerelle
picoclaw status Afficher le statut
picoclaw cron list Lister toutes les tâches planifiées
picoclaw cron add ... Ajouter une tâche planifiée

Tâches Planifiées / Rappels

PicoClaw prend en charge les rappels planifiés et les tâches récurrentes via l'outil cron :

  • Rappels ponctuels : « Rappelle-moi dans 10 minutes » → se déclenche une fois après 10 min
  • Tâches récurrentes : « Rappelle-moi toutes les 2 heures » → se déclenche toutes les 2 heures
  • Expressions Cron : « Rappelle-moi à 9h tous les jours » → utilise une expression cron

Les tâches sont stockées dans ~/.picoclaw/workspace/cron/ et traitées automatiquement.

🤝 Contribuer & Feuille de Route

Les PR sont les bienvenues ! Le code source est volontairement petit et lisible. 🤗

Feuille de route à venir...

Groupe de développeurs en construction. Condition d'entrée : au moins 1 PR fusionnée.

Groupes d'utilisateurs :

Discord : https://discord.gg/V4sAZ9XWpN

PicoClaw

🐛 Dépannage

La recherche web affiche « API 配置问题 »

C'est normal si vous n'avez pas encore configuré de clé API de recherche. PicoClaw fournira des liens utiles pour la recherche manuelle.

Pour activer la recherche web :

  1. Option 1 (Recommandé) : Obtenez une clé API gratuite sur https://brave.com/search/api (2000 requêtes gratuites/mois) pour les meilleurs résultats.
  2. Option 2 (Sans carte bancaire) : Si vous n'avez pas de clé, le système bascule automatiquement sur DuckDuckGo (aucune clé requise).

Ajoutez la clé dans ~/.picoclaw/config.json si vous utilisez Brave :

{
  "tools": {
    "web": {
      "brave": {
        "enabled": true,
        "api_key": "VOTRE_CLE_API_BRAVE",
        "max_results": 5
      },
      "duckduckgo": {
        "enabled": true,
        "max_results": 5
      }
    }
  }
}

Erreurs de filtrage de contenu

Certains fournisseurs (comme Zhipu) disposent d'un filtrage de contenu. Essayez de reformuler votre requête ou utilisez un modèle différent.

Le bot Telegram affiche « Conflict: terminated by other getUpdates »

Cela se produit lorsqu'une autre instance du bot est en cours d'exécution. Assurez-vous qu'un seul picoclaw gateway fonctionne à la fois.


📝 Comparaison des Clés API

Service Offre Gratuite Cas d'Utilisation
OpenRouter 200K tokens/mois Multiples modèles (Claude, GPT-4, etc.)
Zhipu 200K tokens/mois Idéal pour les utilisateurs chinois
Brave Search 2000 requêtes/mois Fonctionnalité de recherche web
Groq Offre gratuite dispo Inférence ultra-rapide (Llama, Mixtral)