Panel 研究工作空間讓代理程式建立自定義面板
快速重點
Panel 是一個本地、基於停靠(dock-based)的研究環境,讓 AI 代理程式可以與你並肩工作——進行聊天、編輯檔案、瀏覽 PDF、執行筆記本,甚至根據需求生成自定義的 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 提供的網路搜尋能力。
安裝檢查清單
- 安裝 Node 22.18+ (或 24.12+), pnpm, 以及 uv (它會抓取 Python 3.12+)。
- 安裝並登入 Claude Code (
claudeCLI 必須是可運行的)。 - 執行以下指令:
pnpm install uv sync pnpm start # builds then serves the app - 在瀏覽器中開啟
http://localhost:4173。第一次啟動可能需要一分鐘左右。
數據位置
~/Panel/panel.db– 儲存所有對話與代理程式動作。~/Panel/workspaces– 除非你指定其他位置,否則包含每個工作空間資料夾。 這兩個目錄都位於儲存庫(repository)之外,因此刪除或重新複製(re-cloning)儲存庫不會抹除你的數據。
常見問題排除
- "Panel couldn't reach its server." – 伺服器程序未在運行。請檢查執行
pnpm start的終端機,並點擊 Retry。 - 代理程式顯示為未設置。 – 確切原因會顯示在訊息框下方;通常這意味著 Claude Code 未登入或缺少 OpenAI 金鑰。
- 連接埠衝突或空白頁面。 – 執行
pnpm dev:doctor來識別哪個程序佔用了所需的連接埠,並如何釋放它們。
架構概覽
UI 層
Panel 使用 Vue 搭配 dockview 提供靈活、可停靠的面板系統。面板可以渲染圖像、數據檔案、代碼、或聊天會話,反映了研究人員不斷切換上下文的環境工作流。
模組協定 (Module protocol)
模組擴展了「技能」的概念,具有類型化的 Inputs、Outputs,以及 Intermediates。Intermediates 會公開可觀察的狀態(例如:思維鏈 chain-of-thought、草稿本 scratchpad)供長時間運行的任務使用,從而實現進度追蹤與下游組合。
數據抽象層 (DAL)
DAL 將 URI 映射到記憶體中的對象或檔案系統中的檔案,允許模組在抽象的數據處理句柄(handles)上操作,而無需擔心存儲細節。
来自 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." workflows.
"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, an even undo/redo via a global timeline." – purple-leafy
這些評論強調了兩個反覆出現的主題:持久化、自我修改的 UI 佈局之吸引力,以及對於檢查點(checkpointing)或版本控制的需求,以便能安全地進行代理程式驅動的變更。
授權
Panel 是以 MIT License 發佈的。
Sources
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案