Roost : Une barre latérale binaire en Go unique pour Claude Code avec historique des invites cliquables, arborescence de fichiers et notifications

Un développeur a créé Roost pour combler trois lacunes lors de l'utilisation de Claude Code via SSH avec tmux : un historique des invites cliquables, une arborescence de fichiers pour réduire l'utilisation de cat sur les fichiers, et des notifications push lorsque Claude attend. C'est un binaire Go unique servant une interface web sur 127.0.0.1:8080 conçue pour le tunneling SSH.
Fonctionnalités clés
- Terminal xterm.js basé sur tmux : Survit aux déconnexions WebSocket, à la mise en veille et aux redémarrages du serveur. Chaque session est
tmux new-session -A -s {id}. - Arborescence de fichiers : Prévisualisez les fichiers, glissez-déposez pour télécharger, et suit automatiquement votre répertoire actuel en lisant
pane_current_pathde tmux — aucune intégration shell requise. - Panneau d'activité : Lit
~/.claude/projects/*.jsonlet affiche chaque invite. Cliquez sur une invite → le terminal défile jusqu'à ce tour. - Pastilles de la barre supérieure : Affichent le modèle actif et les derniers jetons de contexte.
- Notifications push : Utilise le hook
Stopde Claude Code pour envoyer une notification à votre ordinateur portable lorsque Claude devient inactif, même si l'onglet est en arrière-plan.
Choix de conception
- tmux comme couche de durabilité : Le shell survit aux déconnexions et aux redémarrages car tmux gère la persistance des sessions. Roost ne possède qu'un pont WebSocket et un journal disque en ajout seul.
- Instance mono-utilisateur : Pas de comptes ni de RBAC. Deux personnes partageant un même hôte exécutent chacune
roost servesur un port différent. Les UID UNIX gèrent l'isolation ; les reverse-proxies gèrent l'authentification multi-locataire. - JS vanilla, sans étape de build : Le frontend est constitué de fichiers
<script>bruts intégrés via//go:embed all:web. Pas de bundler — plus facile à déboguer et à livrer.
Correction de bogue notable
display-message -p '#{x}\x1f#{y}' de tmux renvoie 0x1f comme un souligné littéral lorsqu'il est lancé sans locale UTF-8 (par exemple, depuis des unités systemd). La correction en une ligne : tmux -u. Si vous pipez tmux à travers des séparateurs de champ, verrouillez la locale.
Compatibilité
Validé sur serveur Linux + Chrome Windows via tunnel SSH. macOS comme serveur fonctionne mais a quelques aspérités. Les sessions Codex fonctionnent si vous échangez les agents. Dépôt : github.com/liamsysmind/roost. Archives v0.1.0 sur github.com/liamsysmind/roost/releases/tag/v0.1.0.
📖 Lire la source complète : r/ClaudeAI
👀 See Also

Kstack : Compétence Pack pour Claude Code afin de surveiller et dépanner Kubernetes
Kstack est un pack de compétences open source qui ajoute des commandes slash comme /investigate, /audit-security et /cluster-status à Claude Code (et à d'autres agents IA) pour surveiller et dépanner des clusters K8s. Il utilise kubectl, Kubetail, Trivy et Pluto en arrière-plan.

Cloudflare Dynamic Worker Loader : Isolation des agents IA avec Isolates
L'API Dynamic Worker Loader de Cloudflare, désormais en bêta ouverte, permet aux Workers d'instancier de nouveaux Workers avec du code spécifié à l'exécution dans des sandbox isolés utilisant des isolats V8, offrant un démarrage 100 fois plus rapide que les conteneurs et aucune limite de concurrence globale.

Claude débogue et corrige son propre bug de serveur de système de fichiers MCP pour les chemins UNC sous Windows
Un développeur a utilisé Claude Opus pour diagnostiquer et corriger un bug dans le MCP Filesystem Server où les chemins de partage réseau UNC sous Windows échouaient pour les opérations sur les sous-répertoires. La correction résout un problème de validation de chemin qui empêchait l'accès aux fichiers et dossiers dans les partages UNC.

Objectif pour Claude Code : tâches persistantes avec examen contradictoire
Une commande /goal pour Claude Code qui le maintient sur une tâche longue à travers de nombreux tours, avec une session Claude distincte et facultative qui examine le résultat final pour éviter une complétion prématurée.