xz-provider 0.5.0

LLM 服务提供者抽象层 — 统一的 LLM 服务提供者接口
Documentation
# xz-provider

LLM 服务商抽象:统一的 `complete` / `complete_stream` 接口,经协议适配器对接 OpenAI Chat、OpenAI Responses、Anthropic Messages 等。

## 架构(收敛后)

```text
CompletionRequest ──► ProtocolAdapter ──► HTTP ──► ProtocolAdapter ──► Response / StreamEvent
                     OpenAiChat / Responses / Anthropic
                       GenericProvider(唯一 HTTP 栈)
                       ProviderBuilder / ProviderRouter
```

- **不要**再寻找 `OpenAiCompatibleProvider`:已删除,OpenAI 兼容端点一律 `GenericProvider` + adapter。
- 共享编解码在 `protocol/openai_wire.rs`
## 最小用法

```rust,ignore
use xz_provider::{
    ProviderBuilder, ProviderConfig, CompletionRequest, Message, RequestOptions, RouteContext,
};

let router = ProviderBuilder::new()
    .with_config(ProviderConfig::from_json(r#"{ ... }"#)?)
    .build()
    .await?;

let resp = router
    .complete(
        &RouteContext::default(),
        CompletionRequest::new("gpt-4o", vec![Message::user("hi")]),
        RequestOptions::default(),
    )
    .await?;
```

## Features

| Feature | 作用 |
|---------|------|
| `openai_compatible` (default) | 配置里 `open_ai` / `open_ai_compatible` 类型 |
| `claude` / `anthropic` | Anthropic Messages 适配器 |
| `integration-tests` | 真机集成测试 |

## 模块导航

| 路径 | 内容 |
|------|------|
| `traits` | `LlmProvider` |
| `providers::GenericProvider` | HTTP + 取消 + 超时 |
| `protocol::*` | 协议适配器 |
| `builder` | 从配置装配 |
| `router` | 多模型路由 |
| `types` | 请求/响应/消息(完整类型) |