Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat: 多模态能力标注与实际通路不一致(protocol=openai 供应商无法上传视频;音频完全没有通路)

Aperta
#3,981 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Trace the ReadMediaFile entry point and the protocol=openai media-upload path, then reproduce the listed video and WAV cases with the supplied ffmpeg commands. Compare capability labels, adapter errors, audio handling, and video sampling metadata across the named models. Done means supported media paths and capability labels agree, errors identify the responsible layer, and successful video reads report sampling and audio-track handling.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

环境
  • Kimi Code Desktop(Windows,2026-09 版本)
  • 复现时间:2026-09-22
核心问题:能力标注与实际通路不一致

模型选择器会给模型标注多模态能力(音频 / 视频),但只要这个模型走的是 OpenAI 协议(protocol=openai),视频上传实际上没有实现,而且报错把责任算在模型头上。

同一个测试视频(ffmpeg 生成的 2 秒 320x240 testsrc,无音轨)实测:

模型 选择器标注能力 ReadMediaFile 结果
kimi-code/k3 视频 成功,返回 4 帧静帧
mimo-token-plan-cn/mimo-v2.6-flash 全模态(图 / 视频 / 音频) Model "…mimo-v2.6-flash" (protocol=openai) does not support video upload
alibaba-token-plan-cn/qwen3.8-max 支持图片 / 视频输入 Model "…qwen3.8-max" (protocol=openai) does not support video upload
command-code/deepseek-v4.1-flash 仅图片 The current model does not support video input. Tell the user to use a model with video input capability.

结论:标注了视频能力的模型,只要供应商是 protocol=openai 就一律喂不进去;只有走原生协议的 k3 能成功。用户侧看到的就是"标注了有视频能力,但传进去就报错",而报错文本读起来像是模型不支持,实际是客户端适配层没有实现视频上传。

附加问题一:音频没有任何通路

.wav 在任何模型下都被文件类型层直接拒绝,与模型能力无关:

"D:\…\01_onset_relief.wav" is not a supported image or video file.
Use Read for text files, or Bash or an MCP tool for other binary formats.

即使该模型被标注为全模态(含音频),也没有任何音频能进入上下文。

附加问题二:视频里的音轨被静默丢弃

同一个 mp4,k3 能读到画面;但带 AAC 音轨的版本读出来的结果和不带音轨的几乎完全一样,唯一差别是状态行里的体积 10889 → 29736 字节。模型拿不到任何音频表示(波形、频谱、文字描述都没有),也不会被告知有音轨被忽略。

附加问题三:视频只给采样静帧,但不告知采样规则

k3 读到的 video/mp4 实际是 4 帧静帧(00:00:00.000 / 0.500 / 1.000 / 1.500),工具返回里没有说明"按多少 fps 采样了多少帧、音轨是否被丢弃"。对于需要判断动作连续性或节奏的任务,用户无法知道到手的是不是完整信息。

期望
  1. 能力标注与实现对齐:要么把 protocol=openai 供应商的视频上传实现掉,要么在选择器里不给这些模型标"支持视频";
  2. 报错指向真正的责任方(例如"当前供应商适配层不支持视频上传"),而不是笼统的"模型不支持",否则用户只会反复换模型试错;
  3. 音频:对具备 audio_in 的模型开放 ReadMediaFile 的音频通路(沿用现有 100 MB 限制与模型能力协商即可);
  4. 视频读取成功后,明确告知采样规则(帧数、帧率、时长、音轨是否被忽略);
  5. 桌面端 / Web 端拖入音频或不受支持的媒体时给出可见反馈,而不是静默无效果。
复现步骤
  1. 生成测试视频:

    ffmpeg -f lavfi -i testsrc=size=320x240:rate=10:duration=2 -c:v libx264 -pix_fmt yuv420p -an test_vid.mp4
    # 带音轨版本:再加 -f lavfi -i sine=frequency=440:duration=2 -c:a aac -shortest test_vid_audio.mp4
    
  2. 分别选择上表中的模型,让 Agent 调 ReadMediaFile(path="…test_vid.mp4");

  3. 观察报错差异:k3 成功、两个 protocol=openai 的模型报 does not support video upload。

  4. 音频:任意模型下调 ReadMediaFile(path="…某段.wav"),得到文件类型层拒绝。

相关:#469(第三方多模态 / ASR 模型协作)、#2999(非多模态模型收到图片导致 400)。

Lingua principale
TypeScript
Stelle
7.9k
Fork
1.3k
Merge medio
1g 2h
PR unite (30g)
115

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di MoonshotAI/kimi-code

Tutte le issue di MoonshotAI/kimi-code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.