SuperAPI AI 工具集

panes

办公与效率

查看项目

更新于 10-30 16:30

技能介绍

panes 是 Superset 桌面应用提供的命令工具,让智能体对用户正在查看的工作区布局进行脚本化编排:打开标签页、拆分窗格、调整比例、移动或关闭窗格,所有改动实时可见。

用途:当用户要求拆分窗格、打开标签页、在某个窗格中运行命令、整理布局时使用。

主要能力:

  • 读取布局:superset panes list --workspace "$WS" --json 返回 activeTabId、tabs 及每个标签页的布局(split tree,包含 split 与 pane 节点)、扁平 panes 列表(含 kind、terminalId、active 及运行中的 agent 状态)。row 拆分左右并排,column 拆分上下堆叠,ratio 为第一个子节点占比。
  • 拆分窗格:panes split --workspace $WS --pane P --direction right|left|down|up [--command CMD],新一半中可打开终端并输入命令。
  • 新建标签页:panes new-tab --workspace $WS [--command CMD]。
  • 显示已有终端:在 split 或 new-tab 上加 --terminal <terminal-id>(不可与 --command 同用)。
  • 调整比例:panes resize --workspace $WS --pane P --ratio 0.05–0.95。
  • 均分布局:panes equalize --workspace $WS [--tab T]。
  • 交换窗格:panes swap --workspace $WS --pane A --with B,可跨标签页。
  • 移动窗格:panes move --workspace $WS --pane P --to Q --direction right|left|down|up,或 --new-tab 移入独立标签页。
  • 聚焦:panes focus --workspace $WS --pane P,将窗格及其标签页带到前台。
  • 关闭:panes close --workspace $WS --pane P [--keep-terminal],--keep-terminal 可保留后台进程以便之后用 --terminal 重新接入。
  • 读取终端屏幕:superset terminals read --local --workspace $WS --terminal <terminal-id> --json。

使用方式:

  1. 确认控制面可用:运行 superset schema 2>/dev/null | jq -re '.commands[] | select(.path==["panes"]) | .commands[].path[1]' || superset panes --help,确认包含 list、split、new-tab、resize、equalize、move、swap、focus、close。panes 自 CLI 1.38.0 起提供;若缺失可运行 superset update 后复查;应用内置 CLI(~/.superset/bin/superset)仅随桌面应用更新,若仍缺失需更新应用。
  2. 确定工作区:在工作区内使用 $SUPERSET_WORKSPACE_ID;否则用 superset workspaces list --local --json 选择目标。
  3. 识别当前窗格:在窗格内运行的终端满足 terminalId 等于 $SUPERSET_TERMINAL_ID,可通过 jq 从 panes list 结果中筛选。
  4. 变更命令返回新窗格或标签页 ID 及完整布局,可串联使用,无需再次 list。用 --json | jq -r .paneId(或 .tabId、.terminalId)读取 ID;--quiet 不会把结果缩减为 ID。

行为要点:

  • 只有 focus 会移动焦点;split 与 new-tab 不会打断用户当前视图,需要用户立即看到新窗格时再调用 focus。
  • --command 会把命令输入新终端的 shell;命令退出后输出保留在屏幕上,一次性命令无需包装;需要持续刷新的显示需自行循环(如 while true; do clear; …; sleep 2; done)。
  • close 会结束窗格终端(等同应用内关闭按钮);--keep-terminal 保留长时间运行的进程并在后台运行,之后用 --terminal 重新接入。
  • move 会关闭因此变空的标签页。
  • 拆分总是将被拆分的窗格减半;反复拆分同一窗格会得到 50/25/12.5 的份额,建议先构建树结构再统一 equalize。
  • 若桌面应用未及时确认拆分或新建标签页,CLI 会保留已创建的终端并提示;重试前先 panes list 检查,避免重复打开。

适用场景:并排查看测试与开发服务、构建 N 窗格网格布局、在标签页间整理窗格等。示例:先拆分用户窗格右侧运行测试,再在其下方拆分运行开发服务,最后调整比例。

限制与注意事项:

  • 窗格仅存在于桌面应用中;无桌面连接的主机(独立运行 superset start)没有窗格;旧版桌面应用会返回“This host is too old for superset panes”,应直接提示用户而非重试。
  • 打开的窗格会持续存在且终端保持运行;完成任务或重建布局前应关闭自己创建的窗格。不要关闭非自己创建的窗格(除非用户要求),且绝不能关闭自己正在运行的窗格。
  • terminals read 需加 --local 或 --host <id>,否则会查找云端工作区。
  • 资料未提供收费、价格或平台支持等进一步信息。