# 应大内部使用 - AutoFigure-Edit 配置说明

**仅供学习交流与内部分享使用，不允许收取任何费用。**

本说明用于应大内部学习、交流和本地部署辅助。AutoFigure-Edit 为 GitHub 开源项目；本地部署版本不得包装为收费服务，不得向校内外用户收取任何费用。后续如公开发布、商用或二次分发，请先核对原项目许可证、官方网站条款和相关 API 服务条款。

## 项目来源

- GitHub: https://github.com/ResearAI/AutoFigure-Edit
- 官方在线网站: https://deepscientist.cc/
- 论文: https://arxiv.org/abs/2603.06674
- Hugging Face Papers: https://huggingface.co/papers/2603.06674
- 本地地址: http://127.0.0.1:8000/

## 核心原则

当前版本支持“SVG 模型”和“图片模型”分别配置模型名、API URL 和 API Key。一个中转服务可以同时可用，但第 4 步 SVG 重建和第 1 步图片生成通常不是同一个 URL。

| 用途 | Provider | URL | 模型 | 说明 |
| --- | --- | --- | --- | --- |
| 第 4 步 SVG 重建 | Custom / 中转 API | `https://right.codes/gemini` | `google/gemini-3-pro-preview` | 已验证成功；用于看图并生成 SVG 文本 |
| 第 1 步图片生成 | Custom / 中转 API | `https://www.right.codes/draw/v1` | `gpt-image-2-vip` | 已验证成功；用于生成原始科研图 |
| SAM3 分割 | Skip SAM 或 Roboflow Workflow | `https://serverless.roboflow.com` | `general-segmentation-api` workflow | 需要图标替换时再启用 Roboflow |

## 推荐填写：中转 API

如果使用同一个中转账号，但 SVG 和图片模型 URL 不同，按下面填写：

1. 配置预设：选择“中转 API”。
2. SVG / 推理 Provider：选择 `Custom`。
3. SVG API URL：填写 `https://right.codes/gemini`。
4. SVG 模型：选择或填写 `google/gemini-3-pro-preview`。
5. 步骤 1 图片 Provider：选择 `Custom`。
6. 图片 API URL：填写 `https://www.right.codes/draw/v1`。
7. 图片模型：选择或填写 `gpt-image-2-vip`。
8. 图片 API Key：如果和 SVG Key 一样可以不单独填；如果中转要求分开，就单独填图片 Key。
9. SAM3 后端：先用 `Skip SAM` 保证完整流程；需要图标级替换时再选 `Roboflow API`。

这套配置已经成功输出，后续不要再把 SVG URL 自动改成 OpenRouter，也不要把图片 URL 用到 SVG 步骤。

## 导入已有图片继续操作

如果已经有第一阶段图片，进入“我已有第一阶段图片”页面后，步骤 1 生图会被跳过，所以不需要填写图片模型和图片 URL。但第 4 步仍然要看图重建 SVG，因此还需要配置 SVG 路线：

1. 配置预设：选择“中转 API”。
2. SVG / 推理 Provider：选择 `Custom`。
3. SVG API URL：填写 `https://right.codes/gemini`。
4. SVG 模型：填写 `google/gemini-3-pro-preview`。
5. 主 API Key：填写中转 Key。
6. SAM3 后端：先用 `Skip SAM` 跑通；需要图标级替换时再启用 Roboflow Workflow。

导入模式不要把 `https://www.right.codes/draw/v1` 填到 SVG API URL。`/draw/v1` 是生图路线，导入模式已经跳过生图。

## SVG 模型下拉框建议

SVG 模型必须支持视觉输入，并能返回 SVG 文本。常用推荐：

- `google/gemini-3-pro-preview`：中转 API 已验证成功。
- `google/gemini-3.1-pro-preview`：适合 OpenRouter 或已开通该模型的中转。
- `google/gemini-2.5-pro`：稳定的视觉推理模型。
- `openai/gpt-4o` / `gpt-4o`：仅当当前 URL 明确支持视觉输入。
- `qwen/qwen2.5-vl-72b-instruct`：仅当当前 URL 明确支持视觉输入。

不要把 `gpt-image-*`、`nano-banana-*` 填到 SVG 模型里。这些是图片生成模型，不适合第 4 步 SVG 重建。

## 图片模型下拉框建议

图片模型用于第 1 步生成科研图。常用推荐：

- `gpt-image-2-vip`：本次中转配置已验证成功，推荐默认。
- `gpt-image-2`：部分中转可能只支持较低分辨率。
- `gpt-image-1`：官方或兼容接口可用时使用。
- `nano-banana-2` / `nano-banana-pro`：中转开通时可作为备选。
- `gemini-3.1-flash-image-preview` / `gemini-2.5-flash-image-preview`：Gemini 图像路线可用时使用。
- `imagen-4.0-generate-preview-06-06`：Google 图像模型路线可用时使用。

图片模型要配图片模型 URL。中转下推荐 URL 是 `https://www.right.codes/draw/v1`。

## 官方 API 填法

### OpenAI 官方

- SVG / 推理 Provider：`OpenAI Responses`
- SVG API URL：不填
- SVG 模型：`gpt-5.5` 或账号支持的 Responses 视觉模型
- 图片 Provider：`OpenAI Images`
- 图片模型：`gpt-image-2`
- API Key：官方 OpenAI Key

### Gemini 官方

- SVG / 推理 Provider：`Gemini`
- SVG API URL：不填
- SVG 模型：`gemini-3-pro-preview`、`gemini-2.5-pro` 或账号支持的视觉模型
- 图片 Provider：可选择 `Gemini` 或单独使用其他图片路线
- API Key：Google Gemini Key

## Roboflow SAM3 配置

官网示例使用的是 Workflow API，不是旧的 `/sam3/concept_segment` 直连接口。项目当前默认走 Workflow：

```python
from inference_sdk import InferenceHTTPClient

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="你的 Roboflow API Key",
)

result = client.run_workflow(
    workspace_name="s-workspace-gy1kd",
    workflow_id="general-segmentation-api",
    images={"image": "YOUR_IMAGE.jpg"},
    parameters={"classes": ["icon", "person", "robot", "animal"]},
    use_cache=True,
)
```

对应环境配置：

- `ROBOFLOW_USE_WORKFLOW=1`
- `ROBOFLOW_API_ROOT=https://serverless.roboflow.com`
- `ROBOFLOW_WORKFLOW_WORKSPACE=s-workspace-gy1kd`
- `ROBOFLOW_WORKFLOW_ID=general-segmentation-api`
- `ROBOFLOW_WORKFLOW_CLASSES=icon,person,robot,animal`

## 常见错误对照

| 日志现象 | 直接原因 | 处理方式 |
| --- | --- | --- |
| `Cloudflare 403`，URL 含 `/sam3/concept_segment` | 走了旧 Roboflow 直连接口 | 使用 Workflow 模式，确认 `ROBOFLOW_USE_WORKFLOW=1` |
| `class_names ... classes ... None` | Roboflow Workflow 缺少 classes 参数 | 设置 `ROBOFLOW_WORKFLOW_CLASSES=icon,person,robot,animal` |
| `端点未配置模型` | 当前 URL 没开通这个模型 | 换成该 URL 已开通的模型，或换正确 URL |
| SVG 第 4 步失败，但生图成功 | SVG URL 和图片 URL 混用了 | SVG 用 `https://right.codes/gemini`，图片用 `https://www.right.codes/draw/v1` |
| `图标数量: 0` 且 `no_icon_mode=true` | SAM3 失败或选择了 Skip SAM | 先确认 SVG/图片主流程，后续再启用 Roboflow |
| `final.svg` 很大且只嵌入原图 | SVG 重建失败，触发保底 SVG | 修复 SVG URL 和 SVG 模型 |

## 本次成功配置结论

本次成功方式是：

- SVG 模型：`google/gemini-3-pro-preview`
- SVG URL：`https://right.codes/gemini`
- 图片模型：`gpt-image-2-vip`
- 图片 URL：`https://www.right.codes/draw/v1`

这说明同一个中转服务可以同时支持不同类型模型，但前提是前端和后端都要把 SVG 路线与图片路线分开传递。当前界面已经按这个方式设计：SVG 模型和图片模型各有下拉框，各有独立 URL 输入框。
