跳转到内容

开发者指南

本章节面向修改 ProxAI 内部实现的维护者,重点是源码边界、协议转换规则、流式行为和错误投影。

  1. 1
    ingress
    模块
    src/ingress/src/protocol/
    职责

    检测入站协议、解析 payload,并规范化入站请求形状。

  2. 2
    routing
    模块
    src/config.rspipeline routing
    职责

    通过协议感知 defaults 或显式模型 route 选择 provider。

  3. 3
    translation
    模块
    src/translation/
    职责

    在纯协议边界上转换协议 payload 和 streams。

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

    准备 provider request payload、改写模型、添加 provider auth、构造上游 URL 并发送。

  5. 5
    response reconstruction
    模块
    src/http_supportsrc/error/
    职责

    把响应翻译回入站协议,并渲染紧凑的客户端错误。

src/ingress/

入站 HTTP path/protocol 检测、请求解析,以及 routing 前的 normalization。

src/protocol/

OpenAI Responses、OpenAI Chat Completions、Anthropic Messages 和 SSE payload 的 wire data models。

src/translation/

显式 pair 之间的纯协议 payload 和 stream 转换。

src/provider/*/request

Provider request preparation、projection、provider model rewrite 和 outbound payload serialization。

src/provider/*/transport

上游 URL 构造、provider authentication headers 和 HTTP send 行为。

src/provider/*/response

Provider response summaries、streaming observers、协议状态机和 outcome diagnostics。

src/http_support/

response header/body reconstruction 和 byte streams 的 HTTP carrier helpers。

src/error/

内部 typed errors 和紧凑的客户端 HTTP/SSE error rendering。

src/observe/

结构化日志、request hints、duration coloring 和 capture-safe diagnostics。

新增运行时配置

更新 src/config.rs、config.example.toml、用户文档、reference 文档,以及 generated defaults 测试。

该改哪里

修改 routing、provider、translation、streaming、error、capture 或 docs internals 前,先看任务化源码地图。

测试地图

先选择最窄验证命令,再为用户可见 proxy 或 streaming 行为扩大验证。

新增转换 pair

补齐 request/response/streaming conversion、route 支持、行为测试和协议文档。

修改 streaming

检查 carrier 语义、SSE terminal events、tool-call stalls、Unicode chunk scanning 和 e2e 测试。

修改错误渲染

更新错误投影、保留 headers、SSE error 行为和行为契约。