Skip to content

fix(settings): Anthropic 兼容供应商的模型可设置输入能力 - #1120

Merged
xiaozhou26 merged 2 commits into
mainfrom
fix/issue1045-anthropic-input-modalities
Nov 2, 2026
Merged

xiaozhou26 merged 2 commits into
mainfrom
fix/issue1045-anthropic-input-modalities

Conversation

@xiaozhou26

Copy link
Copy Markdown
Contributor

Closes #1045

问题

Anthropic 兼容供应商(claude_code)的模型编辑面板只有 Context Window / Max Output Token,没有「输入能力」选项,无法为目录外的视觉模型开启图片输入。

原因与修复

v2 的运行时链路本身已与供应商类型无关:modelFactory 对所有供应商应用 inputModalities,providerSettings 把它同步给 K-brain(Vision),K-brain 的视觉判定和 Anthropic 图片块构造也不区分 API 类型。唯一的阻断是设置界面的开关 providerSupportsModelInputModalitiesOverride(providerUtils.ts)未包含 claude_code,因此下拉框被隐藏,模型列表的模态图标也忽略已保存的覆盖值。

  • providerUtils.ts:放开 claude_code。
  • 测试:test/settings/input-modalities.test.mjs 更新断言;新增 test/providers/kbrain-attachment-read.test.mjs 用例,验证 Anthropic 兼容的目录外模型带用户覆盖时以 api: "anthropic-messages" + ["text","image"] 同步给 K-brain,并能从 K-brain 读回。

报告者的 1.3.7 属于 K-brain 之前的旧链路,手改 sqlite 不生效是旧 runtime 的行为,不是 v2 的路径。

验证

  • 相关测试 26/26 通过;pnpm typecheck:ui、biome 通过。

Screenshots / preview

在浏览器中渲染真实的 ProviderModal(Anthropic 兼容供应商 + 目录外模型 vision-model-x),打开模型参数:

修复前 修复后
修复前 修复后

K-brain 按模型条目的 inputModalities/vision 判定能否收图,与 API 类型无关;
前端推送、modelFactory 与模型选择器也都不区分供应商。唯一缺口是设置页的
providerSupportsModelInputModalitiesOverride 把 claude_code 排除在外,
Anthropic 兼容供应商因此无法开启图片输入。放开该门控,并补推送/读回测试。
@xiaozhou26
xiaozhou26 merged commit 33da378 into main Nov 2, 2026
22 of 23 checks passed
@xiaozhou26
xiaozhou26 deleted the fix/issue1045-anthropic-input-modalities branch November 2, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Anthropic 兼容提供商的模型没有"输入能力"选项,无法开启图片输入

1 participant