场景: 客户端发送 /v1/responses 请求。
选择: 只有 endpoint-specific route 需要 request_protocol = "openai_responses";其他情况让 path 检测处理。
原因: Responses 有更丰富的 output item、工具事件和终态语义。
当你希望 Zed 访问 ProxAI,而不是直接访问 provider 时,用这页。ProxAI 保持本地运行,接收 OpenAI 兼容请求,再转发到配置好的上游 provider。
目标: 只 capture 解释 Zed 可见问题所需的 phase。
upstream_response 或 outbound_response capture。验证: 终止事件、stop reason 或 stream translation error 能解释客户端症状。
| 事项 | 归属位置 |
|---|---|
| Zed base URL | Zed 客户端设置,指向 ProxAI 本地 /v1 base URL |
| 本地 client key 要求 | 如果客户端集成要求,放在 Zed/client 设置中 |
| Provider API key | config.toml provider 配置或支持的环境展开,不要写进文档或 capture |
| 模型到 provider 的路由 | config.toml 中的 [[routes]] 和 [routing.defaults] |
| Provider 协议行为 | providers.<name>.protocol |
| 临时端口/上游 override | 短期本地测试用 CLI flags |
场景: 客户端发送 /v1/responses 请求。
选择: 只有 endpoint-specific route 需要 request_protocol = "openai_responses";其他情况让 path 检测处理。
原因: Responses 有更丰富的 output item、工具事件和终态语义。
场景: 上游 provider 期望 Anthropic Messages wire payload。
选择: 将选中 provider 设置为 protocol = "anthropic_messages"。
原因: Provider protocol 控制出站 wire 行为;provider 名称只是用户标签。
场景: Zed 在工具调用参数或终止事件不完整时等待。
选择: 先检查 streaming/tool-call 行为和语义 timeout,再改路由。
原因: 流式回归是用户可见的,而且通常只发生在某个 phase。
场景: Zed 展示的本地错误过于紧凑。
选择: 临时使用 JSON error responses,并开启窄 phase capture。
原因: 默认保持可读,调试时再拿结构化诊断。
Zed 接入可能包含私有 prompt、工具调用、文件片段和 provider 输出。ProxAI 不应记录 request bodies、Authorization headers、API keys 或不必要的私有上游 URL 细节。Capture 是本地调试产物,应视为敏感数据。