Elias Bellouti
EN
← Retour aux projets

Contribution à un logiciel existant

CloudCLI : assistants IA sur téléphone

Lorsque mes assistants travaillent sur le serveur, je veux pouvoir suivre leurs modifications et intervenir depuis mon téléphone. CloudCLI fournit déjà cette interface web. J’ai adapté ce projet open source à mon usage, notamment pour qu’une demande d’autorisation Claude reste accessible lorsque je reviens dans une session encore active. Mes changements relient le mode affiché au mode réel de l’assistant, enregistrent les décisions dans ses règles natives et rendent les favoris et les états de tâches plus cohérents au fil des connexions.

Fork de siteboon/claudecodeui ; approbations Claude reconstruites, permissions natives et suivi des sessions améliorés.

Depuis un téléphone, je suis les assistants qui travaillent sur mon serveur et je réponds à leurs demandes d’autorisation.
Depuis un téléphone, je suis les assistants qui travaillent sur mon serveur et je réponds à leurs demandes d’autorisation. Agrandir le visuel ↗

Suivre le travail du serveur depuis mon téléphone

Mes assistants de développement s’exécutent sur mon serveur, avec leurs projets, fichiers et historiques. Je voulais continuer à les suivre lorsque je quitte mon ordinateur : lire une réponse, donner une instruction ou examiner une opération avant de l’autoriser. J’utilise pour cela CloudCLI, une interface web issue de siteboon/claudecodeui.

L’application amont propose déjà les conversations, l’exploration des fichiers, Git et un terminal adaptés au navigateur. Mon fork améliore surtout la continuité du contrôle à distance. Mon usage concerne Claude Code et Codex ; le travail détaillé sur les approbations porte sur les sessions Claude.

Retrouver une demande à mon retour

Une autorisation qui expire rapidement est mal adaptée à un téléphone que l’on ne regarde pas en permanence. J’ai reconstruit la boucle d’approbation du fork pour conserver la demande côté serveur et la réémettre à la reconnexion, tant que la session reste active.

Le navigateur peut alors présenter les choix accepter, refuser ou toujours accepter. La connexion WebSocket transporte la demande et la réponse ; elle ne détermine pas à elle seule la durée de vie du travail serveur. Cette distinction permet de fermer la page puis de retrouver une opération qui attend encore une décision.

Faire correspondre les contrôles à l’exécution

J’ai restauré le choix des modes Plan, Auto et Bypass, puis relié l’interface au mode effectivement annoncé par le SDK. Le badge doit décrire ce que l’assistant applique, y compris après un changement en cours de session.

Pour « Toujours accepter », j’ai réutilisé les permissions natives du projet. La décision est transmise au mécanisme de règles de Claude Code, plutôt que conservée dans un système d’autorisation propre à l’interface. Le choix du mode dans le navigateur et la règle persistée côté projet ont ainsi des responsabilités distinctes. Ces modifications traversent le serveur Node.js, le SDK et les contrôles React, avec des contrats TypeScript pour les événements échangés.

Garder un suivi compréhensible

J’ai également repris la gestion des favoris : les sessions épinglées restent accessibles même lorsqu’elles sont anciennes, tandis que l’activité récente suit son propre filtre. Après un arrêt anormal, les anciens états « en cours » sont remis en cohérence au démarrage pour ne pas laisser croire qu’une tâche travaille encore.

Ces changements sont publiés dans la branche dev de mon fork, avec un inventaire des contributions. Ils me permettent de reprendre le suivi depuis mon téléphone, même après avoir quitté la page. L’architecture générale de l’interface, la prise en charge des fournisseurs et le système de plugins restent des capacités du projet amont.

Les compétences mises en pratique

Développement web et desktop

Dans ce fork, j’ai adapté les autorisations pour retrouver une demande depuis mon téléphone tant que la session serveur reste active.

Tests, évaluation et fiabilité

J’ai réconcilié le mode de permission affiché avec celui du moteur et corrigé les sessions encore indiquées actives après un crash.

← Retour aux projets