LmCast :: Stay tuned in

Show HN: Panel – A research workspace where the agent can build its own panes

Recorded: Sept. 15, 2026, 2:57 p.m.

Original Summarized

GitHub - greentfrapp/panel · GitHub

Skip to content

Navigation MenuSign inAppearance settingsPlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub Copilot appDirect agents from issue to mergeMCP RegistryIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesCode QualityEnforce quality at mergeAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricingSearch/Sign inSign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

greentfrapp

/

panel

Public

Notifications
You must be signed in to change notification settings

Fork
0

Star
8

Code

Issues
0

Pull requests
0

Actions

Projects

Security and quality
0

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Projects

Security and quality

Insights

mainBranchesTagsGo to fileCodeOpen more actions menuLatest commit History594 Commits594 CommitsFolders and filesNameNameLast commit messageLast commit date.vscode.vscode  appsapps  assetsassets  docsdocs  scriptsscripts  .gitattributes.gitattributes  .gitignore.gitignore  .nvmrc.nvmrc  .prettierrc.json.prettierrc.json  CLAUDE.mdCLAUDE.md  LICENSELICENSE  README.mdREADME.md  package.jsonpackage.json  pnpm-lock.yamlpnpm-lock.yaml  pnpm-workspace.yamlpnpm-workspace.yaml  pyproject.tomlpyproject.toml  uv.lockuv.lock  View all filesRepository files navigationREADMEMIT licenseMore itemsPanel
A research workspace where the agent works beside you: chat, files, PDFs and notebooks in one dock, and the agent can also create custom viewers and apps when necessary
This is an early build for testers. Expect rough edges, and feel free to raise issues.

Before you start

Node 22.18 or newer (or 24.12 and newer)
pnpm
uv, which fetches the Python it needs (3.12 or newer) by itself
Claude Code, installed and signed in: run claude once and log in. The agent and the literature review run through it.

Install and start
pnpm install
uv sync
pnpm start
Then open http://localhost:4173. pnpm start builds the app first, so the first start takes a minute. Ctrl-C stops everything it started.
Where your things are

~/Panel/panel.db holds your conversations and everything the agents did.
~/Panel/workspaces is where new Workspaces are created, unless you pick another folder.

Both are outside this folder, so deleting or re-cloning the repo keeps them.
What works

Chatting with an agent that can read and write files, and asks before running a tool.
Workspaces: a folder the agent works in, with its own chats and saved layout.
Panes for files, PDFs, markdown and Jupyter notebooks. Notebooks run against a real kernel, and you and the agent can edit the same one.
Long-running commands in the background, which you can watch and stop.
Panes the agent writes for you when you ask to see something a built-in Pane cannot show.
A literature review: ask the chat for one, and open its result from the tool card.

What doesn't yet

Currently only has full support for Claude Code.
Modules start only by asking the chat. There is no button to launch one.
The hypothesis Modules have no view of their own, so their results can be hard to read.
Modules don't work with OpenAI API yet.

The OpenAI key (optional)
Copy apps/server/.env.example to apps/server/.env and set OPENAI_API_KEY. This adds "OpenAI API" to the agent picker, for chat and tools.
It does not run literature reviews or the hypothesis Modules: those need an agent that can search the web, and today only Claude Code can. Without a key, the picker shows OpenAI as not set up, which is expected.
If something's wrong

"Panel couldn't reach its server." The server half is not running. Check the terminal pnpm start is in, then press Retry.
An agent shows as not set up. The reason is written under the message box.
A port is already in use, or the app answers but never loads: run pnpm dev:doctor. It says what is holding each port and how to clear it.

Licence
MIT

The idea
UI
The UI has multiple configurable windows, called Panes, that can display things ranging from image files, data files, code, as well as chat sessions. This is critical for researchers who often have to context switch between different types of files.
A default set of Panes are provided for common use cases. But custom Panes can also be added by humans and agents, such as a PDB viewer or SQLite visualizer.
Module Protocol
Modules are similar to Skills but with additional definitions to support inter-module workflows and integration with the workspace.
Specifically, Modules have typed definitions for Inputs, Outputs, and Intermediates.
Inputs and Outputs are straightforward. Intermediates refer to objects that provide observability, such as the Chain-of-Thought or scratchpad for an agentic Module, or may be intermediate outputs in a multi-stage Module. These are especially important for processes that need transparency or long-running jobs that should show progress.
Having typed definitions for these enable validation at runtime and make it easier for humans and agents to develop custom Modules for downstream tasks and Panes for visualizations.
Data Abstraction Layer
A data abstraction layer (DAL) bridges in-memory and filesystem objects. A DAL helps to map a URI to either an in-memory store or a local file, so that the Module just has to concern itself with the manipulation of the object.
AboutNo description, website, or topics provided.ResourcesReadmeMIT licenseActivityStars8 starsWatchers1 watchingForks0 forksReport repositoryReleasesPackagesContributorsLanguages

Footer

© 2026 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Community

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

Panel functions as a research workspace designed to allow an agent to operate alongside the user by integrating chat, files, PDFs, and notebooks within a unified dock, with the added capability for the agent to create custom viewers and applications as needed. This system is built around a flexible user interface featuring multiple configurable windows called Panes, which enable researchers to manage context switching efficiently between various file types such as images, data files, code, and chat sessions. While default Panes cover common use cases, the system allows for the addition of custom Panes created by both humans and agents, such as a PDB viewer or SQLite visualizer.

The core functionality is supported by a sophisticated Module Protocol that extends concepts similar to skills to facilitate inter-module workflows and integration within the workspace. These Modules are defined with typed specifications for Inputs, Outputs, and Intermediates. Intermediates are specifically designed to provide necessary observability, such as chain-of-thought processes or scratchpads for agentic modules, which is crucial for transparency in complex or long-running jobs. These typed definitions allow for runtime validation and simplify the development of custom Modules for downstream tasks and for creating visualizations within the Panes.

A critical architectural component is the Data Abstraction Layer, which serves to bridge the gap between in-memory objects and filesystem objects. The Data Abstraction Layer facilitates mapping a Uniform Resource Identifier to either an in-memory store or a local file, allowing Modules to focus solely on manipulating the abstracted object without needing to manage the complexities of storage location.

The system supports long-running commands in the background, allowing users to monitor their progress and stop execution when necessary. Workspaces provide an isolated environment for the agent, encompassing its own chats and saved layouts, each within a dedicated folder, which ensures that deletion or re-cloning of the repository does not affect these operational areas.

Current capabilities include the ability for an agent to read and write files and to ask for confirmation before executing tools. Notebooks operate against a real kernel, allowing users and agents to collaboratively edit the same notebook. Furthermore, the system supports Panes that display outputs written by the agent, providing visibility for information that built-in panes cannot explicitly show.

However, the system is currently in an early build stage, and limitations exist. Full support is presently only available for Claude Code, and modules typically require prompting the chat to initiate them rather than offering a direct launch button. The hypothesis Modules currently lack independent views, which can complicate the readability of their results. Additionally, support for the OpenAI API is not yet integrated into the agent picker, and certain advanced features, such as literature reviews and hypothesis Modules, require an agent capable of web searching, which is currently limited to Claude Code. The system also requires installation of prerequisites like Node, pnpm, and uv to begin operation. Error handling mechanisms are provided, allowing users to diagnose issues related to server connectivity, agent setup, or port conflicts through specific diagnostic commands.