跳转到内容

模块边界

本页是维护者判断代码归属的地图。拿不准时,保持协议转换显式,并避免把 provider-specific 行为混入通用 translation。

src/ingress/

从 HTTP path 检测入站协议,解析入站 body,并在 routing 前规范化 request carrier。

src/protocol/

Wire structs、enums 和协议专属 event payload。不做 provider routing 决策。

src/routing/

匹配 request_protocol 和 model_pattern,选择 provider,并执行协议 guard 错误。

src/translation/

协议 pair 之间的纯 request/response/stream 转换。

src/provider/*/request

Provider request preparation:模型改写、provider compatibility projection、序列化。

src/provider/*/transport

上游 URL 构造、provider-owned auth headers、HTTP send。

src/upstream/

读取 provider status、headers、非流式 body 和流式 byte carrier。

src/http_support/

HTTP response reconstruction、content-type helpers、header filtering、byte stream carriers。

src/error/

Domain error taxonomy 和紧凑的客户端错误投影。

src/observe/

结构化日志、capture phases、hints 和隐私安全诊断。

问题放在
是否解析客户端请求 path 或 body?src/ingress/
是否定义协议 JSON wire shape?src/protocol/
是否按协议/模型选择 provider?src/routing/ 或 pipeline routing step
是否把一种协议 payload 转成另一种协议 payload?src/translation/
是否改写 provider model 或 provider-local request 字段?src/provider/*/request
是否添加 provider 认证头或构造上游 URL?src/provider/*/transport
是否过滤 headers 或重建 HTTP response?src/http_support/
是否渲染客户端错误?src/error/
是否写日志或 capture artifacts?src/observe/
避免原因
把 HTTP Response 传进 src/translation/Translation 应在 carrier 边界保持纯粹。
在 translation 中添加 provider auth 逻辑Auth 是 provider transport 行为,不是协议转换。
把 provider 名称当协议值使用Provider 名称是任意用户标签。
协议 guard mismatch 后静默 fallback匹配 route 但 request_protocol 不一致是配置错误。
为了方便记录 request bodyPrompt、工具参数和输出都是私有数据。