mcpField
P
paper-illustration-image2

paper-illustration-image2

github.com/wanshuiyin创意与媒体18.2k446 次安装4 天前更新
代码仓库

关于 paper-illustration-image2

paper-illustration-image2 是用于制作和审阅学术论文插图的技能,面向准备架构图、方法图和概念图的研究者。它由 Claude 规划和审阅,并通过本地 Codex 图像生成桥接生成图像,支持迭代修改与产物验证。

主要功能

  1. 01规划并优化图表布局
  2. 02通过 codex-image2 生成栅格图
  3. 03审查箭头、标签与视觉层级
  4. 04按论文风格迭代修改图像
  5. 05整理并验证最终图表产物

适用场景

  1. 01制作模型架构图
  2. 02绘制方法或算法流程
  3. 03设计概念对比图

MCP 相关

该技能通过本地 Codex app-server MCP 桥接 codex-image2 进行原生图像生成。可选的 Codex MCP 工具还能提供纯文本布局或风格评议。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill paper-illustration-image2

安装后在 Claude Code 中输入/paper-illustration-image2确认已加载。

附带文件scripts/paper_illustration_image2.py

详细介绍

Paper Illustration Image2

每个审核者轮次开始前,请遵循 Selectable Reviewers: 通过规范的辅助解析器,使用 reviewer_route.py 解析调用 → .aris/reviewer.json → 默认 Claude Code(Codex MCP),同时保留 此轮次的等级、新鲜上下文、源文件/图像输入和确定性门控。 下方的 Codex 示例/固定配置仅适用于 backend=codex;其他路由使用各自的首次调用/回复约定。保存路由和实际返回的身份; 不可用的选择记为 REVIEW_UNAVAILABLE。根据实际的系列/完成状态/范围对验收进行分类。将调用中审核者/模型/effort 的覆盖项 传递给包含审核者的子任务。生成工作者保持不变。

使用 Claude 作为规划者/审核者,并通过本地 Codex app-server MCP 桥接器作为栅格渲染器, 生成适用于发表的论文插图。

核心设计理念

┌──────────────────────────────────────────────────────────────────────────┐
│                    MULTI-STAGE ITERATIVE WORKFLOW                        │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   User Request                                                           │
│       │                                                                  │
│       ▼                                                                  │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Step 1: Parse request, create initial prompt     │
│   │  (Planner)  │      - Extract components, labels, and data flow       │
│   │             │      - Write a paper-ready figure brief                │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Step 2: Optimize layout description               │
│   │   Layout    │      - Refine component positioning                    │
│   │   Review    │      - Optimize spacing and grouping                   │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Step 3: CVPR/NeurIPS style verification           │
│   │   Style     │      - Check palette, arrows, and label standards      │
│   │   Check     │      - Tighten the prompt before rendering             │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │ codex-image2│ ◄─── Step 4: Native image generation via bridge        │
│   │ MCP bridge  │      - Call generate_start / generate_status           │
│   │ + app-server│      - Accept only native imageGeneration output       │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Step 5: STRICT visual review + SCORE (1-10)      │
│   │  (Reviewer) │      - Verify logic, labels, arrows, and aesthetics    │
│   │   STRICT!   │      - Reject unclear or non-paper-ready figures       │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   Score ≥ 9? ──YES──► Accept & Output                                    │
│          │                                                               │
│          NO                                                              │
│          │                                                               │
│          ▼                                                               │
│   Generate SPECIFIC improvement feedback ──► Loop back to Step 2        │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

常量

  • RENDERER = codex-image2 — 通过本地 Codex app-server 暴露的原生图像生成桥接器

  • OPTIONAL_TEXT_CRITIC = mcp__codex__codex — 用于布局/样式检查的可选纯文本第二意见

  • MAX_ITERATIONS = 5 — 最大优化轮数

  • TARGET_SCORE = 9 — 最低可接受评分(1-10)

  • OUTPUT_DIR = figures/ai_generated/ — 输出目录

  • TEXT_LANGUAGE = English — 除非用户另有要求,否则使用的默认图中文字语言

  • NATIVE_IMAGE_REQUIREMENT = strict — 仅接受原生 imageGeneration 输出;拒绝 shell/Python 回退方案

  • IMAGE2_HELPER — 规范名称 paper_illustration_image2.py,按 shared-references/integration-contract.md §2 解析 (Policy A — 技能本地门控)。Phase 3.2(Arch C)已将规范实现迁移至 skills/paper-illustration-image2/scripts/; tools/paper_illustration_image2.py 仍作为 os.execv 垫片,以便 旧版解析器层无需重新安装即可继续工作。通过以下方式解析:

    # Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
    IMAGE2_HELPER=""
    if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py" ]; then
      IMAGE2_HELPER="$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py"
    fi
    # Layers 1-4: shared-runtime chain via shim at tools/paper_illustration_image2.py.
    if [ -z "$IMAGE2_HELPER" ]; then
      cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
      if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
          ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
      fi
      if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
          ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
      fi
      IMAGE2_HELPER=".aris/tools/paper_illustration_image2.py"
      [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER="tools/paper_illustration_image2.py"
      [ -f "$IMAGE2_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && IMAGE2_HELPER="$ARIS_REPO/tools/paper_illustration_image2.py"; }
      [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER=""
    fi
    [ -z "$IMAGE2_HELPER" ] && {
      echo "ERROR: paper_illustration_image2.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
      echo "       /paper-illustration-image2 cannot proceed. Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), or copy the canonical script from \$ARIS_REPO/skills/paper-illustration-image2/scripts/." >&2
      exit 1
    }
    

    以下所有调用均使用 python3 "$IMAGE2_HELPER" <subcommand>。

CVPR/ICLR/NeurIPS 顶级会议风格指南

“CVPR 风格”的真正含义:

视觉规范
  • 纯白背景 — 除非极其微妙,否则不要使用装饰图案或渐变
  • 无衬线字体 — Arial、Helvetica 或类似的简洁、适合论文的字体
  • 柔和的配色方案 — 使用 3-5 种协调的颜色,不要使用彩虹色
  • 适合打印 — 转换为灰度后仍必须易于理解
  • 专业的边框 — 线条由细至中等,简洁且一致
布局规范
  • 水平流向 — 流水线默认采用从左到右的布局
  • 分组清晰 — 使用间距或微妙的分组框组织相关模块
  • 尺寸一致 — 相似组件应采用相近的尺寸
  • 留白均衡 — 避免布局过于拥挤或过于稀疏
箭头规范(最关键)
  • 线条较粗 — 缩放到论文尺寸后,箭头仍必须清晰可见
  • 箭头明确 — 箭头要大且醒目
  • 颜色较深 — 优先使用黑色或深灰色箭头
  • 带有标签 — 重要箭头应标明流经其上的内容
  • 避免交叉 — 尽可能重新组织图示,避免线条交叉
  • 方向正确 — 箭头必须指向正确的目标
视觉吸引力(学术专业风格)

目标:既不保守也不花哨,找到平衡点

✅ 应具备
  • 微妙的渐变 — 可以使用柔和的同色系渐变
  • 圆角 — 采用现代但克制的圆角模块
  • 层次清晰 — 主模块较大,次要模块较小
  • 颜色编码一致 — 模块类型与颜色之间保持稳定对应关系
  • 专业的字体排版 — 标签简洁,并有清晰易读的字号层次
❌ 应避免
  • ❌ 彩虹渐变
  • ❌ 浓重的投影
  • ❌ 3D 透视效果
  • ❌ 发光效果
  • ❌ 装饰性剪贴画图标
  • ❌ 过于炫目的幻灯片风格,而非适合论文的风格
✓ 理想效果
  • 外观经过精心设计、专业且一目了然
  • 具有适度的视觉吸引力,但不显得过度装饰
  • 符合顶级学术会议论文插图的风格
  • 缩放为 PDF 或灰度打印时仍清晰可辨
应避免的情况(至关重要)
  • ❌ 过细、像发丝一样的箭头
  • ❌ 未标注或含义模糊的连接
  • ❌ 小到难以辨认的文字
  • ❌ 层次不明、单调乏味的方框堆砌
  • ❌ 过度装饰的插图,例如添加阴影、辉光或图标
  • ❌ 箭头方向错误

适用范围

插图类型质量示例
架构图极佳模型架构、流水线、编码器-解码器
方法示意图极佳概念图、算法流程图
概念图良好对比图、分类树

不适用于: 统计图(使用 /paper-figure)、确定性的矢量拓扑图(优先使用 /figure-spec)、照片级写实场景

工作流:必须执行所有步骤

步骤 0:预检

开始前明确显示此检查清单:

📋 paper-illustration-image2 integration checklist:
   [ ] 1. python3 "$IMAGE2_HELPER" preflight --workspace <cwd> --json-out figures/ai_generated/preflight.json
   [ ] 2. Confirm preflight JSON says ok=true before rendering
   [ ] 3. Render via mcp__codex-image2__generate_start + generate_status
   [ ] 4. Finalize via python3 "$IMAGE2_HELPER" finalize --workspace <cwd> --best-image <best_png>
   [ ] 5. Verify artifacts via python3 "$IMAGE2_HELPER" verify --workspace <cwd> --json-out figures/ai_generated/verify.json
  1. 如果 figures/ai_generated/ 不存在,则创建该目录。
  2. 确认请求适合栅格插图:
    • 架构图
    • 概念方法图
    • 工作流示意图
  3. 除非用户另有要求,否则优先使用英文插图文字。
  4. 运行:
python3 "$IMAGE2_HELPER" preflight \
  --workspace <cwd> \
  --json-out figures/ai_generated/preflight.json
  1. 如果预检结果不是 ok=true,则停止并明确说明。

步骤 1:Claude 规划插图

将用户请求转化为完整明确的图像提示词。包含:

  • 插图类型
  • 确切的模块/阶段
  • 流向
  • 要显示的标签
  • 数据流箭头
  • 风格限制
  • 应避免的内容

如果输入是方法说明或论文段落,应先概括成清晰的插图简介,再撰写最终图像提示词。

步骤 2:优化布局

此步骤为必需步骤。渲染前,应将提示词细化为具体的布局方案:

  • 确切的模块顺序
  • 间距与分组
  • 各模块的相对突出程度
  • 箭头路径及可能的交叉点

如果可以使用选定的文本审阅路线,可以在此处请其提供简短的第二意见布局评审,但执行者仍应在没有外部评审的情况下完成此步骤。

使用 Codex 进行布局评审,检查:

  • 是否缺少组件
  • 布局是否令人困惑
  • 流程层次是否不清晰
  • 箭头方向是否可能含糊或杂乱

步骤 3:风格核验

此步骤同样为必需步骤。渲染前,应根据预期的论文风格检查提示词:

  • 配色克制且具有学术风格
  • 箭头粗实、颜色深且清晰易读
  • 标签简洁,并使用英文,除非用户另有要求
  • 插图以灰度显示/打印时仍清晰易读
  • 不得加入辉光、彩虹渐变或幻灯片装饰元素

如果可以使用选定的文本审阅路线,可以请其进行简短的纯文本风格审查,但不要因此阻塞流程。

步骤 4:通过 Bridge 生成

调用 mcp__codex-image2__generate_start,并传入:

  • prompt:最终图像提示词
  • cwd:当前项目根目录或论文工作区
  • outputPath:figures/ai_generated/figure_v1.png
  • system:简短指令,例如 Academic paper figure. Prefer crisp English labels.
  • timeoutSeconds:有上限的渲染超时时间,例如 180

然后以有限的等待时间调用 mcp__codex-image2__generate_status,直到:

  • done=true 且 status=completed,或
  • done=true 且 status=failed

如果生成失败,应直接报告 Bridge 错误,不要隐瞒。

步骤 5:审查输出

使用严格的检查清单审查生成的图像:

  • 是否包含所有主要组件?
  • 逻辑流程是否一目了然?
  • 标签是否清晰可读?
  • 箭头方向是否正确?
  • 插图是否达到论文发表要求,而非看起来像幻灯片?

按 1–10 分评分。

Step 6:按需优化

如果评分 < 9,编写有针对性的优化提示词:

  • 准确指出问题所在
  • 说明需要保留的内容
  • 重新生成到 figure_v2.png、figure_v3.png 等文件

优化反馈要具体:

  • 增加基因组扫描模块与评分模块之间的间距
  • 让脱靶分支更细,并作为次要元素
  • 使用更清晰的英文标签:“候选 sgRNA 文库”,而不是“sgRNA 文库 23 bp”

Step 7:定稿并验证

确认接受后:

  • 运行规范的辅助脚本,将最佳图像导出为 figure_final.png
  • 由辅助脚本写入 latex_include.tex
  • 由辅助脚本写入 review_log.json
  • 在宣布成功之前运行辅助脚本进行验证
python3 "$IMAGE2_HELPER" finalize \
  --workspace <cwd> \
  --best-image figures/ai_generated/figure_vN.png \
  --score 9 \
  --review-summary "Accepted after strict review; labels and arrows are paper-ready."

python3 "$IMAGE2_HELPER" verify \
  --workspace <cwd> \
  --json-out figures/ai_generated/verify.json

建议使用的 LaTeX:

\begin{figure*}[t]
    \centering
    \includegraphics[width=0.95\textwidth]{figures/ai_generated/figure_final.png}
    \caption{[Replace with a paper-ready caption].}
    \label{fig:[replace-me]}
\end{figure*}

关键规则

  1. 绝不跳过 Step 2 或 Step 3;布局和风格检查是必需的。
  2. 绝不跳过最终视觉审查。
  3. 绝不要仅仅因为图看起来漂亮,就接受逻辑错误的图。
  4. 仅将 codex-image2 桥接用于原生图像生成。
  5. 如果桥接表示无法进行原生图像生成,请如实说明。
  6. 拒绝任何伪装成图像生成的 shell/Python/手动位图回退方案。
  7. 除非用户要求使用其他语言,否则图中文字使用英文。
  8. 优先进行 1-3 轮高质量优化,而不是多轮浅层优化。
  9. 使用具体、可执行的优化反馈,避免含糊的评论。
  10. 每轮都检查箭头方向、标签清晰度和视觉层级。
  11. 仅接受达到论文插图水准的图,不接受仅适用于幻灯片的图。
  12. 始终使用 tools/paper_illustration_image2.py finalize 生成最终产物。
  13. 在宣布成功之前,始终使用 tools/paper_illustration_image2.py verify 进行验证。

修复流程

如果渲染成功,但跳过了最终产物生成,则明确修复集成:

python3 "$IMAGE2_HELPER" finalize \
  --workspace <cwd> \
  --best-image figures/ai_generated/figure_vN.png

python3 "$IMAGE2_HELPER" verify \
  --workspace <cwd> \
  --json-out figures/ai_generated/verify.json

输出结构

figures/ai_generated/
├── preflight.json         # Helper preflight receipt
├── figure_v1.png          # Iteration 1
├── figure_v2.png          # Iteration 2
├── figure_v3.png          # Iteration 3
├── figure_final.png       # Accepted version (copy of best, score ≥ 9)
├── latex_include.tex      # LaTeX snippet
├── review_log.json        # Review notes and refinement history
└── verify.json            # Helper verification diagnostic

模型摘要

阶段Agent / 工具用途
Step 0python3 "$IMAGE2_HELPER" preflight可观察的激活条件和预检回执
Step 1Claude解析请求并创建初始图示提示词
Step 2Claude(+ 可选的 Codex 评审)优化布局、分组、间距和箭头走向
Step 3Claude(+ 可选的 Codex 评审)在渲染前验证学术视觉风格
Step 4mcp__codex-image2__generate_start + generate_status通过 Codex app-server 生成原生栅格图像
Step 5Claude严格进行视觉审查和评分
Step 7python3 "$IMAGE2_HELPER" finalize + verify生成规范产物和外部验证回执

评论

支持 Markdown