变更内容
迁移分为四步:
- 保持负载结构不变。
- 替换基础 URL 和 API 密钥来源。
- 验证模型 ID 和 OpenRouter 专属请求头。
- 逐步切换流量,并比较延迟、输出和成本。
开始之前
- 能访问当前 OpenRouter 集成代码和部署配置。
- 在开发、预发布和生产环境中配置
PHASEO_API_KEY。 - 准备一份生产模型 ID 和代表性提示词的简短清单。
1) 清点当前 OpenRouter 用法
找出所有 OpenRouter 引用:端点、密钥、模型 ID 和提供商专属请求头。- 搜索
openrouter.ai端点。 - 在代码、CI 和托管环境变量中搜索
OPENROUTER_API_KEY。 - 搜索
HTTP-Referer、X-Title等 OpenRouter 专属请求头。 - 记录当前启用的模型 ID 和备用路由逻辑。
- 找出适合移入 Gateway 预设的可复用提示词、提供商或参数默认值,避免在应用代码中重复。
2) 替换基础 URL 和凭据
先保持请求负载不变,在优化之前验证行为一致。3) 验证模型 ID 并映射 OpenRouter 专属行为
不要假设之前的所有别名都有效。查询/v1/models 并验证每个生产模型 ID。默认响应只包含当前可公开路由的模型;仅在确实需要检查非活跃或即将提供的映射时使用 availability=all。
- 保持
Authorization: Bearer格式不变。 - 如果
HTTP-Referer和X-Title用于标识调用应用,请保留。Phaseo 也接受小写形式http-referer和x-title。 - 如果调用方依赖 OpenRouter 专属响应字段,请在单一兼容层中适配。
- 如果 OpenRouter 配置使用提供商允许/拒绝列表或路由默认值,请将它们移到预设和路由与回退。
映射提供商控制项
如果工作负载需要区域限制,Phaseo 还支持
provider.required_execution_region 和 provider.required_data_region。完整请求示例参见固定或忽略提供商和仅路由到欧盟或支持 ZDR 的提供商。
4) OpenRouter 行为一致性检查清单
切换重要流量前,请确认:- 基础 URL 已更新为
https://api.phaseo.app/v1。 - 所有环境中的
OPENROUTER_API_KEY已替换为PHASEO_API_KEY。 - 已通过
/v1/models验证所有生产模型 ID。 - 已通过
/v1/chat/completions或/v1/responses验证一项非流式请求。 - 已通过生产应用使用的同一集成路径验证一项流式请求。
- 已重新检查
GET /v1/generations?id=<request_id>;当replay_supported=true时,可从已存储的replay_request重放失败请求。 - 已使用真实提示词重新检查工具调用和结构化输出。
- 已在预发布环境验证无效密钥和无效模型错误。
- 已删除或明确规范化 OpenRouter 专属请求头和响应字段。
- 在适用时,已将共享提示词和路由默认值移入预设。
代理迁移清单
为编码代理分配以下限定步骤:- 在运行时代码和部署配置中搜索
openrouter.ai、OPENROUTER_API_KEY、sk-or-v1、HTTP-Referer和X-Title。 - 将客户端接入点改为
https://api.phaseo.app/v1和PHASEO_API_KEY,不要将密钥写入源码管理。 - 查询
GET /v1/models并记录每个新旧模型映射。 - 在一个兼容模块中适配 OpenRouter 专属路由选项或响应字段。
- 执行下方的健康检查、模型查询、请求、流式和失败路径验证。
- 汇报改动文件、密钥名称变化、模型映射、测试证据、行为差异和回滚方式。
5) 安全地逐步发布
分阶段切换:先开发环境,再少量生产流量,指标稳定后再切换全部流量。- 首先只使用内部流量。
- 切换到 5–10% 的生产流量,比较质量、延迟和成本。
- 确认行为一致后再提升到 100%。
- 完全稳定前,确保只需切换 URL 和密钥即可回滚。
验证命令
- 通过应用级集成测试运行一项流式请求。
- 对无效密钥或模型运行一项负向测试。
- 重放一小组基准提示词并比较输出。