Panel, un espacio de trabajo local donde el agente crea sus propios paneles
El proyecto, con licencia MIT, reúne chat, archivos, PDFs y cuadernos Jupyter en una misma interfaz y deja que el agente escriba visores nuevos cuando los que trae de serie no bastan.
Panel es un espacio de trabajo de investigación que corre en local y en el que un agente trabaja al lado del usuario: conversa, lee y escribe archivos, abre PDFs y cuadernos de Jupyter, y cuando hace falta se construye sus propios visores. Se publica bajo licencia MIT y su autor lo presenta como una build temprana para probadores, con asperezas que no oculta.
Los requisitos son concretos: Node 22.18 o superior, o bien 24.12 y posteriores, además de pnpm y uv, que se encarga de descargar el Python 3.12 o superior que necesita. Por encima de todo eso hace falta Claude Code instalado y con la sesión iniciada, porque es lo que tira tanto del agente como de la revisión bibliográfica. La instalación se reduce a pnpm install, uv sync y pnpm start, y luego abrir http://localhost:4173. El primer arranque compila antes de levantar, así que tarda un rato; Ctrl-C tumba todo lo que haya lanzado.
Los datos no viven dentro del repositorio. ~/Panel/panel.db guarda las conversaciones y lo que hicieron los agentes, y ~/Panel/workspaces es donde se crean los espacios de trabajo nuevos salvo que se elija otra carpeta. Al estar fuera, se puede borrar y volver a clonar el repo sin perder nada.
Qué funciona y qué no
Del lado que ya va: conversación con un agente que puede leer y escribir ficheros y que pregunta antes de ejecutar una herramienta; espacios de trabajo con sus propios chats y su disposición guardada; paneles para archivos, PDFs, markdown y notebooks que corren contra un kernel real, con humano y agente editando el mismo; comandos largos en segundo plano que se pueden vigilar y detener; y paneles que el agente escribe cuando se le pide ver algo que un panel integrado no muestra. La revisión de literatura se lanza pidiéndosela al chat y el resultado se abre desde la tarjeta de la herramienta.
Del lado que no: el soporte completo es sólo para Claude Code. Los módulos arrancan únicamente pidiéndolos al chat, no hay botón para lanzarlos, y los de hipótesis no tienen vista propia, así que sus resultados son difíciles de leer. Tampoco funcionan con la API de OpenAI, que sólo añade chat y herramientas al selector de agentes: la revisión bibliográfica y los módulos de hipótesis necesitan un agente capaz de buscar en la web, y hoy eso es cosa de Claude Code. Sin clave, OpenAI aparece como no configurado, que es lo esperado.
Por debajo hay dos piezas con cierto interés para quien diseñe herramientas parecidas. El Module Protocol define entradas, salidas e intermedios con tipos, y esos intermedios cubren cosas como el chain-of-thought o el scratchpad de un módulo agéntico: sirven para validar en tiempo de ejecución y para que un trabajo largo muestre progreso. La capa de abstracción de datos mapea un URI a un objeto en memoria o a un fichero local, de modo que el módulo no tenga que saber de dónde sale.
Si algo falla, el propio proyecto apunta a pnpm dev:doctor cuando un puerto está ocupado o la app responde pero no carga.
Lo llamativo aquí no es el chat, es que el agente escriba la interfaz que necesita en lugar de esperar a que alguien se la programe. Falta ver si esa promesa aguanta fuera del entorno de su autor y si los módulos dejan de ser cajas opacas, porque la dependencia de Claude Code limita bastante a quien quiera probarlo con otro modelo.
