You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
可操作的报错:现行 PI_IMAGE_INPUT_UNSUPPORTED 文案让用户去开启一个界面上不存在的「支持图片输入」开关——当前 main 的 CustomProviderDialog.tsx 已无该复选框,ModelAdvancedDrawer.tsx 的「图片输入」行只做展示(源码中仅有取值与显示逻辑,无写入绑定,pi 下自定义供应商模型无法识别图片:能力元数据缺失时按纯文本处理,且界面中已无「支持图片输入」开关 #4534 已记录这一不一致);新文案给出「切换一次模型或新建 Pi 任务」的真实路径。
机制核对(已在 main 确认的部分)
switch_session 热重载与写失败回滚在 main 已有先例:packages/maker-core/src/agents/pi/__tests__/pi-provider-routing.test.ts 覆盖 xAI 目录刷新后的重载(SuperGrok appears after session start)与回滚(rolls models.json back when switch_session fails)用例;本 PR 复用同一机制与失败语义,不是新造的会话生命周期。
Activity
dash-s-cindy commentedon Sep 22, 2026
判断
这个确认门对应两个产品点:给目录模型补「图片输入」三态声明入口(跟随供应商 / 支持 / 不支持),以及让声明对已启动的 Pi 会话即时生效。两者都有真实用户诉求和仓库既有设计预留支撑,方向成立,值得放行推进。
从当前 main(62400c8)看,这个 PR 正是仓库自己预留的后续工作:
apps/desktop/src/main/maker-host/model-catalog-override-store.ts头注释明确写着「本轮(PR-C)刻意不加 IPC/写 API:设置 UI 是后续 PR」,且model-plane/localCatalogOverrides.ts的ModelCatalogOverrideFields已包含supportsImageInput(base 与 perAgent 均支持,sanitize 只收布尔)。本 PR 只为这一个字段开窄写入面(两条本机 IPC,不进 device-link allowlist;按 PR 描述复用assertTrustedProviderMutationSender断言链,该断言在 main 的 providerHandlers 已有先例),不开放通用 patch 写入口,与 #4269 请求的三态声明方向一致。行动
models.json并switch_session重载子进程,重载不确认即终止任务(fail-closed)。apps/desktop/src/renderer/__tests__/cindyMakeInlineEntry.test.ts:56仍断言旧字面量) : cindyMakeRecoveryId && session ? (,而 feat(plugins): add remote authorization and private setup cards #4813 已把CCAgentSessionView.tsx(约 5274 行)改为topSlot={cindyMakeRecoveryId && session ? (。该测试在 main 上即失败,需要 main 侧单独修一行断言(feat(desktop): 支持远程消息文件与变更撤销 #4879 分支已带等效修复);不修会挡住所有并入 main 的 PR。动机与现状的关系
PR 摘要中「未声明即拒收」描述的是 #4854 合入前的行为。#4854 已并入 main(按最近发布记录推断尚未进入安装包),Pi 对未声明图片能力改为默认放行:
packages/maker-core/src/agents/pi/index.ts约 2344 行input: m.input ?? ['text', 'image']、约 5996 行(nativeModel.input ?? ['text', 'image']).includes('image')。作者已把分支 rebase 到 upstream/main 并对齐两端口径(对账基线同样用?? ['text', 'image'],否则对未写input的模型声明false会被判成「无变化」而落不下去),pi-provider-routing相关用例报告全绿。因此本 PR 当前的价值重心是:
set_model不重读models.json;对账让旧任务切模或直接发图即生效,无需重建任务。PI_IMAGE_INPUT_UNSUPPORTED文案让用户去开启一个界面上不存在的「支持图片输入」开关——当前 main 的CustomProviderDialog.tsx已无该复选框,ModelAdvancedDrawer.tsx的「图片输入」行只做展示(源码中仅有取值与显示逻辑,无写入绑定,pi 下自定义供应商模型无法识别图片:能力元数据缺失时按纯文本处理,且界面中已无「支持图片输入」开关 #4534 已记录这一不一致);新文案给出「切换一次模型或新建 Pi 任务」的真实路径。机制核对(已在 main 确认的部分)
switch_session热重载与写失败回滚在 main 已有先例:packages/maker-core/src/agents/pi/__tests__/pi-provider-routing.test.ts覆盖 xAI 目录刷新后的重载(SuperGrok appears after session start)与回滚(rolls models.json back when switch_session fails)用例;本 PR 复用同一机制与失败语义,不是新造的会话生命周期。supportsImageInput只收布尔;坏文件按既有语义隔离保留。supportsImageInput键即回到「跟随目录」;整 PR revert 后 UI 入口与 IPC 一并消失,无持久残留。建议 review / 验收重点
以上基于 main 62400c8 的只读核对与仓库历史记录;未运行修改版客户端,PR 中的手工验证结论(Windows dev 构建、用户实测发图生效)为作者报告,最终以 review 与 CI 为准。
相关记录
classifyVisionCapability的联动)仍是后续工作。cindyMakeInlineEntry.test.ts过期断言的修复,可作为 main 侧解 CI 红的参考。