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 提供的網路搜尋能力。


安裝檢查清單

  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 – 除非你指定其他位置,否則包含每個工作空間資料夾。 這兩個目錄都位於儲存庫(repository)之外,因此刪除或重新複製(re-cloning)儲存庫不會抹除你的數據。

常見問題排除

  • "Panel couldn't reach its server." – 伺服器程序未在運行。請檢查執行 pnpm start 的終端機,並點擊 Retry
  • 代理程式顯示為未設置。 – 確切原因會顯示在訊息框下方;通常這意味著 Claude Code 未登入或缺少 OpenAI 金鑰。
  • 連接埠衝突或空白頁面。 – 執行 pnpm dev:doctor 來識別哪個程序佔用了所需的連接埠,並如何釋放它們。

架構概覽

UI 層

Panel 使用 Vue 搭配 dockview 提供靈活、可停靠的面板系統。面板可以渲染圖像、數據檔案、代碼、或聊天會話,反映了研究人員不斷切換上下文的環境工作流。

模組協定 (Module protocol)

模組擴展了「技能」的概念,具有類型化的 InputsOutputs,以及 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
  • 專案
  • 專案
  • 專案