Présentation
Panel est un environnement de recherche open‑source qui combine un chat IA, la navigation de fichiers, la lecture de PDF et l’exécution de notebooks Jupyter dans une interface à panneaux modulaires. Le projet s’appuie sur Node 22.18+ (ou 24.12+) et utilise pnpm pour la gestion des paquets. Le moteur Python requis (≥ 3.12) est récupéré automatiquement par l’utilitaire uv. Le modèle d’IA principal est Claude Code d’Anthropic, installé et authentifié via une première exécution du client Claude. Un support optionnel d’OpenAI est possible en renseignant une clé API dans apps/server/.env.
pnpm install uv sync
pnpm startArchitecture et flux de données
Panel sépare le front‑end (React + Vite) du back‑end (Node + Python). Les conversations et les actions de l’agent sont persistées dans ~/Panel/panel.db, tandis que chaque espace de travail possède son propre répertoire sous ~/Panel/workspaces. Cette isolation garantit que la suppression du dépôt Git n’efface pas les données utilisateur. Le Data Abstraction Layer (DAL) mappe les URI vers des objets en mémoire ou des fichiers locaux, simplifiant le code des modules qui n’ont plus qu’à manipuler des références abstraites. Les Modules sont décrits par des schémas typés (Inputs, Outputs, Intermediates) qui permettent une validation à l’exécution et facilitent l’interopérabilité entre agents et panneaux personnalisés.
Fonctionnalités et limites actuelles
Le chat IA peut lire et écrire des fichiers, mais il demande toujours confirmation avant d’exécuter un outil externe, ce qui évite les actions non désirées. Les Panes intégrés affichent des images, du texte, des PDF, du code et des notebooks ; les notebooks s’exécutent sur un kernel réel, autorisant une édition simultanée par l’utilisateur et l’agent. Des commandes longues s’exécutent en arrière‑plan, avec possibilité d’observer ou d’interrompre le processus. L’agent peut générer de nouveaux panneaux lorsqu’une vue native n’existe pas, par exemple un visualiseur SQLite. La fonction « literature review » repose exclusivement sur Claude Code ; les modules de recherche hypothétique et l’intégration OpenAI ne sont pas encore opérationnels. De plus, les modules ne disposent d’aucune interface visuelle propre, ce qui rend la lecture de leurs résultats difficile. L’absence de bouton de lancement pour les modules impose de les initier via le chat.
Perspectives d’évolution
Le projet prévoit d’étendre la prise en charge d’OpenAI afin de permettre aux agents de réaliser des revues de littérature et des hypothèses sans dépendre de Claude. L’ajout d’une interface dédiée aux modules améliorerait la traçabilité des sorties intermédiaires et la gestion des travaux de longue durée. Enfin, la résolution automatisée des conflits de ports (via pnpm dev:doctor) et la stabilisation du serveur back‑end sont essentielles pour passer du stade « early build for testers » à une version de production.