文档
API Edge 接口

Edge:模型发现、文本与向量接口

API 逐项需求、源码归属、字段与验收条件

当前固定源码下本组共 18 项方法 + 路径。下列为接口需求 v0.1,Owner 为 API Edge,计划阶段为 CE-03/06;均未宣称 OceanWay 已运行。原路径/字段默认沿用,变化须进入差异台账。

每项适用统一接口需求规则,并列出上游字段声明、控制器观察与具体补差。OpenAPI 没列必填不表示运行时可缺省;观察到的 JSON key 也不等于可写入字段。下载完整接口台账上游管理规范模型规范可查看完整嵌套 Schema。

EDGE-MODEL-001 · POST /v1/alpha/search

用途与归属:Relay。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body/表单由下方处理器定义;上游未提供完整 Schema,本项要求迁入时补出字段白名单、必填、类型、默认和限制,缺失不作为“任意 JSON”开放。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源router/relay-router.go:108controller.Relay controller/relay.go:73

EDGE-MODEL-002 · POST /v1/chat/completions

用途与归属:创建聊天对话。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; messages:array [规范声明必填]; messages[].role:string [规范声明必填] enum=["system", "user", "assistant", "tool", "developer"]; messages[].content:union [规范声明必填]; messages[].name:string [规范未列必填]; messages[].tool_calls:array [规范未列必填]; messages[].tool_calls[].id:string [规范未列必填]; messages[].tool_calls[].type:string [规范未列必填]; messages[].tool_calls[].function:object [规范未列必填]; messages[].tool_calls[].function.name:string [规范未列必填]; messages[].tool_calls[].function.arguments:string [规范未列必填]; messages[].tool_call_id:string [规范未列必填]; messages[].reasoning_content:string [规范未列必填]; temperature:number [规范未列必填] default=1, minimum=0, maximum=2; top_p:number [规范未列必填] default=1, minimum=0, maximum=1; n:integer [规范未列必填] default=1, minimum=1; stream:boolean [规范未列必填] default=false; stream_options:object [规范未列必填]; stream_options.include_usage:boolean [规范未列必填]; stop:union [规范未列必填]; max_tokens:integer [规范未列必填]; max_completion_tokens:integer [规范未列必填]; presence_penalty:number [规范未列必填] default=0, minimum=-2, maximum=2; frequency_penalty:number [规范未列必填] default=0, minimum=-2, maximum=2; logit_bias:object [规范未列必填]; user:string [规范未列必填]; tools:array [规范未列必填]; tools[].type:string [规范未列必填]; tools[].function:object [规范未列必填]; tools[].function.name:string [规范未列必填]; tools[].function.description:string [规范未列必填]; tools[].function.parameters:object [规范未列必填]; tool_choice:union [规范未列必填]; response_format:object [规范未列必填]; response_format.type:string [规范未列必填] enum=["text", "json_object", "json_schema"]; response_format.json_schema:object [规范未列必填]; seed:integer [规范未列必填]; reasoning_effort:string [规范未列必填] enum=["low", "medium", "high"]; modalities:array [规范未列必填]; audio:object [规范未列必填]; audio.voice:string [规范未列必填]; audio.format:string [规范未列必填]

返回200 成功创建响应;内容类型 application/json;400 请求参数错误;内容类型 application/json;429 请求频率限制;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; object:string [规范未列必填]; created:integer [规范未列必填]; model:string [规范未列必填]; choices:array [规范未列必填]; choices[].index:integer [规范未列必填]; choices[].message:object [规范未列必填]; choices[].message.role:string [规范声明必填] enum=["system", "user", "assistant", "tool", "developer"]; choices[].message.content:union [规范声明必填]; choices[].message.name:string [规范未列必填]; choices[].message.tool_calls:array [规范未列必填]; choices[].message.tool_calls[].id:string [规范未列必填]; choices[].message.tool_calls[].type:string [规范未列必填]; choices[].message.tool_calls[].function:object [规范未列必填]; choices[].message.tool_calls[].function.name:string [规范未列必填]; choices[].message.tool_calls[].function.arguments:string [规范未列必填]; choices[].message.tool_call_id:string [规范未列必填]; choices[].message.reasoning_content:string [规范未列必填]; choices[].finish_reason:string [规范未列必填] enum=["stop", "length", "tool_calls", "content_filter"]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.completion_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]; usage.prompt_tokens_details:object [规范未列必填]; usage.prompt_tokens_details.cached_tokens:integer [规范未列必填]; usage.prompt_tokens_details.text_tokens:integer [规范未列必填]; usage.prompt_tokens_details.audio_tokens:integer [规范未列必填]; usage.prompt_tokens_details.image_tokens:integer [规范未列必填]; usage.completion_tokens_details:object [规范未列必填]; usage.completion_tokens_details.text_tokens:integer [规范未列必填]; usage.completion_tokens_details.audio_tokens:integer [规范未列必填]; usage.completion_tokens_details.reasoning_tokens:integer [规范未列必填]; system_fingerprint:string [规范未列必填];400 application/json 字段:error:object [规范未列必填]; error.message:string [规范未列必填]; error.type:string [规范未列必填]; error.param:string [规范未列必填]; error.code:string [规范未列必填];429 application/json 字段:error:object [规范未列必填]; error.message:string [规范未列必填]; error.type:string [规范未列必填]; error.param:string [规范未列必填]; error.code:string [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:98controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/chat/completions

EDGE-MODEL-003 · POST /v1/completions

用途与归属:创建文本补全。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; prompt:union [规范声明必填]; max_tokens:integer [规范未列必填]; temperature:number [规范未列必填]; top_p:number [规范未列必填]; n:integer [规范未列必填]; stream:boolean [规范未列必填]; stop:union [规范未列必填]; suffix:string [规范未列必填]; echo:boolean [规范未列必填]

返回200 成功创建响应;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; object:string [规范未列必填]; created:integer [规范未列必填]; model:string [规范未列必填]; choices:array [规范未列必填]; choices[].text:string [规范未列必填]; choices[].index:integer [规范未列必填]; choices[].finish_reason:string [规范未列必填]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.completion_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]; usage.prompt_tokens_details:object [规范未列必填]; usage.prompt_tokens_details.cached_tokens:integer [规范未列必填]; usage.prompt_tokens_details.text_tokens:integer [规范未列必填]; usage.prompt_tokens_details.audio_tokens:integer [规范未列必填]; usage.prompt_tokens_details.image_tokens:integer [规范未列必填]; usage.completion_tokens_details:object [规范未列必填]; usage.completion_tokens_details.text_tokens:integer [规范未列必填]; usage.completion_tokens_details.audio_tokens:integer [规范未列必填]; usage.completion_tokens_details.reasoning_tokens:integer [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:95controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/completions

EDGE-MODEL-004 · POST /v1/embeddings

用途与归属:创建文本嵌入。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; input:union [规范声明必填]; encoding_format:string [规范未列必填] enum=["float", "base64"], default="float"; dimensions:integer [规范未列必填]

返回200 成功创建嵌入;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:object:string [规范未列必填]; data:array [规范未列必填]; data[].object:string [规范未列必填]; data[].index:integer [规范未列必填]; data[].embedding:array [规范未列必填]; model:string [规范未列必填]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:124controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/embeddings

EDGE-MODEL-005 · POST /v1/engines/:model/embeddings

用途与归属:Gemini 嵌入(Embeddings)。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Path:model(必填;以实际路由名为准)。OpenAPI 参数:path.model:string(必填)。Body 字段(application/json):model:string [规范声明必填]; input:union [规范声明必填]; encoding_format:string [规范未列必填] enum=["float", "base64"], default="float"; dimensions:integer [规范未列必填]

返回200 成功创建嵌入;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:object:string [规范未列必填]; data:array [规范未列必填]; data[].object:string [规范未列必填]; data[].index:integer [规范未列必填]; data[].embedding:array [规范未列必填]; model:string [规范未列必填]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:145controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/engines/{model}/embeddings

EDGE-MODEL-006 · POST /v1/messages

用途与归属:Claude 聊天。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:OpenAPI 参数:header.anthropic-version:string(必填); header.x-api-key:string。Body 字段(application/json):model:string [规范声明必填]; messages:array [规范声明必填]; messages[].role:string [规范声明必填] enum=["user", "assistant"]; messages[].content:union [规范声明必填]; system:union [规范未列必填]; cache_control:object [规范未列必填]; inference_geo:string [规范未列必填]; max_tokens:integer [规范声明必填] minimum=1; temperature:number [规范未列必填] minimum=0, maximum=1; top_p:number [规范未列必填]; top_k:integer [规范未列必填]; stream:boolean [规范未列必填]; stop_sequences:array [规范未列必填]; tools:array [规范未列必填]; tools[].name:string [规范未列必填]; tools[].description:string [规范未列必填]; tools[].input_schema:object [规范未列必填]; tool_choice:union [规范未列必填]; thinking:object [规范未列必填]; thinking.type:string [规范未列必填] enum=["enabled", "disabled"]; thinking.budget_tokens:integer [规范未列必填]; context_management:object [规范未列必填]; output_config:object [规范未列必填]; output_format:object [规范未列必填]; container:union [规范未列必填]; mcp_servers:array [规范未列必填]; metadata:object [规范未列必填]; metadata.user_id:string [规范未列必填]; speed:string [规范未列必填] enum=["standard", "fast"]; service_tier:string [规范未列必填] enum=["auto", "standard_only"]

返回200 成功创建响应;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; type:string [规范未列必填]; role:string [规范未列必填]; content:array [规范未列必填]; content[].type:string [规范未列必填]; content[].text:string [规范未列必填]; model:string [规范未列必填]; stop_reason:string [规范未列必填] enum=["end_turn", "max_tokens", "stop_sequence", "tool_use"]; usage:object [规范未列必填]; usage.input_tokens:integer [规范未列必填]; usage.output_tokens:integer [规范未列必填]; usage.cache_creation_input_tokens:integer [规范未列必填]; usage.cache_read_input_tokens:integer [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:90controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/messages

EDGE-MODEL-007 · GET /v1/models

用途与归属:获取模型列表。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:OpenAPI 参数:query.key:string; header.x-api-key:string; header.anthropic-version:string; header.x-goog-api-key:string。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回200 成功获取模型列表;内容类型 application/json;401 认证失败;内容类型 application/json;代码 JSON/映射中观察到 data, first_id, has_more, last_id, message, models, nextPageToken, object, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:object:string [规范未列必填]; data:array [规范未列必填]; data[].id:string [规范未列必填]; data[].object:string [规范未列必填]; data[].created:integer [规范未列必填]; data[].owned_by:string [规范未列必填];401 application/json 字段:error:object [规范未列必填]; error.message:string [规范未列必填]; error.type:string [规范未列必填]; error.param:string [规范未列必填]; error.code:string [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:23controller.ListModels controller/model.go:218controller.ListModels controller/model.go:218controller.ListModels controller/model.go:218;上游 relay.jsonGET /v1/models

EDGE-MODEL-008 · POST /v1/models/*path

用途与归属:Relay。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Path:path(必填;以实际路由名为准)。Body/表单由下方处理器定义;上游未提供完整 Schema,本项要求迁入时补出字段白名单、必填、类型、默认和限制,缺失不作为“任意 JSON”开放。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源router/relay-router.go:148controller.Relay controller/relay.go:73

EDGE-MODEL-009 · GET /v1/models/:model

用途与归属:RetrieveModel / RetrieveModel。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Path:model(必填;以实际路由名为准)。处理器读取:path.model。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;代码 JSON/映射中观察到 error(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源router/relay-router.go:34controller.RetrieveModel controller/model.go:348controller.RetrieveModel controller/model.go:348

EDGE-MODEL-010 · POST /v1/moderations

用途与归属:内容审核。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):input:union [规范声明必填]; model:string [规范未列必填]

返回200 成功审核;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; model:string [规范未列必填]; results:array [规范未列必填]; results[].flagged:boolean [规范未列必填]; results[].categories:object [规范未列必填]; results[].category_scores:object [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:153controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/moderations

EDGE-MODEL-011 · GET /v1/realtime

用途与归属:实时 WebSocket 连接。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:OpenAPI 参数:query.model:string。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回101 WebSocket 协议切换(上游未声明响应 Schema);400 请求错误;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);400 application/json 字段:error:object [规范未列必填]; error.message:string [规范未列必填]; error.type:string [规范未列必填]; error.param:string [规范未列必填]; error.code:string [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:78controller.Relay controller/relay.go:73;上游 relay.jsonGET /v1/realtime

EDGE-MODEL-012 · POST /v1/rerank

用途与归属:文档重排序。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; query:string [规范声明必填]; documents:array [规范声明必填]; top_n:integer [规范未列必填]; return_documents:boolean [规范未列必填] default=false

返回200 成功重排序;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; results:array [规范未列必填]; results[].index:integer [规范未列必填]; results[].relevance_score:number [规范未列必填]; results[].document:object [规范未列必填]; meta:object [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:140controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/rerank

EDGE-MODEL-013 · POST /v1/responses

用途与归属:创建响应 (OpenAI Responses API)。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; input:union [规范未列必填]; instructions:string [规范未列必填]; max_output_tokens:integer [规范未列必填]; temperature:number [规范未列必填]; top_p:number [规范未列必填]; stream:boolean [规范未列必填]; tools:array [规范未列必填]; tool_choice:union [规范未列必填]; reasoning:object [规范未列必填]; reasoning.effort:string [规范未列必填] enum=["low", "medium", "high"]; reasoning.summary:string [规范未列必填]; previous_response_id:string [规范未列必填]; truncation:string [规范未列必填] enum=["auto", "disabled"]

返回200 成功创建响应;内容类型 application/json;代码 JSON/映射中观察到 code, error, message, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; object:string [规范未列必填]; created_at:integer [规范未列必填]; status:string [规范未列必填] enum=["completed", "failed", "in_progress", "incomplete"]; model:string [规范未列必填]; output:array [规范未列必填]; output[].type:string [规范未列必填]; output[].id:string [规范未列必填]; output[].status:string [规范未列必填]; output[].role:string [规范未列必填]; output[].content:array [规范未列必填]; output[].content[].type:string [规范未列必填]; output[].content[].text:string [规范未列必填]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.completion_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]; usage.prompt_tokens_details:object [规范未列必填]; usage.prompt_tokens_details.cached_tokens:integer [规范未列必填]; usage.prompt_tokens_details.text_tokens:integer [规范未列必填]; usage.prompt_tokens_details.audio_tokens:integer [规范未列必填]; usage.prompt_tokens_details.image_tokens:integer [规范未列必填]; usage.completion_tokens_details:object [规范未列必填]; usage.completion_tokens_details.text_tokens:integer [规范未列必填]; usage.completion_tokens_details.audio_tokens:integer [规范未列必填]; usage.completion_tokens_details.reasoning_tokens:integer [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源pkg/jsplugin/routing.go:83controller.RelayTaskPluginEndpoint controller/relay.go:508controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/responses

EDGE-MODEL-014 · GET /v1/responses/:response_id

用途与归属:RetrieveTaskPluginResponse。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Path:response_id(必填;以实际路由名为准)。自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源pkg/jsplugin/routing.go:84controller.RetrieveTaskPluginResponse controller/plugin_protocol.go:925

EDGE-MODEL-015 · POST /v1/responses/compact

用途与归属:压缩对话 (OpenAI Responses API)。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Body 字段(application/json):model:string [规范声明必填]; input:union [规范未列必填]; instructions:string [规范未列必填]; previous_response_id:string [规范未列必填]

返回200 成功压缩对话;内容类型 application/json;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:id:string [规范未列必填]; object:string [规范未列必填]; created_at:integer [规范未列必填]; output:array [规范未列必填]; usage:object [规范未列必填]; usage.prompt_tokens:integer [规范未列必填]; usage.completion_tokens:integer [规范未列必填]; usage.total_tokens:integer [规范未列必填]; usage.prompt_tokens_details:object [规范未列必填]; usage.prompt_tokens_details.cached_tokens:integer [规范未列必填]; usage.prompt_tokens_details.text_tokens:integer [规范未列必填]; usage.prompt_tokens_details.audio_tokens:integer [规范未列必填]; usage.prompt_tokens_details.image_tokens:integer [规范未列必填]; usage.completion_tokens_details:object [规范未列必填]; usage.completion_tokens_details.text_tokens:integer [规范未列必填]; usage.completion_tokens_details.audio_tokens:integer [规范未列必填]; usage.completion_tokens_details.reasoning_tokens:integer [规范未列必填]; error:object [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:103controller.Relay controller/relay.go:73;上游 relay.jsonPOST /v1/responses/compact

EDGE-MODEL-016 · GET /v1beta/models

用途与归属:Gemini 格式获取。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回200 成功获取模型列表;内容类型 application/json;代码 JSON/映射中观察到 data, first_id, has_more, last_id, message, models, nextPageToken, object, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约);200 application/json 字段:models:array [规范未列必填]; models[].name:string [规范未列必填]; models[].version:string [规范未列必填]; models[].displayName:string [规范未列必填]; models[].description:string [规范未列必填]; models[].inputTokenLimit:integer [规范未列必填]; models[].outputTokenLimit:integer [规范未列必填]; models[].supportedGenerationMethods:array [规范未列必填]

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

来源router/relay-router.go:48controller.ListModels controller/model.go:218;上游 relay.jsonGET /v1beta/models

EDGE-MODEL-017 · POST /v1beta/models/*path

用途与归属:Relay。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:Path:path(必填;以实际路由名为准)。Body/表单由下方处理器定义;上游未提供完整 Schema,本项要求迁入时补出字段白名单、必填、类型、默认和限制,缺失不作为“任意 JSON”开放。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;代码 JSON/映射中观察到 error, type(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:已有幂等语义沿用;没有时不能宣称自动去重。Core 操作 ID 绑定账户与请求摘要;结果不明先查询/核对,供应侧重试归网关。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源router/relay-router.go:191controller.Relay controller/relay.go:73

EDGE-MODEL-018 · GET /v1beta/openai/models

用途与归属:ListModels。优先沿用,迁入/适配后验收。

鉴权:模型 API Key(协议 Header 与兼容形式沿用)。

请求:自动提取未发现请求体字段;是否接受 Body 及约束仍以处理器为准。

返回:上游 OpenAPI 无本项响应规范;按处理器返回值补齐成功、拒绝和错误结构;代码 JSON/映射中观察到 data, first_id, has_more, last_id, message, models, nextPageToken, object, success(仅为字面键观察,含分支/内部映射,不等同完整响应契约)。

业务与副作用:沿用模型协议及流式事件;Core 授权/价格/预留后才执行,Edge 使用内部凭据访问网关。模型权限和预算不因移除渠道选择而丢失;不得重写未知合法模型参数或强制所有响应返回 202。

幂等、重试与异常:读取可有界重试,不新建调用或扣款;结果为空、权限失败与查询未知分开。 保留原 HTTP 状态、业务 success/message 或模型 error 包络,不将所有失败改成同一状态。区分参数、身份、权限、余额、限流、上游与执行未知;敏感栈和供应凭据不返回客户。

验收需求:成功与空态;缺失/非法字段;未登录/跨账户/无权限;限流;资源不存在;重试与状态冲突;数据库提交后响应丢失(写操作);返回字段与既有协议兼容。

迁入差异:OPENAPI-MISSING:源码已注册,上游 OpenAPI 无匹配操作。

来源router/relay-router.go:57controller.ListModels controller/model.go:218

On this page