[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-llmsresearch--paperbanana":3,"tool-llmsresearch--paperbanana":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":75,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":23,"env_os":92,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":101,"github_topics":102,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":158},3906,"llmsresearch\u002Fpaperbanana","paperbanana","Open source implementation and extension of Google Research’s PaperBanana for automated academic figures, diagrams, and research visuals, expanded to new domains like slide generation.","PaperBanana 是一款专为 AI 科研人员打造的开源工具，旨在将文字描述自动转化为出版级的学术图表、示意图及研究视觉素材。它有效解决了科研人员在论文写作或制作演示文稿时，手动绘制高质量专业图表耗时费力且门槛较高的痛点，让研究者能更专注于核心逻辑而非绘图细节。\n\n该工具特别适合需要频繁产出学术图示的研究人员、开发者以及希望自动化工作流的实验室团队使用。其核心技术亮点在于采用了“两阶段多智能体”协作框架，能够通过迭代优化不断打磨生成结果，确保输出质量。PaperBanana 不仅支持 OpenAI、Azure 和 Google Gemini 等多种主流大模型后端，还具备独特的批量生成能力，可一次性处理多个图表需求。此外，它甚至能直接读取 PDF 论文作为上下文输入，并提供了本地 Web 界面（PaperBanana Studio）和命令行工具，方便用户进行可视化操作与集成开发。作为一个社区驱动的非官方实现，它以灵活、高效的方式降低了学术可视化的技术门槛。","\u003C!-- mcp-name: io.github.llmsresearch\u002Fpaperbanana -->\n\u003Ctable align=\"center\" width=\"100%\" style=\"border: none; border-collapse: collapse;\">\n  \u003Ctr>\n    \u003Ctd width=\"220\" align=\"left\" valign=\"middle\" style=\"border: none;\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fllmsresearch_paperbanana_readme_e967389d8dfc.jpg\" alt=\"PaperBanana Logo\" width=\"180\"\u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"left\" valign=\"middle\" style=\"border: none;\">\n      \u003Ch1>PaperBanana\u003C\u002Fh1>\n      \u003Cp>\u003Cstrong>Automated Academic Illustration for AI Scientists\u003C\u002Fstrong>\u003C\u002Fp>\n      \u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fpaperbanana\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fpaperbanana?label=PyPI%20downloads&logo=pypi&logoColor=white\" alt=\"PyPI Downloads\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllmsresearch\u002Fpaperbanana\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDemo-HuggingFace-yellow?logo=huggingface&logoColor=white\" alt=\"Demo\"\u002F>\u003C\u002Fa>\n        \u003Cbr\u002F>\n        \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-blue?logo=python&logoColor=white\" alt=\"Python 3.10+\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2601.23265-b31b1b?logo=arxiv&logoColor=white\" alt=\"arXiv\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green?logo=opensourceinitiative&logoColor=white\" alt=\"License: MIT\"\u002F>\u003C\u002Fa>\n        \u003Cbr\u002F>\n        \u003Ca href=\"https:\u002F\u002Fpydantic.dev\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic-v2-e92063?logo=pydantic&logoColor=white\" alt=\"Pydantic v2\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Ftyper.tiangolo.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCLI-Typer-009688?logo=gnubash&logoColor=white\" alt=\"Typer\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fai.google.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGemini-Free%20Tier-4285F4?logo=google&logoColor=white\" alt=\"Gemini Free Tier\"\u002F>\u003C\u002Fa>\n      \u003C\u002Fp>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n> **Disclaimer**: This is an **unofficial, community-driven open-source implementation** of the paper\n> *\"PaperBanana: Automating Academic Illustration for AI Scientists\"* by Dawei Zhu, Rui Meng, Yale Song,\n> Xiyu Wei, Sujian Li, Tomas Pfister, and Jinsung Yoon ([arXiv:2601.23265](https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265)).\n> This project is **not affiliated with or endorsed by** the original authors or Google Research.\n> The implementation is based on the publicly available paper and may differ from the original system.\n\nAn agentic framework for generating publication-quality academic diagrams and statistical plots from text descriptions. Supports OpenAI (GPT-5.2 + GPT-Image-1.5), Azure OpenAI \u002F Foundry, and Google Gemini providers.\n\n- Two-phase multi-agent pipeline with iterative refinement\n- Multiple VLM and image generation providers (OpenAI, Azure, Gemini)\n- Input optimization layer for better generation quality\n- Auto-refine mode and run continuation with user feedback\n- CLI, Python API, and MCP server for IDE integration\n- **Batch generation** from a manifest file (YAML\u002FJSON) for multiple diagrams in one run\n- **PDF inputs** for methodology context (optional `paperbanana[pdf]` \u002F PyMuPDF), with per-page selection\n- **PaperBanana Studio** — local Gradio web UI (`paperbanana studio`) for diagrams, plots, evaluation, batch, and run browser\n- Claude Code skills for `\u002Fgenerate-diagram`, `\u002Fgenerate-plot`, and `\u002Fevaluate-diagram`\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fllmsresearch_paperbanana_readme_d37ed65d5963.png\" alt=\"PaperBanana takes paper as input and provide diagram as output\" style=\"max-width: 960px; width: 100%; height: auto;\"\u002F>\n\u003C\u002Fp>\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- Python 3.10+\n- An OpenAI API key ([platform.openai.com](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)) or Azure OpenAI \u002F Foundry endpoint\n- Or a Google Gemini API key (free, [Google AI Studio](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey))\n\n### Step 1: Install\n\n```bash\npip install paperbanana\n```\n\nOr install from source for development:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana.git\ncd paperbanana\npip install -e \".[dev,openai,google]\"\n```\n\n### Step 2: Get Your API Key\n\n```bash\ncp .env.example .env\n# Edit .env and add your API key:\n#   OPENAI_API_KEY=your-key-here\n#   GOOGLE_API_KEY=your-key-here\n#\n# For Azure OpenAI \u002F Foundry:\n#   OPENAI_BASE_URL=https:\u002F\u002F\u003Cresource>.openai.azure.com\u002Fopenai\u002Fv1\n#\n# Optional Gemini overrides:\n#   GOOGLE_BASE_URL=https:\u002F\u002Fyour-gemini-proxy.example.com\n#   GOOGLE_VLM_MODEL=gemini-2.0-flash\n#   GOOGLE_IMAGE_MODEL=gemini-3-pro-image-preview\n```\n\nOr use the setup wizard for Gemini:\n\n```bash\npaperbanana setup\n```\n\n### Step 3: Generate a Diagram\n\n```bash\npaperbanana generate \\\n  --input examples\u002Fsample_inputs\u002Ftransformer_method.txt \\\n  --caption \"Overview of our encoder-decoder architecture with sparse routing\"\n```\n\nWith input optimization and auto-refine:\n\n```bash\npaperbanana generate \\\n  --input my_method.txt \\\n  --caption \"Overview of our encoder-decoder framework\" \\\n  --optimize --auto\n```\n\nOutput is saved to `outputs\u002Frun_\u003Ctimestamp>\u002Ffinal_output.png` along with all intermediate iterations and metadata.\n\n### PaperBanana Studio (local web UI)\n\nInstall the optional Gradio dependency, then start the app:\n\n```bash\npip install 'paperbanana[studio]'\npaperbanana studio\n```\n\nOpen the URL shown in the terminal (default `http:\u002F\u002F127.0.0.1:7860\u002F`). The Studio exposes the same workflows as the CLI: methodology diagrams, statistical plots, comparative evaluation, continuing a prior run, batch manifests, and a simple browser for `run_*` \u002F `batch_*` output folders. Use `--host`, `--port`, `--config`, and `--output-dir` as needed.\n\n---\n\n## How It Works\n\nPaperBanana implements a multi-agent pipeline with up to 7 specialized agents:\n\n**Phase 0 -- Input Optimization (optional, `--optimize`):**\n\n0. **Input Optimizer** runs two parallel VLM calls:\n   - **Context Enricher** structures raw methodology text into diagram-ready format (components, flows, groupings, I\u002FO)\n   - **Caption Sharpener** transforms vague captions into precise visual specifications\n\n**Phase 1 -- Linear Planning:**\n\n1. **Retriever** selects the most relevant reference examples from a curated set of 13 methodology diagrams spanning agent\u002Freasoning, vision\u002Fperception, generative\u002Flearning, and science\u002Fapplications domains\n2. **Planner** generates a detailed textual description of the target diagram via in-context learning from the retrieved examples\n3. **Stylist** refines the description for visual aesthetics using NeurIPS-style guidelines (color palette, layout, typography)\n\n**Phase 2 -- Iterative Refinement:**\n\n4. **Visualizer** renders the description into an image\n5. **Critic** evaluates the generated image against the source context and provides a revised description addressing any issues\n6. Steps 4-5 repeat for a fixed number of iterations (default 3), or until the critic is satisfied (`--auto`)\n\n## Providers\n\nPaperBanana supports multiple VLM and image generation providers:\n\n| Component | Provider | Model | Notes |\n|-----------|----------|-------|-------|\n| VLM (planning, critique) | OpenAI | `gpt-5.2` | Default |\n| Image Generation | OpenAI | `gpt-image-1.5` | Default |\n| VLM | Google Gemini | `gemini-2.0-flash` | Free tier |\n| Image Generation | Google Gemini | `gemini-3-pro-image-preview` | Free tier |\n| VLM \u002F Image | OpenRouter | Any supported model | Flexible routing |\n\nAzure OpenAI \u002F Foundry endpoints are auto-detected — set `OPENAI_BASE_URL` to your endpoint.\nGemini-compatible gateways are also supported — set `GOOGLE_BASE_URL` when needed.\n\n---\n\n## CLI Reference\n\n### `paperbanana generate` -- Methodology Diagrams\n\n```bash\n# Basic generation\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"Overview of our framework\"\n\n# With input optimization and auto-refine\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"Overview of our framework\" \\\n  --optimize --auto\n\n# Continue the latest run with user feedback\npaperbanana generate --continue \\\n  --feedback \"Make arrows thicker and colors more distinct\"\n\n# Continue a specific run\npaperbanana generate --continue-run run_20260218_125448_e7b876 \\\n  --iterations 3\n\n# PDF as input (install PyMuPDF: pip install 'paperbanana[pdf]')\npaperbanana generate \\\n  --input paper.pdf \\\n  --caption \"Overview of our method\" \\\n  --pdf-pages \"3-8\"\n```\n\n| Flag | Short | Description |\n|------|-------|-------------|\n| `--input` | `-i` | Path to methodology text file or PDF (required for new runs) |\n| `--caption` | `-c` | Figure caption \u002F communicative intent (required for new runs) |\n| `--output` | `-o` | Output image path (default: auto-generated in `outputs\u002F`) |\n| `--iterations` | `-n` | Number of Visualizer-Critic refinement rounds (default: 3) |\n| `--auto` | | Loop until critic is satisfied (with `--max-iterations` safety cap) |\n| `--max-iterations` | | Safety cap for `--auto` mode (default: 30) |\n| `--optimize` | | Preprocess inputs with parallel context enrichment and caption sharpening |\n| `--continue` | | Continue from the latest run in `outputs\u002F` |\n| `--continue-run` | | Continue from a specific run ID |\n| `--feedback` | | User feedback for the critic when continuing a run |\n| `--pdf-pages` | | PDF input only: 1-based pages (e.g. `1-5`, `2,4,6-8`; default: all) |\n| `--vlm-provider` | | VLM provider name (default: `openai`) |\n| `--vlm-model` | | VLM model name (default: `gpt-5.2`) |\n| `--image-provider` | | Image gen provider (default: `openai_imagen`) |\n| `--image-model` | | Image gen model (default: `gpt-image-1.5`) |\n| `--format` | `-f` | Output format: `png`, `jpeg`, or `webp` (default: `png`) |\n| `--config` | | Path to YAML config file (see `configs\u002Fconfig.yaml`) |\n| `--verbose` | `-v` | Show detailed agent progress and timing |\n| `--progress-json` | | Emit JSON progress events to stdout during generation |\n\n### `paperbanana plot` -- Statistical Plots\n\n```bash\npaperbanana plot \\\n  --data results.csv \\\n  --intent \"Bar chart comparing model accuracy across benchmarks\"\n```\n\n| Flag | Short | Description |\n|------|-------|-------------|\n| `--data` | `-d` | Path to data file, CSV or JSON (required) |\n| `--intent` | | Communicative intent for the plot (required) |\n| `--output` | `-o` | Output image path |\n| `--iterations` | `-n` | Refinement iterations (default: 3) |\n\n### `paperbanana batch` -- Batch Generation\n\nGenerate multiple methodology diagrams from a single manifest file (YAML or JSON). Each item runs the full pipeline; outputs are written under `outputs\u002Fbatch_\u003Cid>\u002Frun_\u003Cid>\u002F` and a `batch_report.json` summarizes all runs.\n\n```bash\npaperbanana batch --manifest examples\u002Fbatch_manifest.yaml --optimize\n```\n\nManifest format (YAML or JSON with an `items` list):\n\n```yaml\nitems:\n  - input: path\u002Fto\u002Fmethod1.txt\n    caption: \"Overview of our encoder-decoder\"\n    id: fig1\n  - input: method2.txt\n    caption: \"Training pipeline\"\n    id: fig2\n  - input: paper.pdf\n    caption: \"System overview\"\n    id: fig3\n    pdf_pages: \"4-9\" # optional; PDF inputs only\n```\n\nPaths in the manifest are resolved relative to the manifest file's directory.\n\n**Generate a human-readable report** from an existing batch run (Markdown or HTML):\n\n```bash\npaperbanana batch-report --batch-dir outputs\u002Fbatch_20250109_123456_abc --format markdown\n# or by batch ID (under default output dir)\npaperbanana batch-report --batch-id batch_20250109_123456_abc --format html --output report.html\n```\n\n| Flag | Short | Description |\n|------|-------|-------------|\n| `--manifest` | `-m` | Path to manifest file (required) |\n| `--output-dir` | `-o` | Parent directory for batch run (default: outputs) |\n| `--config` | | Path to config YAML |\n| `--iterations` | `-n` | Refinement iterations per item |\n| `--optimize` | | Preprocess inputs for each item |\n| `--auto` | | Loop until critic satisfied per item |\n| `--format` | `-f` | Output image format (png, jpeg, webp) |\n| `--auto-download-data` | | Download expanded reference set if needed |\n\n### `paperbanana evaluate` -- Quality Assessment\n\nComparative evaluation of a generated diagram against a human reference using VLM-as-a-Judge:\n\n```bash\npaperbanana evaluate \\\n  --generated diagram.png \\\n  --reference human_diagram.png \\\n  --context method.txt \\\n  --caption \"Overview of our framework\"\n```\n\n| Flag | Short | Description |\n|------|-------|-------------|\n| `--generated` | `-g` | Path to generated image (required) |\n| `--reference` | `-r` | Path to human reference image (required) |\n| `--context` | | Path to source context text file or PDF (required) |\n| `--caption` | `-c` | Figure caption (required) |\n| `--pdf-pages` | | PDF context only: 1-based page selection (default: all) |\n\nScores on 4 dimensions (hierarchical aggregation per the paper):\n- **Primary**: Faithfulness, Readability\n- **Secondary**: Conciseness, Aesthetics\n\n### `paperbanana studio` -- Local web UI\n\nRequires `pip install 'paperbanana[studio]'` (Gradio).\n\n```bash\npaperbanana studio\npaperbanana studio --port 8080 --output-dir .\u002Fmy_outputs\n```\n\n| Flag | Description |\n|------|-------------|\n| `--host` | Bind address (default `127.0.0.1`) |\n| `--port` | Port (default `7860`) |\n| `--share` | Create a temporary public Gradio link (do not use with sensitive data) |\n| `--config` | Path to YAML config |\n| `--output-dir` \u002F `-o` | Default output directory for runs |\n| `--root-path` | URL subpath when behind a reverse proxy |\n\n### `paperbanana setup` -- First-Time Configuration\n\n```bash\npaperbanana setup\n```\n\nInteractive wizard that first asks whether to use the official Gemini API.\nIf you choose official API, it follows the default AI Studio key flow; if not, it asks for a custom Gemini-compatible URL and API key.\n\n---\n\n## Python API\n\n```python\nimport asyncio\nfrom paperbanana import PaperBananaPipeline, GenerationInput, DiagramType\nfrom paperbanana.core.config import Settings\n\nsettings = Settings(\n    vlm_provider=\"openai\",\n    vlm_model=\"gpt-5.2\",\n    image_provider=\"openai_imagen\",\n    image_model=\"gpt-image-1.5\",\n    optimize_inputs=True,   # Enable input optimization\n    auto_refine=True,       # Loop until critic is satisfied\n)\n\npipeline = PaperBananaPipeline(settings=settings)\n\nresult = asyncio.run(pipeline.generate(\n    GenerationInput(\n        source_context=\"Our framework consists of...\",\n        communicative_intent=\"Overview of the proposed method.\",\n        diagram_type=DiagramType.METHODOLOGY,\n    )\n))\n\nprint(f\"Output: {result.image_path}\")\n```\n\n**Progress callbacks:** `generate()` and `continue_run()` accept an optional `progress_callback` argument. The pipeline invokes it with `PipelineProgressEvent` objects (stage, message, seconds, iteration, extra) at each step (optimizer, retriever, planner, stylist, visualizer, critic), so you can show progress in UIs or log timing without patching agents.\n\nTo continue a previous run:\n\n```python\nfrom paperbanana.core.resume import load_resume_state\n\nstate = load_resume_state(\"outputs\", \"run_20260218_125448_e7b876\")\nresult = asyncio.run(pipeline.continue_run(\n    resume_state=state,\n    additional_iterations=3,\n    user_feedback=\"Make the encoder block more prominent\",\n))\n```\n\nSee `examples\u002Fgenerate_diagram.py` and `examples\u002Fgenerate_plot.py` for complete working examples.\n\n---\n\n## MCP Server\n\nPaperBanana includes an MCP server for use with Claude Code, Cursor, or any MCP-compatible client. Add the following config to use it via `uvx` without a local clone:\n\n```json\n{\n  \"mcpServers\": {\n    \"paperbanana\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"paperbanana[mcp]\", \"paperbanana-mcp\"],\n      \"env\": { \"GOOGLE_API_KEY\": \"your-google-api-key\" }\n    }\n  }\n}\n```\n\nThree MCP tools are exposed: `generate_diagram`, `generate_plot`, and `evaluate_diagram`.\n\nThe repo also ships with 3 Claude Code skills:\n- `\u002Fgenerate-diagram \u003Cfile> [caption]` - generate a methodology diagram from a text file\n- `\u002Fgenerate-plot \u003Cdata-file> [intent]` - generate a statistical plot from CSV\u002FJSON data\n- `\u002Fevaluate-diagram \u003Cgenerated> \u003Creference>` - evaluate a diagram against a human reference\n\nSee [`mcp_server\u002FREADME.md`](mcp_server\u002FREADME.md) for full setup details (Claude Code, Cursor, local development).\n\n---\n\n## Configuration\n\nDefault settings are in `configs\u002Fconfig.yaml`. Override via CLI flags or a custom YAML:\n\n```bash\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"Overview\" \\\n  --config my_config.yaml\n```\n\nKey settings:\n\n```yaml\nvlm:\n  provider: openai           # openai, gemini, or openrouter\n  model: gpt-5.2\n\nimage:\n  provider: openai_imagen    # openai_imagen, google_imagen, or openrouter_imagen\n  model: gpt-image-1.5\n\npipeline:\n  num_retrieval_examples: 10\n  refinement_iterations: 3\n  # auto_refine: true        # Loop until critic is satisfied\n  # max_iterations: 30       # Safety cap for auto_refine mode\n  # optimize_inputs: true    # Preprocess inputs for better generation\n  output_resolution: \"2k\"\n\nreference:\n  path: data\u002Freference_sets\n\noutput:\n  dir: outputs\n  save_iterations: true\n  save_metadata: true\n```\n\nEnvironment variables (`.env`):\n\n```bash\n# OpenAI (default)\nOPENAI_API_KEY=your-key\nOPENAI_BASE_URL=https:\u002F\u002Fapi.openai.com\u002Fv1    # or Azure endpoint\nOPENAI_VLM_MODEL=gpt-5.2                      # override model\nOPENAI_IMAGE_MODEL=gpt-image-1.5              # override model\n\n# Google Gemini (alternative, free)\nGOOGLE_API_KEY=your-key\nGOOGLE_BASE_URL=                            # optional custom Gemini-compatible endpoint\nGOOGLE_VLM_MODEL=gemini-2.0-flash          # override Gemini VLM model\nGOOGLE_IMAGE_MODEL=gemini-3-pro-image-preview  # override Gemini image model\n```\n\n---\n\n## Project Structure\n\n```\npaperbanana\u002F\n├── paperbanana\u002F\n│   ├── core\u002F          # Pipeline orchestration, types, config, resume, utilities\n│   ├── agents\u002F        # Optimizer, Retriever, Planner, Stylist, Visualizer, Critic\n│   ├── providers\u002F     # VLM and image gen provider implementations\n│   │   ├── vlm\u002F       # OpenAI, Gemini, OpenRouter VLM providers\n│   │   └── image_gen\u002F # OpenAI, Gemini, OpenRouter image gen providers\n│   ├── reference\u002F     # Reference set management (13 curated examples)\n│   ├── guidelines\u002F    # Style guidelines loader\n│   └── evaluation\u002F    # VLM-as-Judge evaluation system\n├── configs\u002F           # YAML configuration files\n├── prompts\u002F           # Prompt templates for all agents + evaluation\n│   ├── diagram\u002F       # context_enricher, caption_sharpener, retriever, planner, stylist, visualizer, critic\n│   ├── plot\u002F          # plot-specific prompt variants\n│   └── evaluation\u002F    # faithfulness, conciseness, readability, aesthetics\n├── data\u002F\n│   ├── reference_sets\u002F  # 13 verified methodology diagrams\n│   └── guidelines\u002F      # NeurIPS-style aesthetic guidelines\n├── examples\u002F          # Working example scripts + sample inputs\n├── scripts\u002F           # Data curation and build scripts\n├── tests\u002F             # Test suite\n├── mcp_server\u002F        # MCP server for IDE integration\n└── .claude\u002Fskills\u002F    # Claude Code skills (generate-diagram, generate-plot, evaluate-diagram)\n```\n\n## Development\n\n```bash\n# Install with dev dependencies\npip install -e \".[dev,openai,google]\"\n\n# Run tests\npytest tests\u002F -v\n\n# Lint\nruff check paperbanana\u002F mcp_server\u002F tests\u002F scripts\u002F\n\n# Format\nruff format paperbanana\u002F mcp_server\u002F tests\u002F scripts\u002F\n```\n\n## Citation\n\nThis is an **unofficial** implementation. If you use this work, please cite the **original paper**:\n\n```bibtex\n@article{zhu2026paperbanana,\n  title={PaperBanana: Automating Academic Illustration for AI Scientists},\n  author={Zhu, Dawei and Meng, Rui and Song, Yale and Wei, Xiyu\n          and Li, Sujian and Pfister, Tomas and Yoon, Jinsung},\n  journal={arXiv preprint arXiv:2601.23265},\n  year={2026}\n}\n```\n\n**Original paper**: [https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265](https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265)\n\n## Disclaimer\n\nThis project is an independent open-source reimplementation based on the publicly available paper.\nIt is not affiliated with, endorsed by, or connected to the original authors, Google Research, or\nPeking University in any way. The implementation may differ from the original system described in the paper.\nUse at your own discretion.\n\n## License\n\nMIT\n","\u003C!-- mcp-name: io.github.llmsresearch\u002Fpaperbanana -->\n\u003Ctable align=\"center\" width=\"100%\" style=\"border: none; border-collapse: collapse;\">\n  \u003Ctr>\n    \u003Ctd width=\"220\" align=\"left\" valign=\"middle\" style=\"border: none;\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fllmsresearch_paperbanana_readme_e967389d8dfc.jpg\" alt=\"PaperBanana Logo\" width=\"180\"\u002F>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"left\" valign=\"middle\" style=\"border: none;\">\n      \u003Ch1>PaperBanana\u003C\u002Fh1>\n      \u003Cp>\u003Cstrong>面向AI科学家的自动化学术插图工具\u003C\u002Fstrong>\u003C\u002Fp>\n      \u003Cp>\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fpaperbanana\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fpaperbanana?label=PyPI%20downloads&logo=pypi&logoColor=white\" alt=\"PyPI Downloads\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fllmsresearch\u002Fpaperbanana\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDemo-HuggingFace-yellow?logo=huggingface&logoColor=white\" alt=\"Demo\"\u002F>\u003C\u002Fa>\n        \u003Cbr\u002F>\n        \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-blue?logo=python&logoColor=white\" alt=\"Python 3.10+\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2601.23265-b31b1b?logo=arxiv&logoColor=white\" alt=\"arXiv\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green?logo=opensourceinitiative&logoColor=white\" alt=\"License: MIT\"\u002F>\u003C\u002Fa>\n        \u003Cbr\u002F>\n        \u003Ca href=\"https:\u002F\u002Fpydantic.dev\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic-v2-e92063?logo=pydantic&logoColor=white\" alt=\"Pydantic v2\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Ftyper.tiangolo.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCLI-Typer-009688?logo=gnubash&logoColor=white\" alt=\"Typer\"\u002F>\u003C\u002Fa>\n        \u003Ca href=\"https:\u002F\u002Fai.google.dev\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGemini-Free%20Tier-4285F4?logo=google&logoColor=white\" alt=\"Gemini Free Tier\"\u002F>\u003C\u002Fa>\n      \u003C\u002Fp>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n> **免责声明**: 本项目是Dawei Zhu、Rui Meng、Yale Song、Xiyu Wei、Sujian Li、Tomas Pfister和Jinsung Yoon所著论文《PaperBanana: 面向AI科学家的自动化学术插图》（[arXiv:2601.23265](https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265)）的**非官方、社区驱动的开源实现**。本项目与原作者或Google Research均无关联，亦未获得其认可。该实现基于公开论文，可能与原始系统存在差异。\n\n一个基于智能体框架的工具，可根据文本描述生成出版级质量的学术图表和统计图形。支持OpenAI（GPT-5.2 + GPT-Image-1.5）、Azure OpenAI \u002F Foundry以及Google Gemini等服务提供商。\n\n- 两阶段多智能体流水线，具备迭代优化功能\n- 支持多种视觉语言模型及图像生成服务提供商（OpenAI、Azure、Gemini）\n- 输入优化层，提升生成质量\n- 自动精修模式及用户反馈下的运行续接\n- 提供命令行界面、Python API以及MCP服务器，便于集成到IDE中\n- 可通过清单文件（YAML\u002FJSON）进行**批量生成**，一次运行即可完成多个图表的制作\n- 支持**PDF输入**以提供方法论背景信息（可选`paperbanana[pdf]` \u002F PyMuPDF），并可逐页选择\n- **PaperBanana Studio** — 本地Gradio Web界面（`paperbanana studio`），用于图表、绘图、评估、批量处理及运行结果浏览\n- 支持Claude Code技能，可用于`\u002Fgenerate-diagram`、`\u002Fgenerate-plot`和`\u002Fevaluate-diagram`等指令\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fllmsresearch_paperbanana_readme_d37ed65d5963.png\" alt=\"PaperBanana以论文为输入，输出图表\" style=\"max-width: 960px; width: 100%; height: auto;\"\u002F>\n\u003C\u002Fp>\n\n---\n\n## 快速入门\n\n### 前置条件\n\n- Python 3.10+\n- OpenAI API密钥（[platform.openai.com](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)）或Azure OpenAI \u002F Foundry端点\n- 或Google Gemini API密钥（免费，可在[Google AI Studio](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey)获取）\n\n### 第一步：安装\n\n```bash\npip install paperbanana\n```\n\n若需开发，则可从源码安装：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana.git\ncd paperbanana\npip install -e \".[dev,openai,google]\"\n```\n\n### 第二步：获取API密钥\n\n```bash\ncp .env.example .env\n# 编辑.env文件并添加您的API密钥：\n#   OPENAI_API_KEY=your-key-here\n#   GOOGLE_API_KEY=your-key-here\n#\n# 对于Azure OpenAI \u002F Foundry：\n#   OPENAI_BASE_URL=https:\u002F\u002F\u003Cresource>.openai.azure.com\u002Fopenai\u002Fv1\n#\n# 可选的Gemini自定义配置：\n#   GOOGLE_BASE_URL=https:\u002F\u002Fyour-gemini-proxy.example.com\n#   GOOGLE_VLM_MODEL=gemini-2.0-flash\n#   GOOGLE_IMAGE_MODEL=gemini-3-pro-image-preview\n```\n\n您也可以使用Gemini的设置向导：\n\n```bash\npaperbanana setup\n```\n\n### 第三步：生成图表\n\n```bash\npaperbanana generate \\\n  --input examples\u002Fsample_inputs\u002Ftransformer_method.txt \\\n  --caption \"我们的稀疏路由编码器-解码器架构概览\"\n```\n\n结合输入优化与自动精修功能：\n\n```bash\npaperbanana generate \\\n  --input my_method.txt \\\n  --caption \"我们的编码器-解码器框架概览\" \\\n  --optimize --auto\n```\n\n生成结果将保存至`outputs\u002Frun_\u003Ctimestamp>\u002Ffinal_output.png`，同时包含所有中间迭代步骤及元数据。\n\n### PaperBanana Studio（本地Web界面）\n\n安装可选的Gradio依赖后，启动应用：\n\n```bash\npip install 'paperbanana[studio]'\npaperbanana studio\n```\n\n打开终端中显示的URL（默认为`http:\u002F\u002F127.0.0.1:7860\u002F`）。Studio提供了与命令行界面相同的流程：方法论图表、统计图表、对比评估、继续之前的运行、批量清单处理，以及用于浏览`run_*`和`batch_*`输出文件夹的简单浏览器。可根据需要使用`--host`、`--port`、`--config`和`--output-dir`等参数。\n\n---\n\n## 工作原理\n\nPaperBanana 实现了一个包含最多 7 个专业代理的多代理流水线：\n\n**阶段 0 -- 输入优化（可选，`--optimize`）：**\n\n0. **输入优化器** 并行调用两个视觉语言模型（VLM）：\n   - **上下文增强器** 将原始方法文本结构化为适合绘制图表的格式（组件、流程、分组、输入输出）\n   - **标题精炼器** 将模糊的标题转化为精确的可视化规范\n\n**阶段 1 -- 线性规划：**\n\n1. **检索器** 从一个精选的 13 张方法论图表集合中选择最相关的参考示例，这些图表涵盖代理\u002F推理、视觉\u002F感知、生成式\u002F学习以及科学\u002F应用等领域。\n2. **规划器** 基于检索到的示例进行上下文学习，生成目标图表的详细文本描述。\n3. **风格设计师** 使用 NeurIPS 风格指南（配色方案、布局、排版）对描述进行润色，以提升视觉美感。\n\n**阶段 2 -- 迭代优化：**\n\n4. **可视化器** 将描述渲染成图像。\n5. **评论员** 根据源上下文评估生成的图像，并提供修改后的描述以解决任何问题。\n6. 上述第 4 至第 5 步会重复执行固定次数（默认 3 次），或直到评论员满意为止（`--auto`）。\n\n## 服务提供商\n\nPaperBanana 支持多种视觉语言模型和图像生成服务提供商：\n\n| 组件         | 服务提供商 | 模型               | 备注           |\n|--------------|------------|--------------------|----------------|\n| VLM（规划、评论） | OpenAI     | `gpt-5.2`          | 默认           |\n| 图像生成     | OpenAI     | `gpt-image-1.5`    | 默认           |\n| VLM          | Google Gemini | `gemini-2.0-flash` | 免费层级       |\n| 图像生成     | Google Gemini | `gemini-3-pro-image-preview` | 免费层级 |\n| VLM \u002F 图像   | OpenRouter | 任何支持的模型     | 灵活路由       |\n\nAzure OpenAI 和 Foundry 的端点会自动检测——只需设置 `OPENAI_BASE_URL` 为您的端点即可。同时，也支持与 Gemini 兼容的网关——在需要时设置 `GOOGLE_BASE_URL`。\n\n---\n\n## CLI 参考\n\n### `paperbanana generate` -- 方法论图表\n\n```bash\n# 基本生成\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"我们的框架概述\"\n\n# 带有输入优化和自动优化\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"我们的框架概述\" \\\n  --optimize --auto\n\n# 根据用户反馈继续最近一次运行\npaperbanana generate --continue \\\n  --feedback \"让箭头更粗，颜色更鲜明\"\n\n# 继续特定运行\npaperbanana generate --continue-run run_20260218_125448_e7b876 \\\n  --iterations 3\n\n# PDF 作为输入（需安装 PyMuPDF：pip install 'paperbanana[pdf]’）\npaperbanana generate \\\n  --input paper.pdf \\\n  --caption \"我们方法的概述\" \\\n  --pdf-pages \"3-8\"\n```\n\n| 标志        | 缩写 | 描述                                       |\n|-------------|------|--------------------------------------------|\n| `--input`   | `-i` | 方法文本文件或 PDF 的路径（新运行必需）      |\n| `--caption` | `-c` | 图表标题\u002F沟通意图（新运行必需）            |\n| `--output`  | `-o` | 输出图像路径（默认：自动生成在 `outputs\u002F` 目录下） |\n| `--iterations` | `-n` | 可视化器-评论员优化轮次（默认：3）         |\n| `--auto`    |      | 循环直至评论员满意（并设有 `--max-iterations` 安全上限） |\n| `--max-iterations` | | `--auto` 模式的安全上限（默认：30）         |\n| `--optimize` |      | 使用并行上下文增强和标题精炼预处理输入     |\n| `--continue` |      | 从 `outputs\u002F` 中的最新运行继续              |\n| `--continue-run` | | 从特定运行 ID 继续                        |\n| `--feedback` |      | 继续运行时提供给评论员的用户反馈           |\n| `--pdf-pages` |      | 仅限 PDF 输入：基于 1 的页码（如 `1-5`、`2,4,6-8`；默认：全部） |\n| `--vlm-provider` | | VLM 服务提供商名称（默认：`openai`）        |\n| `--vlm-model` |      | VLM 模型名称（默认：`gpt-5.2`）             |\n| `--image-provider` | | 图像生成服务提供商（默认：`openai_imagen`） |\n| `--image-model` |      | 图像生成模型（默认：`gpt-image-1.5`）       |\n| `--format`  | `-f` | 输出格式：`png`、`jpeg` 或 `webp`（默认：`png`） |\n| `--config`  |      | YAML 配置文件路径（参见 `configs\u002Fconfig.yaml`） |\n| `--verbose` | `-v` | 显示详细的代理进度和计时信息               |\n| `--progress-json` | | 在生成过程中将进度事件以 JSON 格式输出到标准输出 |\n\n### `paperbanana plot` -- 统计图表\n\n```bash\npaperbanana plot \\\n  --data results.csv \\\n  --intent \"比较各基准上模型准确率的柱状图\"\n```\n\n| 标志        | 缩写 | 描述                                       |\n|-------------|------|--------------------------------------------|\n| `--data`    | `-d` | 数据文件路径，CSV 或 JSON（必需）           |\n| `--intent`  |      | 图表的沟通意图（必需）                     |\n| `--output`  | `-o` | 输出图像路径                               |\n| `--iterations` | `-n` | 优化迭代次数（默认：3）                    |\n\n### `paperbanana batch` -- 批量生成\n\n从单个清单文件（YAML 或 JSON）中生成多个方法论图表。每个条目都会运行完整的流水线；输出会被写入 `outputs\u002Fbatch_\u003Cid>\u002Frun_\u003Cid>\u002F` 目录下，并且会生成一个 `batch_report.json` 来汇总所有运行结果。\n\n```bash\npaperbanana batch --manifest examples\u002Fbatch_manifest.yaml --optimize\n```\n\n清单格式（YAML 或 JSON，包含一个 `items` 列表）：\n\n```yaml\nitems:\n  - input: path\u002Fto\u002Fmethod1.txt\n    caption: \"我们的编码解码器概述\"\n    id: fig1\n  - input: method2.txt\n    caption: \"训练流程\"\n    id: fig2\n  - input: paper.pdf\n    caption: \"系统概述\"\n    id: fig3\n    pdf_pages: \"4-9\" # 可选；仅适用于 PDF 输入\n```\n\n清单中的路径是相对于清单文件所在目录解析的。\n\n**从现有批量运行生成人类可读报告**（Markdown 或 HTML）：\n\n```bash\npaperbanana batch-report --batch-dir outputs\u002Fbatch_20250109_123456_abc --format markdown\n# 或者通过批量 ID（在默认输出目录下）\npaperbanana batch-report --batch-id batch_20250109_123456_abc --format html --output report.html\n```\n\n| 标志        | 缩写 | 描述                                       |\n|-------------|------|--------------------------------------------|\n| `--manifest` | `-m` | 清单文件路径（必需）                       |\n| `--output-dir` | `-o` | 批量运行的父目录（默认：outputs）           |\n| `--config`  |      | 配置 YAML 文件路径                         |\n| `--iterations` | `-n` | 每个条目的优化迭代次数                     |\n| `--optimize` |      | 对每个条目的输入进行预处理                 |\n| `--auto`    |      | 循环直至每个条目都得到评论员的满意         |\n| `--format`  | `-f` | 输出图像格式（png、jpeg、webp）             |\n| `--auto-download-data` | | 如有需要，下载扩展的参考数据集           |\n\n### `paperbanana evaluate` -- 质量评估\n\n使用 VLM 作为评判者，对生成的图表与人工参考图进行对比评估：\n\n```bash\npaperbanana evaluate \\\n  --generated diagram.png \\\n  --reference human_diagram.png \\\n  --context method.txt \\\n  --caption \"我们框架的概述\"\n```\n\n| 标志 | 简写 | 描述 |\n|------|-------|-------------|\n| `--generated` | `-g` | 生成图像的路径（必填） |\n| `--reference` | `-r` | 人工参考图像的路径（必填） |\n| `--context` | | 源上下文文本文件或 PDF 的路径（必填） |\n| `--caption` | `-c` | 图表标题（必填） |\n| `--pdf-pages` | | 仅适用于 PDF 上下文：基于 1 的页码选择（默认：全部） |\n\n在四个维度上打分（按照论文中的层次化聚合方式）：\n- **主要**：忠实度、可读性\n- **次要**：简洁性、美观性\n\n### `paperbanana studio` -- 本地 Web UI\n\n需要运行 `pip install 'paperbanana[studio]'`（Gradio）。\n\n```bash\npaperbanana studio\npaperbanana studio --port 8080 --output-dir .\u002Fmy_outputs\n```\n\n| 标志 | 描述 |\n|------|-------------|\n| `--host` | 绑定地址（默认 `127.0.0.1`） |\n| `--port` | 端口（默认 `7860`） |\n| `--share` | 创建一个临时的公开 Gradio 链接（请勿用于敏感数据） |\n| `--config` | YAML 配置文件的路径 |\n| `--output-dir` \u002F `-o` | 运行的默认输出目录 |\n| `--root-path` | 在反向代理后的 URL 子路径 |\n\n### `paperbanana setup` -- 首次配置\n\n```bash\npaperbanana setup\n```\n\n这是一个交互式向导，首先会询问是否使用官方 Gemini API。如果选择官方 API，则按照默认的 AI Studio 密钥流程进行；如果不选择，则会要求提供自定义的兼容 Gemini 的 URL 和 API 密钥。\n\n---\n\n## Python API\n\n```python\nimport asyncio\nfrom paperbanana import PaperBananaPipeline, GenerationInput, DiagramType\nfrom paperbanana.core.config import Settings\n\nsettings = Settings(\n    vlm_provider=\"openai\",\n    vlm_model=\"gpt-5.2\",\n    image_provider=\"openai_imagen\",\n    image_model=\"gpt-image-1.5\",\n    optimize_inputs=True,   # 启用输入优化\n    auto_refine=True,       # 循环直到批评家满意\n)\n\npipeline = PaperBananaPipeline(settings=settings)\n\nresult = asyncio.run(pipeline.generate(\n    GenerationInput(\n        source_context=\"我们的框架包括...\",\n        communicative_intent=\"对所提方法的概述。\",\n        diagram_type=DiagramType.METHODOLOGY,\n    )\n))\n\nprint(f\"输出: {result.image_path}\")\n```\n\n**进度回调：** `generate()` 和 `continue_run()` 接受一个可选的 `progress_callback` 参数。流水线会在每个步骤（优化器、检索器、规划器、风格师、可视化器、批评家）中调用它，并传递 `PipelineProgressEvent` 对象（阶段、消息、秒数、迭代次数、额外信息），以便您可以在 UI 中显示进度或记录时间，而无需修改各个代理。\n\n要继续之前的运行：\n\n```python\nfrom paperbanana.core.resume import load_resume_state\n\nstate = load_resume_state(\"outputs\", \"run_20260218_125448_e7b876\")\nresult = asyncio.run(pipeline.continue_run(\n    resume_state=state,\n    additional_iterations=3,\n    user_feedback=\"让编码器模块更突出\",\n))\n```\n\n完整的工作示例请参见 `examples\u002Fgenerate_diagram.py` 和 `examples\u002Fgenerate_plot.py`。\n\n---\n\n## MCP 服务器\n\nPaperBanana 包含一个 MCP 服务器，可用于 Claude Code、Cursor 或任何兼容 MCP 的客户端。通过 `uvx` 使用它而无需本地克隆时，添加以下配置：\n\n```json\n{\n  \"mcpServers\": {\n    \"paperbanana\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"paperbanana[mcp]\", \"paperbanana-mcp\"],\n      \"env\": { \"GOOGLE_API_KEY\": \"your-google-api-key\" }\n    }\n  }\n}\n```\n\n暴露了三个 MCP 工具：`generate_diagram`、`generate_plot` 和 `evaluate_diagram`。\n\n该仓库还附带 3 个 Claude Code 技能：\n- `\u002Fgenerate-diagram \u003Cfile> [caption]` - 从文本文件生成方法学图\n- `\u002Fgenerate-plot \u003Cdata-file> [intent]` - 从 CSV\u002FJSON 数据生成统计图\n- `\u002Fevaluate-diagram \u003Cgenerated> \u003Creference>` - 对比评估生成图与人工参考图\n\n完整的设置详情（Claude Code、Cursor、本地开发）请参阅 [`mcp_server\u002FREADME.md`](mcp_server\u002FREADME.md)。\n\n---\n\n## 配置\n\n默认设置位于 `configs\u002Fconfig.yaml` 中。可通过 CLI 标志或自定义 YAML 文件进行覆盖：\n\n```bash\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"概述\" \\\n  --config my_config.yaml\n```\n\n关键设置如下：\n\n```yaml\nvlm:\n  provider: openai           # openai、gemini 或 openrouter\n  model: gpt-5.2\n\nimage:\n  provider: openai_imagen    # openai_imagen、google_imagen 或 openrouter_imagen\n  model: gpt-image-1.5\n\npipeline:\n  num_retrieval_examples: 10\n  refinement_iterations: 3\n  # auto_refine: true        # 循环直到批评家满意\n  # max_iterations: 30       # 自动精炼模式的安全上限\n  # optimize_inputs: true    # 预处理输入以提高生成质量\n  output_resolution: \"2k\"\n\nreference:\n  path: data\u002Freference_sets\n\noutput:\n  dir: outputs\n  save_iterations: true\n  save_metadata: true\n```\n\n环境变量（`.env`）：\n\n```bash\n# OpenAI（默认）\nOPENAI_API_KEY=your-key\nOPENAI_BASE_URL=https:\u002F\u002Fapi.openai.com\u002Fv1    # 或 Azure 端点\nOPENAI_VLM_MODEL=gpt-5.2                      # 覆盖模型\nOPENAI_IMAGE_MODEL=gpt-image-1.5              # 覆盖模型\n\n# Google Gemini（替代方案，免费）\nGOOGLE_API_KEY=your-key\nGOOGLE_BASE_URL=                            # 可选的自定义兼容 Gemini 的端点\nGOOGLE_VLM_MODEL=gemini-2.0-flash          # 覆盖 Gemini VLM 模型\nGOOGLE_IMAGE_MODEL=gemini-3-pro-image-preview  # 覆盖 Gemini 图像模型\n```\n\n---\n\n## 项目结构\n\n```\npaperbanana\u002F\n├── paperbanana\u002F\n│   ├── core\u002F          # 管道编排、类型定义、配置、恢复机制、工具函数\n│   ├── agents\u002F        # 优化器、检索器、规划器、风格化器、可视化器、评价器\n│   ├── providers\u002F     # 多模态大模型及图像生成提供商实现\n│   │   ├── vlm\u002F       # OpenAI、Gemini、OpenRouter 的多模态大模型提供商\n│   │   └── image_gen\u002F # OpenAI、Gemini、OpenRouter 的图像生成提供商\n│   ├── reference\u002F     # 参考集管理（13个精选示例）\n│   ├── guidelines\u002F    # 风格指南加载器\n│   └── evaluation\u002F    # 基于多模态大模型的评价系统\n├── configs\u002F           # YAML 配置文件\n├── prompts\u002F           # 所有智能体及评价模块的提示模板\n│   ├── diagram\u002F       # 上下文增强器、标题优化器、检索器、规划器、风格化器、可视化器、评价器\n│   ├── plot\u002F          # 针对不同情节的提示变体\n│   └── evaluation\u002F    # 忠实性、简洁性、可读性、美学\n├── data\u002F\n│   ├── reference_sets\u002F  # 13张经过验证的方法学示意图\n│   └── guidelines\u002F      # NeurIPS 风格的美学指南\n├── examples\u002F          # 可运行的示例脚本及输入样本\n├── scripts\u002F           # 数据整理与构建脚本\n├── tests\u002F             # 测试套件\n├── mcp_server\u002F        # 用于 IDE 集成的 MCP 服务器\n└── .claude\u002Fskills\u002F    # Claude Code 技能（生成示意图、生成情节图、评估示意图）\n```\n\n## 开发\n\n```bash\n# 安装并包含开发依赖\npip install -e \".[dev,openai,google]\"\n\n# 运行测试\npytest tests\u002F -v\n\n# 代码检查\nruff check paperbanana\u002F mcp_server\u002F tests\u002F scripts\u002F\n\n# 代码格式化\nruff format paperbanana\u002F mcp_server\u002F tests\u002F scripts\u002F\n```\n\n## 引用\n\n这是一个**非官方**的实现。如果您使用本项目，请引用**原始论文**：\n\n```bibtex\n@article{zhu2026paperbanana,\n  title={PaperBanana: Automating Academic Illustration for AI Scientists},\n  author={Zhu, Dawei and Meng, Rui and Song, Yale and Wei, Xiyu\n          and Li, Sujian and Pfister, Tomas and Yoon, Jinsung},\n  journal={arXiv preprint arXiv:2601.23265},\n  year={2026}\n}\n```\n\n**原始论文**: [https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265](https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.23265)\n\n## 免责声明\n\n本项目是基于公开论文的独立开源重实现。它与原作者、Google Research 或北京大学均无任何关联、背书或联系。该实现可能与论文中描述的原始系统存在差异。请用户自行判断并谨慎使用。\n\n## 许可证\n\nMIT","# PaperBanana 快速上手指南\n\nPaperBanana 是一个专为 AI 科研人员设计的自动化学术插图生成工具。它能够通过多智能体协作流程，将文本描述或论文片段转化为出版级的方法论图表和统计图。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和前置条件：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：3.10 或更高版本\n*   **API 密钥**（任选其一）：\n    *   **OpenAI**: 需要 `OPENAI_API_KEY` (支持 GPT-5.2 + GPT-Image-1.5)\n    *   **Google Gemini**: 需要 `GOOGLE_API_KEY` (免费层级可用)\n    *   **Azure OpenAI \u002F Foundry**: 需要对应的 Endpoint 和 Key\n*   **可选依赖**：若需处理 PDF 输入，需安装 `PyMuPDF`。\n\n## 安装步骤\n\n### 1. 基础安装\n通过 pip 直接安装最新版本：\n\n```bash\npip install paperbanana\n```\n\n### 2. 开发版安装（可选）\n如需从源码安装并包含所有开发依赖及提供商支持：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana.git\ncd paperbanana\npip install -e \".[dev,openai,google]\"\n```\n\n### 3. 配置 API 密钥\n复制环境变量模板文件并编辑：\n\n```bash\ncp .env.example .env\n```\n\n使用文本编辑器打开 `.env` 文件，填入你的 API 密钥：\n\n```ini\n# OpenAI 配置\nOPENAI_API_KEY=your-key-here\n\n# Google Gemini 配置\nGOOGLE_API_KEY=your-key-here\n\n# Azure OpenAI 配置 (如有需要)\nOPENAI_BASE_URL=https:\u002F\u002F\u003Cresource>.openai.azure.com\u002Fopenai\u002Fv1\n```\n\n> **提示**：如果你主要使用 Gemini，也可以运行交互式设置向导：\n> ```bash\n> paperbanana setup\n> ```\n\n## 基本使用\n\n### 生成方法论图表 (Methodology Diagrams)\n\n这是最常用的功能，将文本描述转换为架构图。\n\n**最简单的用法：**\n准备一个包含方法描述的文本文件（例如 `method.txt`），然后运行：\n\n```bash\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"Overview of our encoder-decoder architecture\"\n```\n\n**进阶用法（带输入优化与自动修正）：**\n启用 `--optimize` 对输入进行预处理，并使用 `--auto` 让系统自动迭代直到批评家（Critic）满意：\n\n```bash\npaperbanana generate \\\n  --input method.txt \\\n  --caption \"Overview of our framework\" \\\n  --optimize --auto\n```\n\n生成的图片将保存在 `outputs\u002Frun_\u003Ctimestamp>\u002Ffinal_output.png`。\n\n### 生成统计图表 (Statistical Plots)\n\n基于数据文件自动生成可视化图表：\n\n```bash\npaperbanana plot \\\n  --data results.csv \\\n  --intent \"Bar chart comparing model accuracy across benchmarks\"\n```\n\n### 启动本地 Web 界面 (PaperBanana Studio)\n\n如果你更喜欢图形化界面操作，可以安装并启动 Studio：\n\n```bash\npip install 'paperbanana[studio]'\npaperbanana studio\n```\n\n启动后，在浏览器中访问终端显示的地址（默认为 `http:\u002F\u002F127.0.0.1:7860\u002F`），即可通过网页进行图表生成、批量任务和结果浏览。","一位计算机视觉领域的博士生正在撰写关于新型注意力机制的论文，急需将复杂的算法流程转化为符合顶会出版标准的架构图。\n\n### 没有 paperbanana 时\n- **绘图耗时极长**：需要手动在 PowerPoint 或 Visio 中反复拖拽对齐框图，仅调整箭头走向和模块间距就耗费数小时。\n- **风格难以统一**：手工绘制的图表往往与论文整体排版风格割裂，字体大小、配色方案不一致，显得不够专业。\n- **修改成本高昂**：一旦模型结构发生微调（如增加一个分支），整个图纸需要重新绘制，无法快速迭代验证想法。\n- **缺乏语义理解**：绘图工具无法理解“残差连接”或“多头注意力”等学术概念，完全依赖人工还原逻辑，易出现表述错误。\n\n### 使用 paperbanana 后\n- **一键生成初稿**：只需输入“包含三个编码层和交叉注意力模块的 Transformer 变体”等自然语言描述，paperbanana 即可自动生成布局合理的矢量图。\n- **自动适配学术规范**：生成的图表自动采用顶会常见的配色与字体标准，无需后期手动美化，直接达到出版级质量。\n- **智能迭代优化**：若需调整结构，仅需补充反馈指令（如“将第二层改为并行结构”），paperbanana 的多智能体流水线会自动重绘并保留其他部分。\n- **深度理解上下文**：支持直接上传论文 PDF 作为背景参考，paperbanana 能精准提取方法论细节，确保图示逻辑与文字描述严格一致。\n\npaperbanana 将研究人员从繁琐的绘图工作中解放出来，让科学家专注于核心创新而非图形编辑，显著缩短了从想法到论文发表的周期。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fllmsresearch_paperbanana_e967389d.jpg","llmsresearch","LLMs Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fllmsresearch_27fb516b.png","LLMs Research analyze and share insights from LLMs related research papers",null,"dip@llmsresearch.com","www.llmsresearch.com","https:\u002F\u002Fgithub.com\u002Fllmsresearch",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,1287,190,"2026-04-05T07:55:11","MIT","未说明",{"notes":94,"python":95,"dependencies":96},"该工具主要依赖外部 API（OpenAI、Azure OpenAI 或 Google Gemini），无需本地部署大型模型或 GPU。需配置相应的 API Key。支持通过 CLI、Python API 或本地 Gradio Web UI (PaperBanana Studio) 运行。若需处理 PDF 文件，需安装额外依赖 `paperbanana[pdf]`。","3.10+",[97,98,99,100],"Pydantic v2","Typer","Gradio (可选，用于 Studio)","PyMuPDF (可选，用于 PDF 输入)",[14,26,13,54,15],[103,104,105,106,107,108,109,110,111,112,113,67,114,115,116,117,118,119,120,121],"academic-research","arxiv","gemini","llm","llms","mcp","mcp-server","multiagent","neurips","scientific-visualization","academic-diagrams","agentic-ai","diagram-generation","google-gemini","research-automation","research-tools","text-to-image","vlm","python-ai-research-tools","2026-03-27T02:49:30.150509","2026-04-06T07:14:26.664234",[125,130,134,139,144,149,153],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},17842,"MCP 用户如何下载扩展的参考数据集（100+ 示例）？","MCP 用户无需使用终端命令，可以直接在 AI 助手对话中触发下载工具。只需对 AI 说：“下载扩展参考集”（Download the expanded reference set），AI 会调用 `download_references()` 工具，自动将 294 个示例缓存到 `~\u002F.cache\u002Fpaperbanana\u002F` 目录。完整流程：1. 配置 MCP 服务器 (`uvx --from \"paperbanana[mcp]\" paperbanana-mcp`)；2. 让 AI 助手调用 `download_references` 即可。","https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fissues\u002F62",{"id":131,"question_zh":132,"answer_zh":133,"source_url":129},17843,"普通命令行用户如何管理和下载参考数据？","项目提供了专门的 `paperbanana data` 命令组来管理数据：\n- 下载扩展参考集：`paperbanana data download`\n- 查看缓存状态：`paperbanana data info`\n- 清除缓存数据：`paperbanana data clear`\n此外，运行 `paperbanana generate` 时，如果检测到只有内置的 13 个示例，系统会提示建议运行下载命令或使用 `--auto-download-data` 标志，但不会弹出交互式提示以确保兼容 CI\u002FCD 环境。",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},17844,"如何为不同的学术会议（如 ICML, ACL）生成符合其风格的图表？","可以通过配置 `venue` 参数来自动加载对应会议的指南文件。在配置文件或设置中添加 `venue` 字段，支持的值包括 `neurips` (默认), `icml`, `acl`, `ieee` 和 `custom`。\n- 当设置为具体会议名称时，系统会自动查找对应的风格指南（如颜色、字体、布局）。\n- 当设置为 `custom` 时，系统将直接使用 `guidelines_path` 指定的路径，不应用特定会议子目录。\n注意：旧版的扁平化路径作为后备方案保留，如果新的基于 venue 的路径不存在，加载器会尝试旧路径以保持向后兼容。","https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fissues\u002F99",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},17845,"如何查看图表生成的详细耗时（包括各 Agent 和迭代的时间）？","生成完成后，检查输出目录中的 `metadata.json` 文件。该文件包含详细的 `timing` 字段，记录了总耗时以及各个阶段的时间：\n- `total_seconds`: 总生成时间\n- `retrieval_seconds`, `planning_seconds`, `styling_seconds`: 检索、规划、风格化阶段的耗时\n- `iterations`: 包含每次迭代的详细耗时，分别列出 `visualizer_seconds` (可视化器) 和 `critic_seconds` (评论家) 的时间。\n这有助于分析性能瓶颈和优化生成流程。","https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fissues\u002F24",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},17846,"如何对比不同 Prompt 版本的效果以优化 Planner 和 Critic Agent？","可以使用 A\u002FB 测试框架进行对比：\n1. **管理 Prompt 变体**：将不同的 Prompt 模板存放在不同目录（如 `prompts_v2\u002F`），并通过 CLI 参数或配置文件中的 `prompt_dir` 字段指定使用的版本，无需修改代码。\n2. **运行对比脚本**：使用专门的 runner 脚本，对同一组输入运行两个不同的 Prompt 配置。\n3. **自动评分**：利用内置的 `VLMJudge` 从四个维度对生成结果进行打分。\n4. **生成报告**：脚本会输出并排对比报告，显示各维度的得分差异和胜率，帮助判断哪个 Prompt 版本更优。","https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fissues\u002F113",{"id":150,"question_zh":151,"answer_zh":152,"source_url":148},17847,"基准测试（Benchmark）的并发设置为什么没有生效？","这是一个已知的配置问题。CLI 基准测试命令虽然支持 `--concurrency` 标志，但在早期的 `Settings` 类中未定义 `benchmark_concurrency` 字段，导致传入的值被静默忽略（因设置了 `extra = \"ignore\"`），程序回退到默认值 1。\n解决方案是确保 `Settings` 类中显式添加了 `benchmark_concurrency` 字段，这样 CLI 传入的并发数才能正确传递给 `BenchmarkRunner` 生效。该修复已包含在相关更新中。",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},17848,"如何添加对 Amazon Bedrock 模型的支持？","可以通过创建新的 Provider 插件来支持 Bedrock：\n1. 在 `paperbanana\u002Fproviders\u002Fvlm\u002F` 下创建 `bedrock.py`，在 `paperbanana\u002Fproviders\u002Fimage_gen\u002F` 下创建 `bedrock_imagen.py`。\n2. 使用 `boto3` 库和 `bedrock-runtime` 客户端，通过 Converse API 调用模型（支持 Nova VLM, Claude, Titan 等）。\n3. 在 `config.yaml` 中注册新的 Provider，以便在配置中选择使用。\n社区成员已表示愿意提交 PR 来实现此功能，利用原生 AWS 实验经验进行集成。","https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fissues\u002F52",[159,164,169],{"id":160,"version":161,"summary_zh":162,"released_at":163},108140,"v0.1.2","## 新增内容\n\n### 功能\n- **OpenRouter 提供者**: 通过 OpenRouter 使用 Claude、GPT-4、Llama 等 100 多种模型 (#5)\n- **新增示例输入**: 添加了 Mamba 架构示例 (`examples\u002Fsample_inputs\u002Fmamba_method.txt`)\n\n### 错误修复\n- 修复了 Windows 上的 Unicode 进度条错误 - CLI 现在可在 Windows 上运行 (#14, #15)\n- 修复了绘图输出路径覆盖的 bug (#7)\n- 增加了重试次数和等待时间，以更好地处理速率限制 (#11)\n\n### 改进\n- 在 README 中添加了 CI 状态、PyPI 下载量和 HuggingFace 演示徽章\n- 默认 VLM 模型已更改为 `gemini-3-flash`，以获得更好的性能\n\n### 完整变更日志\nhttps:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Fcompare\u002Fv0.1.1...v0.1.2\n\n---\n\n**安装\u002F升级:**\n```bash\npip install --upgrade paperbanana\n```","2026-02-13T03:05:08",{"id":165,"version":166,"summary_zh":167,"released_at":168},108141,"v0.1.1","补丁版本：为目录列表添加了 MCP 注册表元数据。\n\n与 v0.1.0 相比，功能上无任何变化。完整详情请参阅 [v0.1.0 发布说明](https:\u002F\u002Fgithub.com\u002Fllmsresearch\u002Fpaperbanana\u002Freleases\u002Ftag\u002Fv0.1.0)。\n\n**变更：**\n- 添加了用于官方 MCP 注册表发布的 `server.json`\n- 在 README 中添加了 MCP 名称验证注释，以便进行 PyPI 包的验证","2026-02-05T02:17:28",{"id":170,"version":171,"summary_zh":172,"released_at":173},108142,"v0.1.0","PaperBanana 初次发布。\n\n**通过 PyPI 安装：**\n```\npip install paperbanana\n```\n\n**MCP 服务器（Claude Code \u002F Cursor）：**\n```json\n{\n  \"mcpServers\": {\n    \"paperbanana\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"paperbanana[mcp]\", \"paperbanana-mcp\"],\n      \"env\": { \"GOOGLE_API_KEY\": \"your-google-api-key\" }\n    }\n  }\n}\n```\n\n**包含内容：**\n- 两阶段多智能体流水线（检索器、规划器、风格化器、可视化器、评价器）\n- CLI 命令：`paperbanana generate`、`paperbanana plot`、`paperbanana evaluate`、`paperbanana setup`\n- 通过 `PaperBananaPipeline` 提供的 Python API\n- MCP 服务器，配备 3 个工具：`generate_diagram`、`generate_plot`、`evaluate_diagram`\n- 3 个 Claude Code 技能：`\u002Fgenerate-diagram`、`\u002Fgenerate-plot`、`\u002Fevaluate-diagram`\n- 涵盖 4 个研究领域的 13 个精选参考示例\n- 基于 VLM 的评判标准评估：忠实性、简洁性、可读性、美观性\n\n**要求：** Python 3.10+，Google Gemini API 密钥（可从 [Google AI Studio](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey) 获取免费层级密钥）","2026-02-05T02:04:42"]