Paper Illustration Image2
在每个审阅槽位之前,请遵循可选审阅者: 解析调用 →
.aris/reviewer.json→ Claude Code 默认 (Codex MCP) 使用reviewer_route.py通过规范辅助解析器,保留此槽位的层级、新上下文、源/图像输入和确定性门控。 以下 Codex 示例/引脚仅适用于backend=codex;其他路由使用它们自己的首次调用/回复协议。保存路由和实际返回的身份;不可用的选择为REVIEW_UNAVAILABLE。根据实际家族/完成/范围进行分类。将调用审阅者/模型/工作量覆盖传递给承载审阅者的子组件。生成工作者保持不变。
使用 Claude 作为规划者/审阅者和本地 Codex 应用服务器 MCP 桥接作为栅格渲染器,生成出版级论文插图。
核心设计理念
┌──────────────────────────────────────────────────────────────────────────┐
│ 多阶段迭代工作流 │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ 用户请求 │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── 步骤 1:解析请求,创建初始提示 │
│ │ (规划者) │ - 提取组件、标签和数据流 │
│ │ │ - 撰写论文就绪的图示简报 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │Claude/Codex │ ◄─── 步骤 2:优化布局描述 │
│ │ 布局 │ - 细化组件定位 │
│ │ 审阅 │ - 优化间距和分组 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │Claude/Codex │ ◄─── 步骤 3:CVPR/NeurIPS 风格验证 │
│ │ 风格 │ - 检查调色板、箭头和标签标准 │
│ │ 检查 │ - 在渲染前收紧提示 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ codex-image2│ ◄─── 步骤 4:通过桥接进行原生图像生成 │
│ │ MCP 桥接 │ - 调用 generate_start / generate_status │
│ │ + 应用服务器 │ - 仅接受原生 imageGeneration 输出 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── 步骤 5:严格视觉审阅 + 评分 (1-10) │
│ │ (审阅者) │ - 验证逻辑、标签、箭头和美学 │
│ │ 严格! │ - 拒绝不清晰或非论文就绪的图示 │
│ └──────┬──────┘ │
│ │ │
│ 评分 ≥ 9? ──是──► 接受并输出 │
│ │ │
│ 否 │
│ │ │
│ ▼ │
│ 生成具体的改进反馈 ──► 返回到步骤 2 │
│ │
└──────────────────────────────────────────────────────────────────────────┘
常量
-
RENDERER =
codex-image2— 通过本地 Codex 应用服务器暴露的原生图像生成桥接 -
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 (策略 A — 技能本地门控) 解析。阶段 3.2 (架构 C) 将规范实现移至skills/paper-illustration-image2/scripts/;tools/paper_illustration_image2.py保留为os.execv垫片,以便 旧解析器层无需重新安装即可继续工作。通过以下方式解析:# 层 0:自包含 (CC 1.0+ 暴露 $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 # 层 1-4:通过 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 "错误:无法解析 paper_illustration_image2.py (层 0: $CLAUDE_SKILL_DIR/scripts/;层 1-4: .aris/tools/, tools/, $ARIS_REPO/tools/, $ARIS_REPO/tools/ 通过 ~/.aris/repo)." >&2 echo " /paper-illustration-image2 无法继续。修复:重新运行 bash tools/install_aris.sh 或 smart_update.sh (刷新 ~/.aris/repo),或从 $ARIS_REPO/skills/paper-illustration-image2/scripts/ 复制规范脚本。" >&2 exit 1 }以下所有调用均使用
python3 "$IMAGE2_HELPER" <子命令>。
CVPR/ICLR/NeurIPS 顶级会议风格指南
“CVPR 风格”的实际含义:
视觉标准
- 干净的白色背景 — 无装饰性图案或渐变,除非极其微妙
- 无衬线字体 — Arial、Helvetica 或类似的简洁论文友好字体
- 柔和的调色板 — 使用 3-5 种协调的颜色,非彩虹色
- 打印友好 — 必须在灰度下仍可理解
- 专业的边框 — 细到中等粗细、干净且一致
布局标准
- 水平流向 — 从左到右是管线的默认方向
- 清晰的分组 — 对相关模块使用间距或微妙的组框
- 一致的大小 — 相似组件应具有相似大小
- 平衡的空白 — 避免过于拥挤或过于稀疏的布局
箭头标准 (最关键)
- 粗描边 — 箭头在论文缩放后必须保持可见
- 清晰的箭头头 — 大而明确的箭头头
- 深色 — 首选黑色或深灰色箭头
- 带标签 — 重要箭头应显示流经的内容
- 无交叉 — 尽可能重新组织图示以避免交叉
- 正确方向 — 箭头必须指向正确的目标
视觉吸引力 (学术专业风格)
目标:既不保守也不花哨,找到平衡点
✅ 应有
- 微妙的渐变 — 允许同一色系的柔和渐变
- 圆角 — 现代但克制的圆角块
- 清晰的层次 — 主模块较大,次要模块较小
- 一致的颜色编码 — 模块类型和颜色之间的稳定映射
- 专业排版 — 清晰的标签,具有可读的大小层次
❌ 避免
- ❌ 彩虹渐变
- ❌ 厚重的投影
- ❌ 3D 透视效果
- ❌ 发光效果
- ❌ 装饰性剪贴画图标
- ❌ 幻灯片式风格,感觉花哨而非论文就绪
✓ 理想效果
- 看起来有意为之、专业且立即可读
- 具有适度的视觉吸引力而不变得装饰性
- 感觉适合顶级会议论文插图
- 在 PDF 缩放和灰度打印中保持清晰
要避免的内容 (关键)
- ❌ 细小、发丝般的箭头
- ❌ 未标记或模糊的连接
- ❌ 微小不可读的文本
- ❌ 平坦、无聊、无层次的盒子堆砌
- ❌ 带有阴影/发光/图标的过度装饰图示
- ❌ 错误的箭头方向
范围
| 图示类型 | 质量 | 示例 |
|---|---|---|
| 架构图 | 优秀 | 模型架构、管线、编码器-解码器 |
| 方法示意图 | 优秀 | 概念图、算法流程图 |
| 概念图 | 良好 | 比较图、分类树 |
不适用于: 统计图 (请使用 /paper-figure)、确定性矢量拓扑图 (请使用 /figure-spec)、照片级写实场景
工作流:必须执行所有步骤
步骤 0:预检
在开始前明确渲染此检查清单:
📋 paper-illustration-image2 集成检查清单:
[ ] 1. python3 "$IMAGE2_HELPER" preflight --workspace <cwd> --json-out figures/ai_generated/preflight.json
[ ] 2. 在渲染前确认预检 JSON 说 ok=true
[ ] 3. 通过 mcp__codex-image2__generate_start + generate_status 渲染
[ ] 4. 通过 python3 "$IMAGE2_HELPER" finalize --workspace <cwd> --best-image <best_png> 完成
[ ] 5. 通过 python3 "$IMAGE2_HELPER" verify --workspace <cwd> --json-out figures/ai_generated/verify.json 验证
- 创建
figures/ai_generated/目录(如果不存在)。 - 确认请求适合栅格插图:
- 架构图
- 概念方法图
- 工作流程图
- 除非用户另有要求,否则首选英文图示文本。
- 运行:
python3 "$IMAGE2_HELPER" preflight \
--workspace <cwd> \
--json-out figures/ai_generated/preflight.json
- 如果预检不是
ok=true,则停止并清晰说明。
步骤 1:Claude 规划图示
将用户请求转换为完全指定的图像提示。包括:
- 图示类型
- 确切模块/阶段
- 流向
- 要显示的标签
- 数据流箭头
- 样式约束
- 要避免的内容
当输入是方法说明或论文章节时,首先将其总结为清晰的图示简报,然后再编写最终图像提示。
步骤 2:布局优化
此步骤是必需的。在渲染之前,将提示细化为具体的布局计划:
- 确切模块顺序
- 间距和分组
- 相对模块突出度
- 箭头路由和可能的碰撞点
如果选定的文本审阅路由可用,你可以在这里请求一个简短的布局批评第二意见,但执行者应仍能在没有外部批评者的情况下完成此步骤。
使用 Codex 布局批评检查:
- 缺失组件
- 令人困惑的布局
- 弱流程层次
- 可能的箭头方向歧义或杂乱
步骤 3:风格验证
此步骤也是必需的。在渲染之前,对照预期的论文样式检查提示:
- 调色板克制且学术
- 箭头粗、暗且可读
- 标签简洁且为英文(除非另有要求)
- 图示在灰度/打印中清晰可读
- 没有发光、彩虹渐变或幻灯片式装饰混入
如果选定的文本审阅路由可用,你可以请求一个简短的纯文本风格审计,但不要阻塞于此。
步骤 4:通过桥接生成
使用以下参数调用 mcp__codex-image2__generate_start:
prompt:最终图像提示cwd:当前项目根目录或论文工作区outputPath:figures/ai_generated/figure_v1.pngsystem:简短的说明,例如学术论文图示。首选清晰英文标签。timeoutSeconds:有界的渲染超时,例如180
然后调用 mcp__codex-image2__generate_status 并带有限制等待,直到:
done=true且status=completed,或done=true且status=failed
如果生成失败,直接报告桥接错误,而不是隐藏它。
步骤 5:审阅输出
使用严格的检查清单审阅生成的图像:
- 所有主要组件都存在吗?
- 逻辑流向是否明显?
- 标签是否可读?
- 箭头指向正确方向吗?
- 图示看起来是论文就绪的,而不是像幻灯片?
从 1-10 分进行评分。
步骤 6:如果需要则优化
如果评分 < 9,编写有针对性的优化提示:
- 准确说明错误内容。