Avertissement honnête : montage NON officiel et non testé par nous
Ni Anthropic ni Google ne prennent en charge l’exécution d’un agent sur une TV box avec Termux. Nous ne l’avons pas testé de bout en bout sur un boîtier précis : le guide assemble des briques qui existent bel et bien et fonctionnent séparément (Termux, Termux:Boot, wake lock, l’API de Claude et les bots Telegram). Chaque boîtier chinois est un monde à part et, sur le tien, une étape peut changer. Prends ton temps et utilise un boîtier que tu n’as pas peur de bidouiller.
Une TV box Android à 30 € (ou un vieux smartphone qui traîne dans un tiroir) peut servir d’« ordinateur allumé 24h/24 » pour un agent IA. Le boîtier ne fait qu’exécuter ; Claude réfléchit dans le cloud. Tu lui parles via un bot Telegram privé qui ne répond qu’à toi, même quand ton ordinateur portable est éteint.
Comment ça marche
Tu écris au bot
Depuis Telegram, sur ton téléphone, où que tu sois.
Le boîtier récupère le message
Termux interroge Telegram toutes les quelques secondes (long polling, sans ouvrir de ports).
Claude réfléchit dans le cloud
Le boîtier envoie la tâche à l’API de Claude et reçoit la réponse.
Tu reçois la réponse
Le bot te la renvoie sur Telegram. Uniquement à ton chat_id.
À quoi ça sert (et à quoi ça ne sert pas)
| Oui | Non |
|---|---|
| Résumer des textes, rédiger, répondre à des questions | Rien de lourd : il n’a que 2 Go de RAM |
| Alertes programmées chaque matin | Rien qui exige un vrai navigateur |
| Petits scripts répétitifs | Remplacer un Mac Mini : c’est beaucoup plus lent |
Ce qu’il te faut
- Une TV box Android à toi : type X96Q, H96 ou similaire, puce ARM 4 cœurs, 2 Go de RAM et Android 7 ou plus (idéalement 9+). Environ 25-35 €. Pas le décodeur de ton opérateur : il est souvent verrouillé, il lui appartient et le bidouiller peut aller contre ton contrat.
- Du wifi ou un câble, et un clavier/une souris USB (ou l’appli télécommande sur ton téléphone) pour les premières étapes.
- Un compte sur la console de Claude (platform.claude.com) avec du crédit. L’API se paie à l’usage ; ce n’est pas l’abonnement Pro.
- Telegram sur ton téléphone.
Étape 0 : le prompt (photo + Claude)
Prends en photo le boîtier (et l’étiquette en dessous, s’il y a un modèle indiqué) et colle-la dans claude.ai avec ce prompt. Claude te guidera en s’adaptant à ton boîtier :
Voici ma TV box Android (photo jointe). Je veux la transformer en serveur qui exécute un agent IA 24h/24, même quand mon ordinateur portable est éteint. Plan :
1) Identifie le modèle, la puce (architecture ARM, 32 ou 64 bits) et la version d’Android probable. Si tu n’en es pas sûr, dis-moi comment le vérifier depuis les Paramètres ou avec "uname -m" et "getprop ro.build.version.release".
2) Guide-moi pas à pas pour installer Termux et Termux:Boot depuis F-Droid (pas Google Play) sur CET appareil, avec les réglages Android nécessaires (sources inconnues, désactiver l’optimisation de batterie pour Termux).
3) Qu’Android ne tue pas le processus : termux-wake-lock et démarrage automatique avec Termux:Boot.
4) Écris-moi un bot Telegram en Python SANS dépendances externes (uniquement la bibliothèque standard) qui :
- utilise le long polling (sans ouvrir de ports),
- réponde UNIQUEMENT à mon chat_id (lu dans une variable d’environnement) et ignore tous les autres,
- envoie mes messages à l’API de Claude et me renvoie la réponse,
- lise les clés dans des variables d’environnement. Ne me demande JAMAIS de coller mes clés dans ce chat.
5) Dis-moi comment le tester et comment consulter les logs en cas d’échec.
Avance étape par étape : donne-moi une étape, attends que je te dise « fait » ou l’erreur, puis continue.Ci-dessous, tu as le même chemin écrit, si tu préfères le faire à la main.
Étape 1 : Termux et Termux:Boot depuis F-Droid
- Sur le boîtier, ouvre le navigateur et télécharge F-Droid depuis f-droid.org. Autorise l’installation d’applis de « sources inconnues » quand on te le demande.
- Depuis F-Droid, installe Termux et Termux:Boot. Les deux depuis le même endroit : Termux:Boot n’exécute des scripts que s’il est signé avec la même clé que Termux, et chaque store signe avec une clé différente.
- Ouvre Termux:Boot une fois (juste l’ouvrir). Ainsi, Android l’autorise à se lancer au démarrage.
- Paramètres Android → Applis → Termux → Batterie → Sans restriction / ne pas optimiser.
Étape 2 : préparer Linux dans Termux
Ouvre Termux et tape :
pkg update && pkg upgrade -y
pkg install -y python
uname -m # aarch64 = ARM 64 bits (le cas normal)
Étape 3 : le bot Telegram
- Dans Telegram, parle à @BotFather →
/newbot→ donne-lui un nom. Il te donne un token : ne le partage pas. - Ton chat_id : écris n’importe quoi à ton nouveau bot et ouvre dans le navigateur
https://api.telegram.org/bot<TU_TOKEN>/getUpdates. Cherche"chat":{"id":123456789: ce nombre est ton chat_id.
Étape 4 : les clés, hors du code et hors du chat
Crée une clé dans la console de Claude → API keys. Ensuite, dans Termux :
nano ~/.agente.env
Colle ceci avec tes valeurs :
export ANTHROPIC_API_KEY="sk-ant-..."
export TELEGRAM_TOKEN="123456:ABC..."
export CHAT_ID="123456789"
export MODELO="pon-aqui-el-id-del-modelo"
Copie l’ID du modèle depuis la liste officielle des modèles (un Haiku est le moins cher pour les petites tâches) et remplace la valeur de MODELO. Enregistre (Ctrl+O, Entrée, Ctrl+X) et protège le fichier :
chmod 600 ~/.agente.env
Fixe une limite de dépenses
Dans la console de Claude, dans Limits, fixe un plafond de dépenses mensuel. Comme ça, même si quelque chose déraille, pas de mauvaise surprise.
Étape 5 : l’agent (Python sans dépendances)
nano ~/agente.py
import json, os, time, urllib.request
TG = f"https://api.telegram.org/bot{os.environ['TELEGRAM_TOKEN']}"
YO = int(os.environ["CHAT_ID"])
KEY, MODELO = os.environ["ANTHROPIC_API_KEY"], os.environ["MODELO"]
def post(url, data, headers=None):
req = urllib.request.Request(url, json.dumps(data).encode(), {"Content-Type": "application/json", **(headers or {})})
with urllib.request.urlopen(req, timeout=120) as r:
return json.load(r)
def claude(texto):
r = post("https://api.anthropic.com/v1/messages",
{"model": MODELO, "max_tokens": 1500,
"system": "Tu es mon assistant. Réponses claires et courtes, en français.",
"messages": [{"role": "user", "content": texto}]},
{"x-api-key": KEY, "anthropic-version": "2023-06-01"})
return "".join(b.get("text", "") for b in r.get("content", [])) or "(pas de réponse)"
offset = 0
while True:
try:
upd = post(f"{TG}/getUpdates", {"offset": offset, "timeout": 50})
for u in upd.get("result", []):
offset = u["update_id"] + 1
msg = u.get("message") or {}
if msg.get("chat", {}).get("id") != YO or "text" not in msg:
continue # ne répond qu'à toi
post(f"{TG}/sendMessage", {"chat_id": YO, "text": "Reçu. Je m'en occupe."})
post(f"{TG}/sendMessage", {"chat_id": YO, "text": claude(msg["text"])[:4000]})
except Exception as e:
print("error:", e)
time.sleep(10)
Teste-le :
source ~/.agente.env && python ~/agente.py
Écris à ton bot depuis Telegram. S’il te répond, ça marche. Ctrl+C pour l’arrêter.
Étape 6 : qu’il ne s’endorme pas et démarre tout seul
mkdir -p ~/.termux/boot
nano ~/.termux/boot/agente.sh
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
. ~/.agente.env
nohup python ~/agente.py >> ~/agente.log 2>&1 &
chmod +x ~/.termux/boot/agente.sh
Redémarre le boîtier. Sans rien ouvrir, écris au bot : il devrait répondre. Sinon, regarde le log avec cat ~/agente.log. termux-wake-lock laisse une notification Termux permanente : c’est normal, c’est elle qui empêche Android de le fermer.
Idées de tâches pour commencer
- « Résume-moi ce texte que je te colle. »
- « Rédige-moi 3 versions de ce message pour un client. »
- « Écris-moi le script d’un reel sur X. »
- Alertes : installe
cronie(pkg install cronie) et programme un script qui se lance chaque matin et t’envoie le résultat sur le bot.
Limites et sécurité (à lire)
- Non officiel et non testé par nous de bout en bout. Si une étape échoue sur ton boîtier, colle l’erreur à Claude.
- Claude Code (l’outil en ligne de commande) dans Termux n’est pas non plus pris en charge officiellement ; c’est pour ça que ce guide utilise directement l’API.
- Coût : chaque message consomme des tokens de l’API. Limite de dépenses fixée = tranquillité.
- Clés : uniquement dans
~/.agente.env, sur le boîtier. Jamais dans le chat avec Claude, jamais sur des captures d’écran, jamais sur GitHub. - Confidentialité : ce que tu envoies au bot passe par Telegram et par l’API d’Anthropic. Ne lui transmets pas de données sensibles.
- Si tu vends ou donnes le boîtier : supprime Termux (ou fais une réinitialisation d’usine) et révoque la clé d’API et le token du bot.
Checklist
- TV box à toi (ou vieux smartphone) avec Android 7 ou plus.
- Termux et Termux:Boot installés depuis F-Droid, et Termux:Boot ouvert une fois.
- Termux sans optimisation de batterie.
- Bot créé avec @BotFather et ton chat_id noté.
- Clés dans
~/.agente.envavecchmod 600et limite de dépenses fixée. - Le bot te répond après le redémarrage du boîtier.