Panel research workspace lets agents create custom panes
Quick takeaway
Panel is a local, dock‑based research environment that lets an AI agent work alongside you—chatting, editing files, browsing PDFs, running notebooks, and even generating custom UI panes on demand.
What Panel is and why it matters
Panel bundles chat, file browsing, PDF rendering, markdown, and Jupyter notebook editing into a single dockable interface. The key differentiator is that the attached AI agent can request new panes (e.g., a protein‑structure viewer or SQLite browser) and populate them with data, turning the UI itself into a programmable workspace.
Core capabilities (what works today)
- Agent‑driven chat – The agent can read/write files and must ask for confirmation before invoking tools.
- Workspace isolation – Each workspace lives in its own folder with independent chats and layout state.
- Multi‑type panes – Built‑in panes display files, PDFs, markdown, and Jupyter notebooks. Notebooks run on a real kernel, allowing simultaneous editing by you and the agent.
- Background jobs – Long‑running commands execute in the background; you can monitor and stop them.
- Agent‑generated panes – When the built‑in panes cannot render a result, the agent can create a custom pane on the fly.
- Literature review module – Ask the chat for a review; the result appears as a tool card you can open directly.
Current limitations (what doesn’t work yet)
- Claude‑only support – Full functionality requires Claude Code; other LLM back‑ends are not yet integrated.
- Module launch UI – Modules start only via chat commands; there is no dedicated button.
- Hypothesis module UI – The hypothesis module lacks its own view, making results hard to read.
- OpenAI integration – Modules that need web search (e.g., literature review) are unavailable with OpenAI API keys.
Optional OpenAI support
If you provide an OPENAI_API_KEY in apps/server/.env, the "OpenAI API" option appears in the agent picker for chat and tool use. However, literature reviews and hypothesis modules still require Claude Code because they depend on web‑search capabilities that only Claude currently provides.
Installation checklist
- Install Node 22.18+ (or 24.12+), pnpm, and uv (which fetches Python 3.12+).
- Install and sign in to Claude Code (
claudeCLI must be runnable). - Run the following commands:
pnpm install uv sync pnpm start # builds then serves the app - Open
http://localhost:4173in a browser. The first start may take a minute.
Data locations
~/Panel/panel.db– Stores all conversations and agent actions.~/Panel/workspaces– Contains each workspace folder unless you specify another location. Both directories live outside the repository, so deleting or re‑cloning the repo does not erase your data.
Troubleshooting common issues
- "Panel couldn't reach its server." – The server process is not running. Verify the terminal where
pnpm startwas executed and click Retry. - Agent shown as not set up. – The exact reason appears under the message box; typically it means Claude Code is not logged in or the OpenAI key is missing.
- Port conflicts or blank page. – Run
pnpm dev:doctorto identify which process holds the required ports and how to free them.
Architecture overview
UI layer
Panel uses Vue with dockview to provide a flexible, dockable pane system. Panes can render images, data files, code, or chat sessions, mirroring the workflow of researchers who constantly switch contexts.
Module protocol
Modules extend the idea of “skills” with typed Inputs, Outputs, and Intermediates. Intermediates expose observable state (e.g., chain‑of‑thought, scratchpad) for long‑running jobs, enabling progress tracking and downstream composition.
Data abstraction layer (DAL)
A DAL maps URIs to either in‑memory objects or filesystem files, allowing modules to operate on abstract data handles without worrying about storage details.
Community insights from Hacker News
"I built a similar idea as a hobby project… it felt like an AI‑native Airtable. Everything persists and becomes the UI of the app itself." – hellojebus
"The project seems great, but does it have checkpoints? I find that feature a must for agentic workflows." – AdityaK_9999
"Letting the agent build its own panes is a neat idea. Do people keep the layouts it creates?" – quietraster
"I made something very similar called slices‑ide… agents can modify any part of the IDE, add custom panels, and even undo/redo via a global timeline." – purple‑leafy
These comments highlight two recurring themes: the appeal of persistent, self‑modifying UI layouts, and the desire for checkpointing or versioning to safely experiment with agent‑driven changes.
License
Panel is released under the MIT License.
Sources
Related
- Project
- Dispatch
- Project
- Project
- Project