[Feature]: 升级连接诊断为 capability-aware / Improve connection diagnostics with capability-aware detection
Problem / pain point / 问题
当前连接测试已经比“只测 /models”更强,但仍然会遇到“技术上能连通,功能上不兼容”的情况:
/models 不存在,但 inference 实际可用
chat/completions 可用,但 responses 不可用
- gateway 拒绝
developer role
- auth 正常,但 selected wire 不兼容
Current tests are already better than a naive /models probe, but users can still hit endpoints that are reachable while functionally incompatible.
Proposed solution / 方案
把 diagnostics 从“能不能连上”升级成“哪一层不兼容”。
Classify failures across:
- authentication / 鉴权
- endpoint shape / endpoint 形状
- wire support / wire 兼容性
- model discovery / 模型发现
- role compatibility / role 兼容
- reasoning compatibility / reasoning 兼容
Where possible, return structured results that can also feed capability updates or UI hints.
Alternatives considered / 备选方案
Scope / 范围
Provider / model
Acceptance criteria / 验收标准
- diagnostics 区分 auth、endpoint、wire、model-discovery 失败
/models 缺失但 inference 可用时,显示 degraded-compatible 状态
responses vs chat/completions 不兼容被明确报告
- renderer 收到结构化原因,而不是单一字符串
- 各主要失败路径有测试覆盖
Likely touchpoints / 可能涉及
apps/desktop/src/main/connection-ipc.ts
packages/providers/src/gateway-compat.ts
packages/providers/src/errors.ts
- renderer settings / diagnostics UI
[Feature]: 升级连接诊断为 capability-aware / Improve connection diagnostics with capability-aware detection
Problem / pain point / 问题
当前连接测试已经比“只测
/models”更强,但仍然会遇到“技术上能连通,功能上不兼容”的情况:/models不存在,但 inference 实际可用chat/completions可用,但responses不可用developerroleCurrent tests are already better than a naive
/modelsprobe, but users can still hit endpoints that are reachable while functionally incompatible.Proposed solution / 方案
把 diagnostics 从“能不能连上”升级成“哪一层不兼容”。
Classify failures across:
Where possible, return structured results that can also feed capability updates or UI hints.
Alternatives considered / 备选方案
Scope / 范围
Provider / model
Acceptance criteria / 验收标准
/models缺失但 inference 可用时,显示 degraded-compatible 状态responsesvschat/completions不兼容被明确报告Likely touchpoints / 可能涉及
apps/desktop/src/main/connection-ipc.tspackages/providers/src/gateway-compat.tspackages/providers/src/errors.ts