Skip to content

[Feature]: 升级连接诊断为 capability-aware / Improve connection diagnostics with capability-aware detection #213

@Sun-sunshine06

Description

@Sun-sunshine06

[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 / 备选方案

  • 维持简单 pass/fail
    • 对 multi-gateway 场景信息不足

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriageAwaiting maintainer review

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions