Commit Graph
2 Commits
Author SHA1 Message Date
thzxx 7f975de20e fix: 从共享工具中移除图片处理,DeepSeek 不应接收图片
问题:shared/openai-format.ts 对所有 OpenAI 兼容 Adapter 统一处理
多模态图片 → content 数组。但 DeepSeek 不支持多模态,不应发送图片。

修复:
- shared/openai-format.ts: 移除图片处理逻辑(由各 Provider 自行决定)
- AgnesAdapter.toNativeRequest: 添加多模态图片转换(OpenAI content 数组)
- DeepSeekAdapter: 不处理图片(DeepSeek 不支持多模态)
- OllamaAdapter: 已有独立的图片处理(images: [base64] 数组)

各 Provider 多模态支持:
  DeepSeek   不支持 → 不发送 images 字段
  Agnes AI   支持 → OpenAI content 数组 [{type:image_url}]
  Ollama     支持 → images: [base64]
2026-06-27 21:43:53 +08:00
thzxx bd6856c7e4 refactor: 解耦 Provider Adapter 继承关系
问题:AgnesAdapter extends DeepSeekAdapter 在架构上不合理。
DeepSeek、Agnes AI、Ollama 是三个完全不同的 API,不应有继承关系。

重构:
  BaseAdapter
  ├── DeepSeekAdapter  (独立)
  ├── AgnesAdapter     (独立)
  └── OllamaAdapter    (独立)

变更:
- 新增 shared/openai-format.ts — 提取 OpenAI 兼容消息/工具格式构建
- 新增 shared/sse-stream.ts   — 提取 SSE 流式解析逻辑
- DeepSeekAdapter  重写为独立继承 BaseAdapter,使用共享工具
- AgnesAdapter     重写为独立继承 BaseAdapter,使用共享工具
- OllamaAdapter    无需变更(原本就独立继承)
- adapters/index.ts 清理导出,移除隐式耦合
2026-06-27 21:41:43 +08:00