Files
prompt-optimizer/docs/image-mode.md
linshen 1ad32ca217 refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
修复 #179

## 变更内容

### 核心代码清理 (-2473行)
- 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点
- 删除 node-proxy/ 服务器实现
- 移除 environment.ts 中的代理检测逻辑
- 简化所有图像适配器和 LLM 服务,直接使用 baseURL
- 移除模型配置中的 useVercelProxy/useDockerProxy 字段

### 基础设施更新
- 更新 Dockerfile 移除 node-proxy 构建
- 更新 nginx.conf 移除代理路由
- 更新 supervisord.conf 移除 node-proxy 进程

### UI 优化
- 移除模型管理界面中的代理选项
- 清理国际化文件中的代理相关翻译
- 删除备份文件 ModelManager.bak.vue

### 文档同步
- 更新技术开发指南,说明功能移除原因
- 更新 Vercel 部署文档,移除代理相关说明
- 更新图像模式文档

## 安全说明

由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。
推荐用户使用:
1. 桌面版应用 (无跨域限制)
2. 自建反向代理 (完全控制)
3. LLM 提供商的 CORS 友好端点

## 向后兼容性

历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
2025-09-30 22:08:00 +08:00

2.2 KiB
Raw Blame History

图像模式Image Mode

图像模式提供文生图T2I与图生图I2I单张本地图片能力输出统一为 base64默认 image/png生成多张时串行执行。

功能范围

  • 文生图:仅文本提示词
  • 图生图:单张本地图片 + 文本提示词(仅 png/jpeg≤10MB
  • 输出base64默认 image/png
  • 生成张数1~4串行不并发
  • 暂不支持多图融合、组图、mask/局部编辑、upscale、历史记录、图像模板

内置图像模型与环境变量

  • Geminiimage-gemini
    • provider: gemini
    • defaultModel: gemini-2.5-flash-image-preview
    • apiKey: 复用 VITE_GEMINI_API_KEY
  • Seedreamimage-seedream
    • provider: seedream
    • defaultModel: doubao-seedream-4-0-250828
    • apiKey: 读取 VITE_SEEDREAM_API_KEY | VITE_ARK_API_KEY(或 process.env.ARK_API_KEY

提示:配置好以上环境变量后,内置图像模型将自动注入并按需启用。

使用方法Web

  1. 顶部导航“高级模式”改为下拉:选择“图像模式”。
  2. 左侧输入提示词可选择本地图片图生图设置生成张数1~4
  3. 选择图像模型(来自图像模型管理器)。
  4. 点击“生成”,右侧显示单图 base64 预览,支持下载与复制。

模型管理

  • 模型管理器新增标签页:“文本模型|图像模型”。
  • 图像模型页支持:新增、编辑、启用/禁用、删除。
  • 连通性测试:当前版本在图像页暂不提供(后续可考虑快速小图验证)。

校验与限制

  • 本地图片:仅 image/pngimage/jpeg;大小 ≤ 10MB前端与后端均有校验
  • count1~4串行执行。
  • Seedream 请求固定关闭组图(sequential_image_generation='disabled'),返回 b64_json

开发说明

  • 核心层:ImageService + 适配器Gemini/Seedream/OpenAI适配器注册表按 provider 路由。
  • UIImageWorkspace.vue 为图像模式工作区;通过 useImageGeneration 调用 ImageService
  • 代理与网络:现在仅支持直接访问模型提供商,如在浏览器环境遇到跨域限制,请改用桌面版或自行配置反向代理。