跳转到内容

请求生命周期

本页描述源码级请求路径。用户可见行为属于使用 ProxAI,协议行为属于协议指南。

  1. 1
    inbound_request
    模块
    src/pipeline/inbound.rscrates/proxai-core/src/pipeline/crates/proxai-core/src/ingress/
    职责

    应用层检测请求路径并解析 body bytes,再由 core pipeline 归一化和校验结构化 payload。

  2. 2
    routing
    模块
    crates/proxai-core/src/pipeline/crates/proxai-core/src/routing/src/pipeline/provider_request.rs
    职责

    Core 解析 provider 标签、协议、compatibility policy 与 upstream model,再由应用层把标签映射到 HTTP transport。

  3. 3
    provider_request
    模块
    crates/proxai-core/src/pipeline/crates/proxai-core/src/translation/crates/proxai-core/src/provider/request/src/provider/*/request
    职责

    Core 返回准备好的 provider value 和匹配的 response pipeline,再由应用层序列化上游请求。

  4. 4
    provider transport
    模块
    src/provider/*/transport
    职责

    构造上游 URL,附加 provider-owned 认证头,并通过 HTTP 发送。

  5. 5
    upstream_response
    模块
    src/upstream/src/provider/*/response
    职责

    读取状态、headers、非流式 body 或流式 byte carrier。

  6. 6
    outbound_response
    模块
    crates/proxai-core/src/pipeline/src/sse_translation.rssrc/http_support/
    职责

    通过 ResponsePipeline 执行结构化 provider normalization 与 translation,再由应用层重建客户端 HTTP/SSE response。

不变量原因
Translation 不拥有 HTTP Responsetranslation layer 应该在 carrier 边界保持纯粹。
Provider 认证来自 provider config客户端传入的 Authorization 不控制上游 provider 认证。
路由匹配错误必须显式协议 guard mismatch 不应该落回另一个 provider。
流式完成是语义事件完成需要协议终止事件,而不是仅仅 socket 关闭。