Service auto-hébergé
grinev/opencode-telegram-bot avatar
grinev/opencode-telegram-bot

opencode-telegram-bot : piloter son agent de code OpenCode depuis Telegram

Client mobile OpenCode via Telegram : exécutez et surveillez les tâches de codage d'IA depuis votre téléphone pendant que tout s'exécute localement sur votre machine. Prise en charge des tâches planifiées.

1 155 étoiles206 forksTypeScriptMIT
GitHub

En bref

De quoi s’agit-il ?
Ce bot TypeScript transforme Telegram en client mobile pour l'agent de code OpenCode qui tourne sur votre machine : tâches à distance, suivi de session, changement de modèle et tâches planifiées, sans port ouvert.
À qui s’adresse-t-il ?
Ce bot concerne les utilisateurs d'OpenCode qui veulent lancer et superviser des tâches de code depuis leur téléphone tout en gardant l'exécution sur leur machine, avec Node.js 22.14 ou plus récent et un compte Telegram. Il ne convient pas à une équipe cherchant un outil partagé : la liste de blanche ne couvre qu'un ID utilisateur, et tout le code transite par le cloud Telegram.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Piloter OpenCode depuis Telegram, sans port ouvert

OpenCode Telegram Bot sert de client Telegram sécurisé pour l'interface en ligne de commande OpenCode, l'agent de code qui tourne en local. Le principe : envoyer des prompts depuis le téléphone, suivre la progression, changer de modèle et gérer les sessions, pendant que tout s'exécute sur votre machine. Le README revendique un modèle de sécurité simple : aucun port ouvert, aucune API exposée, le bot ne parle qu'à votre serveur OpenCode local et à l'API des bots Telegram.

L'accès au bot passe par une liste blanche stricte d'ID utilisateur Telegram : même quelqu'un qui trouverait votre bot ne pourrait pas l'utiliser. Le projet se présente comme une alternative légère à OpenClaw pour les utilisateurs d'OpenCode, avec en argument les tâches planifiées. Écrit en TypeScript sous licence MIT, le projet tourne sur macOS, Windows et Linux, et son interface existe en dix langues, du français au coréen, choisies via BOT_LOCALE.

Mise en route : BotFather, opencode serve et npx

Trois prérequis : Node.js 22.14 ou plus récent, OpenCode installé depuis opencode.ai, et un bot Telegram, à créer en une minute via @BotFather avec la commande /newbot. Récupérez le token fourni, par exemple 123456:ABC-DEF1234, ainsi que votre ID utilisateur numérique, que @userinfobot vous renvoie en réponse à n'importe quel message.

Côté machine, lancez opencode serve : le bot se connecte par défaut à l'API locale http://localhost:4096. Le démarrage le plus rapide passe par npx @grinev/opencode-telegram-bot@latest, sans cloner le dépôt ; un assistant interactif demande la langue, le token, l'ID utilisateur, l'URL de l'API et d'éventuels identifiants du serveur. Une installation globale existe aussi : npm install -g @grinev/opencode-telegram-bot, puis opencode-telegram start, mode premier plan recommandé pour systemd ou Docker, avec un mode --daemon réservé aux installations sans superviseur externe.

Ce que le bot couvre dans la journée d'un développeur

La fonction centrale reste le codage à distance : les prompts partent de n'importe où, et les résultats complets reviennent avec le code envoyé sous forme de fichiers. La gestion des sessions reproduit la TUI : créer une nouvelle session ou poursuivre une existante. Un message épinglé affiche en permanence le projet ou worktree courant, le modèle, la consommation de contexte et la liste des fichiers modifiés, mise à jour en temps réel.

Le pilotage fin n'est pas oublié : changement de modèle depuis les favoris et l'historique récent d'OpenCode, navigation par fournisseur, bascule à la volée entre modes Plan et Build, suivi en direct de l'activité des sous-agents avec la tâche, l'agent, le modèle et l'outil en cours. Les commandes personnalisées d'OpenCode, y compris les natives comme init ou review, se lancent depuis un menu avec confirmation, et un catalogue des skills d'OpenCode permet de les exécuter immédiatement ou avec arguments.

Voix, pièces jointes et files d'attente

Le bot accepte les messages vocaux et audio, les transcrit via une API compatible Whisper, et peut même répondre à voix haute si vous l'activez dans /settings. Les pièces jointes couvrent images, PDF et fichiers texte, y compris plusieurs fichiers en un seul album Telegram. Le navigateur de fichiers /ls parcourt le projet courant, ouvre les sous-répertoires et télécharge un fichier au toucher, avec une option pour joindre un fichier texte au prochain prompt, une fois.

Côté flux de travail, un mode file d'attente retient les messages envoyés pendant que l'agent travaille, puis les envoie un par un. Les tâches planifiées programment un prompt à une date donnée ou en intervalle récurrent. Deux garde-fous complètent l'ensemble : la compaction du contexte depuis le chat quand il grossit, et un contrôle de flux d'entrée qui n'accepte que les saisies pertinentes quand un flux interactif est actif.

Le modèle de sécurité et ses limites

Le périmètre réseau explique la promesse de sécurité : le bot sort vers l'API Telegram et vers votre serveur OpenCode local, rien d'autre. La whitelist par ID utilisateur ferme l'accès au bot, et /opencode_start et /opencode_stop permettent de gérer le serveur local depuis Telegram sans ouvrir de session SSH.

Deux limites restent entre vos mains. Le token du bot et vos identifiants se stockent dans les variables d'environnement ou un fichier .env, dont la protection est votre affaire ; le dépôt documente un déploiement Docker où le bot tourne en conteneur pendant qu'OpenCode reste sur l'hôte, mais cela ne change rien au fait que votre code transite par les serveurs Telegram. Pour du code soumis à des contraintes de confidentialité strictes, ce point doit être tranché avant l'installation.

Un projet personnel au rythme de versions soutenu

Les métadonnées décrivent un projet d'auteur unique mais actif : 1 102 étoiles, 197 forks, 30 issues ouvertes, et trois releases en août 2026, v0.23.1 le 7, v0.24.0 le 10, v0.24.1 le 24, qui coïncide avec le dernier push. Le numéro de version reste sous 1.0, le signal habituel d'une API qui peut encore bouger.

Le README prévient que la branche main peut contenir des changements non publiés et que la dernière release npm peut ne pas inclure toutes les fonctionnalités décrites ; le traqueur de commits de main sert de référence. L'auteur planifie et suit le projet publiquement avec boardown, son propre tableau de tâches en fichiers Markdown, et la liste des chantiers en cours figure dans PRODUCT.md. Avant de compter sur une fonction précise, vérifiez qu'elle figure bien dans la release npm installée, pas seulement dans le README.

Conclusion éditoriale

Ce bot concerne les utilisateurs d'OpenCode qui veulent lancer et superviser des tâches de code depuis leur téléphone tout en gardant l'exécution sur leur machine, avec Node.js 22.14 ou plus récent et un compte Telegram. Il ne convient pas à une équipe cherchant un outil partagé : la liste de blanche ne couvre qu'un ID utilisateur, et tout le code transite par le cloud Telegram. Avant de l'adopter, créez votre bot via BotFather, lancez opencode serve, démarrez le bot par npx, puis testez /ls et le changement de modèle contre votre version d'OpenCode.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté