用途:这是 PaperOrchestra 流水线(arXiv:2604.05018)第 2 步的忠实实现,负责执行 outline.json 中的可视化计划,把数据渲染成论文图表和概念示意图。
主要能力:按 figure_id 逐图独立处理;从 outline.json 读取图规格(figure_id、title、plot_type、data_source、objective、aspect_ratio);从 idea.md 或 experimental_log.md 提取数据;plot_type 为 plot 时参考 chart-patterns.md,为 diagram 时参考 diagram-patterns.md;输出 workspace/figures/<figure_id>.png(300 DPI,按指定宽高比)和 captions.json 图注映射。
使用方式:若设置 PAPERBANANA_PATH,可用 python skills/plotting-agent/scripts/paperbanana_render.py --figure-id <figure_id> --caption "<objective>" --content-file workspace/inputs/idea.md --task <diagram|plot> --aspect-ratio <aspect_ratio> --out workspace/figures/<figure_id>.png;否则用 matplotlib 回退:python skills/plotting-agent/scripts/render_matplotlib.py --spec spec.json --out workspace/figures/<figure_id>.png,示意图用 render_diagram.py。若宿主有视觉模型,可对 PNG 做最多 3 轮 VLM 批评与重绘。图注按 caption-prompt.md 生成,写入 captions.json,不加 Figure N: 前缀。
适用场景:论文写作流水线中的图表生成,支持 PlotOn 模式复用已有图。
限制:硬性要求 300 DPI、精确宽高比、隐藏上/右边框、仅用低饱和学术配色、禁止 3D 与饼图;每图必须有图注;不得虚构未绘制的数据。交接前运行 figure_lint.py 校验,Step 4 后可用 --paper 交叉检查。成本约 20–30 次 LLM 调用。PaperBanana 需 Gemini API key,具体配置见资料,暂未提供更多细节。