Panel 研究工作区允许智能体创建自定义面板

快速总结

Panel 是一个本地的、基于停靠(dock-based)的研究环境,它允许 AI 智能体与你并肩工作——进行聊天、编辑文件、浏览 PDF、运行 notebook,甚至根据需求生成自定义 UI 面板。


什么是 Panel 以及它为何重要

Panel 将聊天、文件浏览、PDF 渲染、markdown 和 Jupyter notebook 编辑功能整合到一个可停靠的界面中。其核心差异化在于,连接的 AI 智能体可以请求新的面板(例如蛋白质结构查看器或 SQLite 浏览器),并向其中填充数据,从而将 UI 本身变成一个可编程的工作区。


核心能力(当前已实现的功能)

  • 智能体驱动的聊天 – 智能体可以读/写文件,并且在调用工具之前必须请求确认。
  • 工作区隔离 – 每个工作区都位于自己的文件夹中,拥有独立的聊天记录和布局状态。
  • 多类型面板 – 内置面板可以显示文件、PDF、markdown 和 Jupyter notebooks。Notebooks 在真实的 kernel 上运行,允许你和智能体同时进行编辑。
  • 后台任务 – 运行时间较长的命令在后台执行;你可以对其进行监控和停止。
  • 智能体生成的面板 – 当内置面板无法渲染结果时,智能体可以即时创建一个自定义面板。
  • 文献综述模块 – 向聊天窗口请求进行综述;结果会以工具卡片的形式出现,你可以直接打开。

当前限制(尚未实现的功能)

  • 仅支持 Claude – 全部功能需要 Claude Code;尚未集成其他 LLM 后端。
  • 模块启动 UI – 模块仅能通过聊天命令启动;没有专门的按钮。
  • 假设模块 UI – 假设模块缺乏自己的视图,导致结果难以阅读。
  • OpenAI 集成 – 需要进行网络搜索的模块(例如文献综述)无法使用 OpenAI API 密钥。

可选的 OpenAI 支持

如果你在 apps/server/.env 中提供了 OPENAI_API_KEY,在聊天和工具使用的智能体选择器中会出现 "OpenAI API" 选项。然而,文献综述和假设模块仍然需要 Claude Code,因为它们依赖于目前仅由 Claude 提供的网络搜索能力。


安装清单

  1. 安装 Node 22.18+ (或 24.12+), pnpm, 和 uv (它会获取 Python 3.12+)。
  2. 安装并登录 Claude Code (claude CLI 必须是可运行的)。
  3. 运行以下命令:
    pnpm install
    uv sync
    pnpm start   # builds then serves the app
    
  4. 在浏览器中打开 http://localhost:4173。首次启动可能需要一分钟左右。

数据存储位置

  • ~/Panel/panel.db – 存储所有对话和智能体操作。
  • ~/Panel/workspaces – 包含每个工作区文件夹,除非你指定了其他位置。 这两个目录都位于仓库之外,因此删除或重新克隆仓库不会抹除你的数据。

常见问题排查

  • "Panel couldn't reach its server." – 服务器进程未运行。请检查执行 pnpm start 的终端,并点击 Retry
  • 智能体显示为未设置。 – 具体原因会显示在消息框下方;通常意味着 Claude Code 未登录或缺少 OpenAI 密钥。
  • 端口冲突或空白页面。 – 运行 pnpm dev:doctor 来识别哪个进程占用了所需的端口以及如何释放它们。

架构概述

UI 层

Panel 使用 Vue 配合 dockview 来提供灵活、可停靠的面板系统。面板可以渲染图像、数据文件、代码或聊天会话,镜像了研究人员不断切换上下文的工作流。

模块协议

模块通过具有类型的 InputsOutputsIntermediates 来扩展“技能”的概念。Intermediates 会为长时间运行的任务暴露可观察的状态(例如思维链、草稿本),从而实现进度跟踪和下游组合。

数据抽象层 (DAL)

DAL 将 URI 映射到内存对象或文件系统文件,允许模块在抽象的数据句柄上进行操作,而无需担心存储细节。


来自 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

"The hypothesis module lacks its own view, making results hard to read."AdityaK_9999

"I made something very similar called slices-ide… agents can modify any part of the IDE, and even undo/redo via a global timeline."purple-leafy

这些评论突显了两个反复出现的主题:持久化、自我修改的 UI 布局的吸引力,以及对检查点或版本控制的需求,以便能够安全地进行智能体驱动的变更。


许可证

Panel 是基于 MIT License 发布的。

Sources

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目