Ollama 兼容客户端
opencodex 支持 Ollama HTTP API 的一个子集,因此只能与 Ollama 通信的工具也可以使用你在 opencodex 中已配置的模型。请求会被转换到 Chat Completions 路径,并发送给所选提供商。opencodex 不会在你的机器上 下载、存储或运行模型。
将代理地址用作 Ollama 主机。默认本地安装如下:
export OLLAMA_HOST=http://127.0.0.1:10100curl "$OLLAMA_HOST/api/tags"当代理要求 API 密钥时(例如绑定到 0.0.0.0),按与 /v1/chat/completions 相同的方式发送,
例如 Authorization: Bearer <opencodex key>。带有模型范围的密钥只能看到并使用被允许的模型。这些端点只在主监听器上
提供;无认证的回环监听器、Remote Link 和 hub 管理入口都不会暴露它们。
| 端点 | 行为 |
|---|---|
GET /api/version |
opencodex 版本。 |
GET /api/tags |
以 provider/model 名称列出已配置的提供商模型。 |
POST /api/show |
{ "model": "provider/model" } 只返回已知信息;不包含文件大小、摘要、模板或许可证。 |
POST /api/chat |
使用 system、user、assistant 和 tool 消息进行对话。 |
POST /api/generate |
单个提示词,可选 system。 |
其他所有 /api/* 路径仍属于 opencodex 管理 API。
支持的请求字段
Section titled “支持的请求字段”model:/api/tags中的名称。stream:默认为true(按行分隔的 JSON)。设为false可得到单个 JSON 响应。images:用户消息(chat)或请求(generate)中的 base64 PNG、JPEG、GIF 或 WebP。tools(仅 chat):函数工具。请原样回传 assistant 消息,包括每个调用的id;tool结果按tool_call_id匹配,没有时按tool_name匹配。options:temperature、top_p、num_predict和stop。format:仅支持"json"。
其他内容会以 HTTP 400 拒绝,而不是被忽略,包括 think、keep_alive、suffix、raw、
template、context、其他 options、JSON Schema 形式的 format 以及图片 URL。不提供 Ollama 的模型管理和
嵌入端点。
组合、路由策略、--fast 或 effort 别名,以及会转发调用方自身凭据的提供商,不能在这里选择。
这类请求会在向上游发送任何内容之前失败。
完成的回复带有 done: true,done_reason 为 stop、tool_calls 或 length。
提供商报告用量时才会出现 prompt_eval_count 和 eval_count;不报告耗时字段。流式响应会在上游回复完全结束后
恰好发送一行 done: true。
错误使用 Ollama 格式 { "error": "message" } 并保留 HTTP 状态,速率限制和繁忙拒绝时也会带上
Retry-After。因内容过滤或未知原因停止的回复会作为错误返回,而不会当作正常停止。如果流在开始后失败,最后一行是
error 对象,之后不会有 done: true 行。
这些请求会像其他流量一样出现在仪表板的请求日志中,响应头 x-opencodex-request-id 指向对应的记录。

