Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

【功能请求】glm 系模型 OpenAI 兼容通道的图片输入被客户端强制丢弃...

未关闭
#2 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
javascript
领域
api, frontend

调研方向

从 resources/glm/zcode.cjs 开始,跟踪用于能力解析的 lia(e,t) 和用于图像序列化的 Y1(e,t)。检查 ~/.zcode/cli/config.json modelCatalog.overrides 和模型设置 UI 如何向这些值提供数据。对于兼容 OpenAI 的 GLM 模型,配置的图像能力得到遵循,图像保留在请求中,并且现有 fallback 不再覆盖用户设置,即视为完成。

由索引模型根据 Issue 内容生成。

描述

Issue 草稿:提交到 zai-org/zcode-plugins

提交地址(点击后标题和正文已预填,确认无误后点 Submit):
issue-url.txt


标题

【功能请求】glm 系模型 + OpenAI 兼容通道的图片输入被客户端强制丢弃,请开放按模型配置媒体能力

正文

环境

  • ZCode Desktop 3.7.6,Windows x64
  • 自定义供应商:Base URL https://<中转站>/v1,API 格式 Chat Completions (/chat/completions)
  • 模型:glm-5.3 / glm-5.3-flash(模型页标注支持图像,中转端可正常转发图片)

现象

聊天中粘贴任何图片,模型收到的内容被替换为:

[Media omitted from provider request because the selected model does not support image input.]

图片在客户端本地即被丢弃,请求体中不含任何图片字段(与中转站网关无关)。

复现步骤

  1. 模型设置 → 添加供应商 → Base URL 填 OpenAI 兼容中转地址,API 格式选 Chat Completions
  2. 添加模型 glm-5.3-flash
  3. 聊天中粘贴一张图片发送
  4. 看到上述占位提示;而同通道的 deepseek-v4-pro 可正常识图

源码定位(resources/glm/zcode.cjs,3.7.6)

模型能力解析链为:modelCatalog.overrides → models.dev 目录 → 内置补丁表 → 兜底策略。对 glm 系模型:

  • 内置补丁表中无 glm 图片规则(仅 deepseek-v4-pro 等被允许)
  • 兜底策略一刀切:
function lia(e,t){
  if(e.supportsImages===void 0&&pia(t.modelId)){
    if(t.apiFormat==="openai-chat-completions"){ e.supportsImages=!1; return }  // ← 强制判死
    ...
  }
}
  • 序列化层据判定结果把 image 部件替换为占位文字:
function Y1(e,t){ if(e.type==="image"&&t?.supportsImages===!1) return"image input"; ... }

另外:用户级 modelCatalog.overrides~/.zcode/cli/config.json)确认会被加载(启动日志 configSourceUser=true),但最终判定仍被兜底覆盖,配置无法生效。

期望

  1. 自定义模型支持按模型声明媒体能力(supportsImages / modalities.input),并在模型设置 UI 中提供开关
  2. 能力解析优先尊重用户配置;兜底策略不再对 openai-chat-completions + glm 组合一刀切

影响

通过中转或自建 OpenAI 兼容端点使用 GLM 多模态能力的用户完全无法发图,而模型与通道本身都支持。目前只能本地 patch 客户端文件绕过,希望官方原生支持。

若本仓库仅用于插件市场、并非客户端反馈渠道,烦请告知正确的反馈入口,谢谢!

主要语言
Python
星标
39
派生
20
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

zai-org/zcode-plugins 的其他 Issue

查看 zai-org/zcode-plugins 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。