Skip to content

feat(provider): 收窄 MVP Provider 支持范围 #71

@creatang

Description

@creatang

背景

当前项目容易让人误以为 MVP 已正式支持 OpenAI、Anthropic、Gemini 多 Provider。

但实际只有 OpenAI-compatible 可用,Anthropic 和 Gemini 仍然只是 scaffold。

这会导致:

  • 用户误以为多 Provider 已可用
  • UI 暴露未实现 Provider
  • 模型选择和配置容易出错
  • MVP 边界不清晰

目标

只在 internal/provider/ 内收窄支持范围,并提供统一的 Provider 状态信息。

方案

  • 为 Provider 增加统一描述信息

    • 名称
    • 展示名
    • 支持状态
    • 是否属于 MVP 正式支持
    • 是否当前可用
    • 可展示模型列表
  • 扩展 Provider 接口,增加:

    • Descriptor()
  • OpenAI-compatible 标记为:

    • MVP 正式支持
    • 当前可用
  • Anthropic / Gemini 标记为:

    • scaffolded
    • 当前 MVP 不可用
  • Anthropic / Gemini 的错误信息统一明确说明:

    • 当前仅为 scaffold
    • 当前 MVP 仅正式支持 OpenAI-compatible
  • Registry 增加:

    • Descriptors()
    • MVPDescriptors()
    • AvailableDescriptors()

验收标准

  • OpenAI-compatible 是唯一 MVP 正式支持 Provider
  • Anthropic / Gemini 明确标记为 scaffolded
  • MVPDescriptors() 只返回 OpenAI-compatible
  • AvailableDescriptors() 只返回当前可用 Provider
  • Anthropic / Gemini 调用时返回清晰错误信息
  • 补充对应测试

不在本次范围

  • 默认配置调整
  • UI 隐藏未实现 Provider
  • 模型选择器过滤
  • README / docs 更新
  • runtime / config / tui 对新元数据的消费

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions