makecindy / makecindy/cindy

pi 下自定义供应商模型无法识别图片:能力元数据缺失时按纯文本处理,且界面中已无「支持图片输入」开关

Open
#4,534 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: Nemooo0
**客户端版本**: 0.1.82

---

## 问题

通过「自定义供应商」接入的模型在 pi 任务里无法接收图片。把图片发给 pi 后,该图片不会进入模型请求,模型侧只收到一句占位说明:

> (image omitted: model does not support images)

该模型厂商官方支持图片输入(deepseek-flash,官方 API 为原生多模态),且同一个模型在 Cindy 内置网关路由下已声明图片输入,只有走自定义供应商的 pi 原生路由时被当作纯文本模型。

## 复现步骤

1. 设置 → 供应商 → 添加自定义供应商(DeepSeek 官方 API,`https://api.deepseek.com`),由 `/models` 自动发现模型列表,其中包含 `deepseek-flash`。
2. 新建 pi 任务,模型选择该自定义供应商下的 `deepseek-flash`。
3. 向任务发送一张图片。
4. 实际结果:pi 提示当前模型不支持图片,图片被从请求中省略,模型无法看到图片内容。

## 期望

- 厂商官方支持视觉的模型,在 pi 下应当能正常收到图片;或
- 至少提供一种让用户声明「该模型支持图片输入」的途径。

## 界面上找不到对应开关

应用内的相关提示会让用户去自定义模型的供应商设置里开启「支持图片输入」,但设置 → 供应商 → 编辑模型 → 高级 中只有一个只读的能力徽标(显示视觉 / 无视觉),没有任何可切换的开关,用户找不到该选项。相关文案(「支持图片输入」)在界面文案表中仍然存在,但界面上不可操作,提示与实际界面不一致。

## 初步排查摘要(供参考)

- 该模型条目由 `/models` 自动发现产生,发现结果没有携带视觉能力元数据;
- 在生成给 pi 的模型配置中,该模型被标记为仅文本(`input: ["text"]`),而同一份配置里走网关路由的同名模型带有图片输入,两条路径的元数据不一致;
- 视觉兜底能力(视觉桥)默认关闭且未配置,不会为这类模型兜底。

## 影响

凡是通过自定义供应商(自有 API key / 自建网关)接入、厂商支持视觉、但 Cindy 侧尚无可信能力元数据的模型,在 pi 任务下都会静默丢失图片输入,且没有任何界面或配置入口可以纠正。

实际故障环境:Harness pi · 模型 `deepseek-flash`(自定义供应商,DeepSeek 官方 API)。
---
## 提交时的任务环境

仅代表提交时快照,不一定是故障环境。OS 来自提交客户端本机,不含 SSH 远端主机;Harness / 模型来自当前任务。与运行环境无关的反馈可忽略本段。
**OS**: darwin arm64 (27.0.0)
**Harness**: Claude Code
**Model ID**: ` deepseek-flash `
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

Start with custom-provider /models discovery and the model configuration generated for pi, comparing the custom-provider and gateway metadata for image input. Then inspect the provider model's advanced settings and the image-omission path; done means supported custom-provider vision models receive images and the interface offers a way to declare image support or no longer gives an unavailable-setting prompt.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend-api-design, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.