> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# NanoClaw

> Déployez NanoClaw, un assistant IA personnel léger pour WhatsApp et Telegram, sur Venice pour un chat et une génération de médias privés et non censurés.

[NanoClaw](https://github.com/qwibitai/nanoclaw) est un assistant IA léger et auto-hébergé qui fonctionne sur WhatsApp et Telegram. Ce fork ajoute la prise en charge de Venice AI afin que tout s'exécute en privé, sans abonnement Anthropic.

<CardGroup cols={3}>
  <Card title="Paiement à l'usage" icon="coins">
    Pas d'abonnement. Payez uniquement ce que vous utilisez
  </Card>

  <Card title="Inférence privée" icon="shield-halved">
    Zéro rétention de données sur les serveurs Venice
  </Card>

  <Card title="Isolation Docker" icon="cube">
    Chaque chat s'exécute dans son propre conteneur sécurisé
  </Card>
</CardGroup>

***

## Pourquoi Venice AI ?

[Venice](https://venice.ai) est une plateforme IA orientée confidentialité. Ils [ne stockent ni ne journalisent aucun prompt ou réponse](https://venice.ai/privacy) sur leurs serveurs — vos conversations existent uniquement sur votre appareil. Les requêtes sont chiffrées de bout en bout à travers leur proxy vers des fournisseurs GPU décentralisés, sans aucune rétention de données. Cela signifie que les conversations avec votre assistant IA restent privées, même vis-à-vis de Venice elle-même.

Venice fournit un accès anonymisé à des modèles de pointe (Claude Opus, Claude Sonnet) et un accès entièrement privé aux modèles open source (GLM, Qwen) via une seule API — basculez entre eux à tout moment.

|                                 | **Venice AI**                                                                                                             | **Fournisseurs d'IA traditionnels**          |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| **Rétention des données**       | Aucune — zéro log                                                                                                         | Oui                                          |
| **Confidentialité des prompts** | Chiffrés, jamais stockés                                                                                                  | Stockés sur les serveurs du fournisseur      |
| **Modèles open source**         | Oui (GLM, Qwen, et plus)                                                                                                  | Non                                          |
| **Modèles de pointe**           | Claude, GPT et autres — anonymement                                                                                       | Uniquement via abonnements directs           |
| **Tarification**                | Paiement au token, sans abonnement. Ou stakez du [DIEM](https://venice.ai/lp/diem) pour des crédits quotidiens renouvelés | Abonnements à 20-200 \$/mois ou API au token |
| **Inférence non censurée**      | Oui (modèles open source)                                                                                                 | Non                                          |

***

## Pourquoi NanoClaw ?

NanoClaw est une alternative épurée et minimale aux plateformes plus volumineuses comme OpenClaw. Elle est conçue pour une personne exploitant un bot.

|                          | **NanoClaw (Venice)**                                                | **OpenClaw**                                         |
| ------------------------ | -------------------------------------------------------------------- | ---------------------------------------------------- |
| **Codebase**             | \~2 000 lignes, une poignée de fichiers                              | \~500 000 lignes, 53 fichiers de config              |
| **Dépendances**          | \~15 paquets                                                         | 70+ paquets                                          |
| **Modèle de sécurité**   | Isolation de conteneur Docker au niveau OS                           | Allowlists et codes d'appairage au niveau applicatif |
| **Isolation par groupe** | Chaque groupe a son propre conteneur, système de fichiers et mémoire | Processus partagé, mémoire partagée                  |
| **Installation**         | Un assistant (`/setup`), \~10 minutes                                | Configuration manuelle en plusieurs étapes           |
| **Fournisseur IA**       | Venice AI (privé, sans abonnement)                                   | Anthropic (nécessite une clé API ou un abonnement)   |
| **Personnalisation**     | Modifiez le code directement — il est assez petit pour être lu       | Fichiers de config et plugins                        |
| **Utilisateur cible**    | Une personne, un bot                                                 | Plateforme multi-utilisateurs                        |

***

## Ce que vous obtenez

* Un assistant IA personnel sur **Telegram** et/ou **WhatsApp**
* Propulsé par **Venice AI** — pas besoin de compte Anthropic
* Le bot s'exécute dans un **conteneur Docker isolé** (sandboxé, ne peut pas accéder à votre système)
* **Changement de modèle** — dites au bot « switch to zai-org-glm-5 » ou « use opus » à tout moment
* **Tâches planifiées** — définissez des rappels, des tâches récurrentes
* **Recherche et navigation web** intégrées
* **Formatage Markdown** dans les messages Telegram

***

## Prérequis

<CardGroup cols={2}>
  <Card title="Node.js 20+" icon="node-js" href="https://nodejs.org/">
    Vérifiez avec `node --version`
  </Card>

  <Card title="Docker" icon="docker" href="https://docker.com/products/docker-desktop">
    Installez et ouvrez-le une fois pour qu'il tourne
  </Card>

  <Card title="CLI Claude Code" icon="terminal" href="https://claude.ai/download">
    Vérifiez avec `claude --version`
  </Card>

  <Card title="Clé API Venice" icon="key" href="https://venice.ai/settings/api">
    Générez-la depuis votre compte Venice
  </Card>
</CardGroup>

**Pour Telegram** (recommandé pour la première utilisation) :

1. Ouvrez Telegram et cherchez **@BotFather**
2. Envoyez `/newbot` et suivez les instructions
3. Conservez le token que BotFather vous donne (ressemble à `123456789:ABCdef...`)

<Warning>
  **Pour WhatsApp — utilisez un numéro virtuel, PAS votre numéro personnel :**

  NanoClaw se connecte comme appareil lié sur votre numéro WhatsApp. Cela signifie que **l'agent peut voir chaque message entrant et sortant** — toutes vos conversations personnelles, conversations de groupe, photos, tout. Votre téléphone continue de fonctionner normalement, mais le bot a une visibilité totale sur l'ensemble de votre compte WhatsApp.

  **Utilisez plutôt un numéro de téléphone virtuel.** Ces applications vous donnent un deuxième numéro que vous pouvez entièrement dédier au bot :

  | App                                      | Prix        | Notes                                                                                          |
  | ---------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------- |
  | [Hushed](https://hushed.com)             | \~5 \$/mois | Fiable, fonctionne bien pour la vérification WhatsApp                                          |
  | [Burner](https://www.burnerapp.com)      | \~5 \$/mois | Similaire à Hushed, numéros jetables                                                           |
  | [Google Voice](https://voice.google.com) | Gratuit     | États-Unis uniquement, peut ne pas fonctionner pour la vérification WhatsApp dans tous les cas |

  **Comment le configurer :**

  1. Obtenez un numéro virtuel via l'une des apps ci-dessus
  2. Installez WhatsApp sur un deuxième appareil (vieux téléphone, tablette ou émulateur) en utilisant ce numéro virtuel
  3. Pendant l'installation de NanoClaw, scannez le QR code avec ce second appareil — pas avec votre téléphone personnel
</Warning>

***

## Installation

L'installation prend environ 10 minutes. Vous n'avez besoin que d'**une seule fenêtre Terminal**.

<Steps>
  <Step title="Cloner et installer">
    Ouvrez Terminal et exécutez :

    ```bash theme={"system"}
    git clone https://github.com/lorenzovenice/nanoclaw-venice.git
    cd nanoclaw-venice
    npm install
    ```

    Attendez que `npm install` se termine sans erreurs.
  </Step>

  <Step title="Lancer Claude Code avec Venice">
    Remplacez `your-key` par votre clé API Venice et exécutez :

    ```bash theme={"system"}
    VENICE_API_KEY=your-key npm run venice
    ```

    Cela démarre le proxy Venice et lance Claude Code à travers lui en une seule commande.

    <Note>
      Claude Code utilise par défaut **GLM 5** (`zai-org-glm-5`) pour limiter les coûts d'installation. Après installation, tapez `/model` dans Claude Code pour basculer vers `claude-sonnet-4-6` ou `claude-opus-4-6` pour de meilleures performances.
    </Note>

    Si l'on vous demande « Do you want to use this API key? » — sélectionnez **Yes**.
  </Step>

  <Step title="Lancer l'assistant d'installation">
    Dans votre terminal Claude Code, tapez :

    ```
    /setup
    ```

    L'assistant vous guide à travers :

    1. **Bootstrap** — vérifie Node.js et les dépendances
    2. **Clé API Venice** — valide et enregistre votre clé
    3. **Choix du canal** — sélectionnez WhatsApp, Telegram ou les deux
    4. **Build du conteneur** — construit le conteneur Docker (prend quelques minutes la première fois)
    5. **Auth WhatsApp** — scannez le QR code avec votre téléphone (si applicable)
    6. **Configuration Telegram** — envoyez un message à votre bot pour qu'il détecte votre chat
    7. **Mot déclencheur** — préfixe qui active le bot (par défaut : `@Andy`)
    8. **Répertoires montés** — choisissez « No » pour l'instant (vous pouvez ajouter l'accès aux fichiers plus tard)
    9. **Démarrer les services** — NanoClaw et le proxy Venice démarrent tous deux comme services en arrière-plan

    L'assistant installe deux services en arrière-plan :

    * **NanoClaw** — le bot lui-même
    * **Venice proxy** — un petit serveur local (localhost:4001) qui traduit entre Claude Code et Venice AI

    Tous deux démarrent automatiquement au boot et se redémarrent eux-mêmes en cas de crash.

    <Note>
      Si l'assistant s'arrête entre les étapes, tapez « continue » ou « next step » pour le pousser en avant.
    </Note>
  </Step>

  <Step title="Commencer à discuter">
    Une fois l'installation terminée, ouvrez votre chat (Telegram ou WhatsApp) et envoyez :

    ```
    @Andy hello, are you there?
    ```

    Le bot devrait répondre en quelques secondes. Dans votre canal principal, vous pouvez taper normalement sans le préfixe `@Andy`.

    **Vous pouvez maintenant fermer la fenêtre du terminal.** Tout s'exécute comme services en arrière-plan et démarre automatiquement au démarrage de votre ordinateur.
  </Step>
</Steps>

***

## Comment ça marche

Il y a deux couches dans NanoClaw :

| Couche              | Ce qu'elle fait                                                           |
| ------------------- | ------------------------------------------------------------------------- |
| **CLI Claude Code** | Outil d'admin pour l'installation, le débogage et la personnalisation     |
| **Le bot**          | IA dans votre chat, s'exécutant à l'intérieur d'un conteneur Docker isolé |

Pour ouvrir Claude Code à tout moment :

```bash theme={"system"}
cd nanoclaw-venice
ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
```

Utilisez-le pour exécuter `/setup`, `/debug`, `/customize`, ou pour modifier le comportement du bot.

***

## Modèles

| Contexte        | Modèle par défaut       | Comment changer                                               |
| --------------- | ----------------------- | ------------------------------------------------------------- |
| Bot (en chat)   | `claude-sonnet-4-6`     | Dites au bot : « switch to opus » ou « use zai-org-glm-5 »    |
| CLI Claude Code | `zai-org-glm-5` (GLM 5) | Utilisez `/model` dans Claude Code ou `claude --model <name>` |

<Tip>
  La CLI utilise par défaut GLM 5 pour limiter les coûts d'installation. Après installation, basculez vers `claude-sonnet-4-6` ou `claude-opus-4-6` pour de meilleures performances.
</Tip>

Consultez le [catalogue de modèles](/models/text) pour tous les modèles Venice disponibles.

***

## Dépannage

<AccordionGroup>
  <Accordion title="Le proxy n'est pas en cours d'exécution">
    Le proxy Venice s'exécute comme un service en arrière-plan et se redémarre automatiquement. S'il ne fonctionne pas :

    **macOS :**

    ```bash theme={"system"}
    # Vérifier qu'il tourne
    launchctl list | grep venice-proxy

    # Le redémarrer
    launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy

    # Consulter les logs
    tail -f ~/nanoclaw-venice/logs/venice-proxy.log
    ```

    **Linux :**

    ```bash theme={"system"}
    # Vérifier qu'il tourne
    systemctl --user status nanoclaw-venice-proxy

    # Le redémarrer
    systemctl --user restart nanoclaw-venice-proxy

    # Consulter les logs
    tail -f ~/nanoclaw-venice/logs/venice-proxy.log
    ```
  </Accordion>

  <Accordion title="Claude Code affiche une erreur 403 ou 'Please run /login'">
    Cela signifie que Claude Code ne peut pas se connecter au proxy Venice.

    1. **Vérifiez que le proxy tourne.** Voir l'étape de dépannage ci-dessus.
    2. **Assurez-vous d'être dans le bon dossier.** Toujours `cd nanoclaw-venice` en premier.
    3. **Repartez à zéro :** Fermez tous les terminaux et exécutez :
       ```bash theme={"system"}
       cd nanoclaw-venice
       ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
       ```
  </Accordion>

  <Accordion title="Erreurs de modèle ('model does not exist')">
    Redémarrez le proxy et le bot :

    **macOS :**

    ```bash theme={"system"}
    # Redémarrer le proxy
    launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy

    # Redémarrer le bot
    launchctl kickstart -k gui/$(id -u)/com.nanoclaw
    ```

    **Linux :**

    ```bash theme={"system"}
    # Redémarrer le proxy
    systemctl --user restart nanoclaw-venice-proxy

    # Redémarrer le bot
    systemctl --user restart nanoclaw
    ```

    Vérifiez les modèles disponibles dans le [catalogue de modèles](/models/text).
  </Accordion>

  <Accordion title="Le bot ne répond pas aux messages">
    Parcourez ces étapes dans l'ordre :

    1. **Vérifiez votre mot déclencheur.** Assurez-vous d'utiliser le bon préfixe (par ex. `@Andy hello`).
    2. **Vérifiez que Docker tourne.** Exécutez `docker info` — s'il erre, ouvrez Docker Desktop.
    3. **Vérifiez que le proxy tourne.** Voir « Le proxy n'est pas en cours d'exécution » ci-dessus.
    4. **Consultez les logs :** `tail -f logs/nanoclaw.log` dans le dossier du projet.
    5. **Consultez les logs du conteneur.** Ouvrez le dossier `nanoclaw-venice/groups/main/logs/`. Ouvrez le fichier le plus récent qui commence par `container-`.
    6. **Redémarrez tout :** Redémarrez le proxy et le bot (voir ci-dessus).
  </Accordion>

  <Accordion title="Le build du conteneur échoue pendant l'installation">
    Assurez-vous que Docker Desktop est ouvert et en cours d'exécution. Attendez 10 secondes que Docker démarre complètement, puis tapez `continue` dans l'assistant pour réessayer.
  </Accordion>

  <Accordion title="WhatsApp déconnecté">
    Votre session WhatsApp peut expirer. Pour vous reconnecter :

    ```bash theme={"system"}
    cd nanoclaw-venice
    npm run auth
    ```

    Scannez le QR code avec WhatsApp (Paramètres → Appareils liés → Lier un appareil), puis redémarrez le bot :

    * macOS : `launchctl kickstart -k gui/$(id -u)/com.nanoclaw`
    * Linux : `systemctl --user restart nanoclaw`
  </Accordion>
</AccordionGroup>

***

## Avancé

<AccordionGroup>
  <Accordion title="Donner au bot accès à des fichiers de votre ordinateur">
    Par défaut, le bot est complètement isolé de votre ordinateur — il ne peut voir que sa propre mémoire et son historique de conversation.

    * **Pendant l'installation :** Lorsqu'on vous interroge sur l'accès aux répertoires, choisissez « Yes »
    * **Après l'installation :** Exécutez `/customize` dans Claude Code
  </Accordion>

  <Accordion title="Démarrer/arrêter le bot manuellement">
    NanoClaw exécute deux services en arrière-plan qui démarrent automatiquement au boot.

    **macOS :**

    | Action              | Commande                                                                  |
    | ------------------- | ------------------------------------------------------------------------- |
    | Démarrer le bot     | `launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist`                |
    | Arrêter le bot      | `launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist`              |
    | Redémarrer le bot   | `launchctl kickstart -k gui/$(id -u)/com.nanoclaw`                        |
    | Démarrer le proxy   | `launchctl load ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist`   |
    | Arrêter le proxy    | `launchctl unload ~/Library/LaunchAgents/com.nanoclaw.venice-proxy.plist` |
    | Redémarrer le proxy | `launchctl kickstart -k gui/$(id -u)/com.nanoclaw.venice-proxy`           |

    **Linux :**

    | Action              | Commande                                         |
    | ------------------- | ------------------------------------------------ |
    | Démarrer le bot     | `systemctl --user start nanoclaw`                |
    | Arrêter le bot      | `systemctl --user stop nanoclaw`                 |
    | Redémarrer le bot   | `systemctl --user restart nanoclaw`              |
    | Démarrer le proxy   | `systemctl --user start nanoclaw-venice-proxy`   |
    | Arrêter le proxy    | `systemctl --user stop nanoclaw-venice-proxy`    |
    | Redémarrer le proxy | `systemctl --user restart nanoclaw-venice-proxy` |
  </Accordion>

  <Accordion title="Utiliser Claude Code via Venice (sans bot)">
    Si vous voulez juste Claude Code avec Venice et n'avez pas besoin de WhatsApp/Telegram, le service proxy doit tourner. Si vous avez déjà exécuté `/setup`, il tourne déjà comme service en arrière-plan.

    ```bash theme={"system"}
    cd nanoclaw-venice
    ANTHROPIC_BASE_URL=http://localhost:4001 ANTHROPIC_API_KEY=venice-proxy claude
    ```

    **Astuce :** Ajoutez ceci à votre `~/.zshrc` (ou `~/.bashrc`) pour pouvoir basculer rapidement n'importe quel terminal sur Venice :

    ```bash theme={"system"}
    alias venice='export ANTHROPIC_BASE_URL=http://localhost:4001 && export ANTHROPIC_API_KEY=venice-proxy && echo "Using Venice API"'
    alias anthropic='unset ANTHROPIC_BASE_URL && unset ANTHROPIC_API_KEY && echo "Using Anthropic API"'
    ```

    Ensuite, tapez simplement `venice` dans n'importe quel terminal avant d'exécuter `claude` pour utiliser Venice, ou `anthropic` pour revenir en arrière.
  </Accordion>

  <Accordion title="Exécuter plusieurs bots">
    Vous pouvez exécuter plusieurs bots NanoClaw sur la même machine (par ex. un pour usage personnel et un pour une équipe). Clonez simplement le dépôt dans un dossier différent et relancez l'installation. Note : ils partagent la même image Docker, donc reconstruire l'un affecte tous les autres.
  </Accordion>

  <Accordion title="Commandes développeur">
    Pour les personnes qui veulent modifier le code de NanoClaw :

    ```bash theme={"system"}
    npm run dev          # Démarrer proxy + NanoClaw avec hot reload
    npm run proxy        # Démarrer uniquement le proxy Venice
    npm run build        # Compiler le TypeScript
    npm test             # Exécuter les tests
    ./container/build.sh # Reconstruire le conteneur de l'agent
    ```
  </Accordion>
</AccordionGroup>

***

## Architecture

```
Vous (WhatsApp/Telegram)
        ↓
   NanoClaw (Node.js)
        ↓
   Conteneur Docker (sandbox isolé)
        ↓
   Proxy Venice (localhost:4001)
        ↓
   api.venice.ai (inférence privée)
```

| Fichier                    | Objectif                                                         |
| -------------------------- | ---------------------------------------------------------------- |
| `proxy/venice-proxy.ts`    | Traduit le format Anthropic vers le format OpenAI pour Venice    |
| `src/index.ts`             | Orchestrateur principal — boucle de messages, invocation d'agent |
| `src/channels/whatsapp.ts` | Connexion WhatsApp via baileys                                   |
| `src/channels/telegram.ts` | Bot Telegram via grammy                                          |
| `src/container-runner.ts`  | Lance des conteneurs d'agents isolés                             |

***

## FAQ

<AccordionGroup>
  <Accordion title="Pourquoi ai-je besoin d'un proxy ?">
    Le Claude Agent SDK parle le format de messages d'Anthropic. Venice parle le format d'OpenAI. Le proxy fait la traduction entre les deux afin que tout fonctionne sans modifier le SDK.
  </Accordion>

  <Accordion title="Puis-je utiliser des modèles open source ?">
    Oui. Venice héberge de nombreux modèles. Dites au bot « switch to zai-org-glm-5 » ou n'importe quel ID de modèle Venice. Consultez le [catalogue de modèles](/models/text).
  </Accordion>

  <Accordion title="Est-ce sécurisé ?">
    Les agents s'exécutent dans des conteneurs Docker avec une véritable isolation au niveau OS. La clé API Venice est transmise via stdin, jamais écrite sur disque à l'intérieur des conteneurs. Chaque groupe a son propre environnement isolé.
  </Accordion>

  <Accordion title="Ai-je besoin d'un abonnement Anthropic ?">
    Non. Tout passe par Venice AI. Vous n'avez besoin que d'une clé API Venice.
  </Accordion>

  <Accordion title="Puis-je l'utiliser sur un serveur ?">
    Oui. Cela fonctionne sur n'importe quelle machine Linux avec Docker. Utilisez le service systemd pour un démarrage automatique au boot.
  </Accordion>
</AccordionGroup>

***

## Ressources

<CardGroup cols={2}>
  <Card title="Dépôt NanoClaw Venice" icon="github" href="https://github.com/lorenzovenice/nanoclaw-venice">
    Code source et README complet
  </Card>

  <Card title="NanoClaw original" icon="github" href="https://github.com/qwibitai/nanoclaw">
    Projet en amont par qwibitai
  </Card>

  <Card title="Catalogue de modèles Venice" icon="list" href="/models/text">
    Parcourir les modèles disponibles
  </Card>

  <Card title="Confidentialité Venice" icon="shield-halved" href="/overview/privacy">
    Comment Venice protège vos données
  </Card>
</CardGroup>
