Skip to content

Releases: PriceNing/LLM-AIO-Gateway

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 09 Sep 13:52

更新内容

  • 新增流式性能指标:请求日志记录首字延迟(TTFT)与流式生成耗时,便于观察上游响应性能。
  • 增强图像意图检测:剥离 Codex 的 XML 信封(<environment_context><thread_title> 等),正确识别真实用户图像意图;修复复数形式(posters/images/avatars)匹配失败的问题。
  • Responses 系统轮识别:将 thread_title 轮次识别为系统轮,避免标题生成等元请求误触发图像桥接。
  • 管理界面中文本地化:将 Fallback 策略、Dry Run、API Key 等界面文案统一为中文。

Changes

  • Added streaming performance metrics: request logs now record time-to-first-token (TTFT) and streaming generation duration for upstream performance visibility.
  • Improved image-intent detection: strips Codex XML envelopes (<environment_context>, <thread_title>, etc.) to correctly identify real user image intent; fixed plural forms (posters/images/avatars) failing to match.
  • Responses system-turn recognition: treats thread_title turns as system turns so title-generation and other meta requests no longer trigger the image bridge.
  • Admin UI Chinese localization: unified UI copy (Fallback policies, Dry Run, API Key, etc.) into Chinese.

验证 / Verification

  • Full test suite: python -m pytest tests/ -q, 764 passed.

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 14:54

更新内容

  • 加固 Responses 原生探测:更稳健地判断上游是否支持原生 Responses API,避免误判导致不必要的降级或请求失败。
  • 完善 Responses 请求的 fallback 处理:原生 Responses 调用失败时,更可靠地回退到 OpenAI Chat 路径。
  • 修复工具历史(tool-history)相关错误:处理 Responses 请求中工具调用历史的序列化/回放异常,减少 4xx 失败。
  • 同步 README 与使用说明书:补充 0.10.0 特性、配置选项与完整端点清单。

Changes

  • Hardened the native Responses capability probe so upstream support is detected more reliably, avoiding misclassification that caused unnecessary fallback or failures.
  • Improved fallback handling for Responses requests: native Responses failures now fall back to the OpenAI Chat path more reliably.
  • Fixed tool-history related errors: handles serialization/replay anomalies in Responses tool-call history, reducing 4xx failures.
  • Synced README and usage docs with 0.10.0 features, config options, and the full endpoint inventory.

验证 / Verification

  • Full test suite: python -m pytest tests/ -q, 753 passed.

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 09:41

更新内容

  • 新增入站请求体大小限制(默认 32 MiB,可配置),防止超大 JSON body 耗尽网关内存。
  • 新增上游连接池复用:Anthropic 与原生 Responses 直连上游复用 TCP/TLS 连接,降低固定延迟;引用计数保证在飞的流式响应不会被提前关闭。
  • 新增上游地址校验(SSRF 防护):拒绝 file://gopher:// 等非 http(s) 协议、云元数据端点与保留地址;私网地址默认放行以兼容自建推理服务(llama.cpp / vLLM / Ollama)。
  • Codex 兼容图像生成(/responses/images/generations),支持批量执行、幂等重试、压缩预览与图像统计。
  • 可配置请求日志 payload 捕获与结构化密钥脱敏。
  • 管理员登录尝试限流,以及图像结果下载的网络/大小防护。
  • 生产环境启动默认禁用 Uvicorn reload(除非显式启用)。
  • Provider 模型发现遵循分页模型列表后再替换已存储模型。

Changes

  • Request body size limit (default 32 MiB, configurable) to prevent oversized JSON bodies from exhausting gateway memory.
  • Shared upstream connection pool: Anthropic and native Responses adapters reuse TCP/TLS connections to direct upstreams, reducing fixed latency; reference counting ensures in-flight streaming responses are never closed early.
  • Upstream URL validation (SSRF guard): rejects non-http(s) schemes (file://, gopher://), cloud metadata endpoints, and reserved addresses; private addresses allowed by default for self-hosted inference (llama.cpp / vLLM / Ollama).
  • Codex-compatible image generation via /responses and /images/generations, with batch execution, idempotent retries, compressed previews, and image statistics.
  • Configurable request-log payload capture and structured secret redaction.
  • Admin login attempt throttling, and network/size safeguards for image-result downloads.
  • Production startup now disables Uvicorn reload unless explicitly enabled.
  • Provider model discovery follows paginated model lists before replacing stored models.

验证 / Verification

  • Full test suite: python -m pytest tests/ -q, 745 passed.

v0.9.12

Choose a tag to compare

@github-actions github-actions released this 07 Sep 03:28

更新内容 / Updates

  • 新增思考参数透传与请求日志展示,支持 reasoning_effortchat_template_kwargsenable_thinking

  • Added thinking-parameter passthrough and request-log display for reasoning_effort, chat_template_kwargs, and enable_thinking.

  • 请求日志新增输出 Tokens、TPS、总耗时和生成耗时指标。

  • Added completion-token, TPS, total-duration, and generation-duration metrics to request logs.

  • 优化流式请求性能统计,并兼容 Responses API 的嵌套 reasoning 配置。

  • Improved streaming performance metrics and Responses API nested reasoning configuration compatibility.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • GitHub Actions tests and packaging completed successfully.
  • Windows、Linux 和 macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.11

Choose a tag to compare

@github-actions github-actions released this 30 Aug 09:20

更新内容 / Updates

  • 将提供商选项与上游 HTTP Headers 拆开,旧的 extra_headers 会自动迁移。

  • Split provider options from upstream HTTP headers, with automatic migration from legacy extra_headers.

  • 历史工具调用缺少 reasoning 时自动关闭 thinking,避免 DeepSeek 等后端拒绝续写。

  • Disabled thinking when historical tool calls lack reasoning content, so backends such as DeepSeek can continue the tool loop.

  • Codex 的 ambient / system 后台轮次不再进入生图桥接。

  • Kept Codex ambient and system background turns out of the image-generation bridge.

  • Responses 能力为 unknown 时遵守短暂退避,不再立刻重复探测。

  • Honored the transient backoff for unknown Responses capability instead of probing again immediately.

  • previous_response_id 会阻止跨提供商 fallback;普通 function_call_output 仍可回退。

  • Blocked cross-provider fallback only for previous_response_id; ordinary function_call_output can still fall back.

  • 模型测试失败时展示上游 HTTP 状态、响应和调用栈,便于排查 WAF / 协议错误。

  • Surfaced upstream HTTP status, response body, and traceback in model-test failures for WAF and protocol diagnosis.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Full test suite: 658 passed.
  • GitHub Actions packaging, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.10

Choose a tag to compare

@github-actions github-actions released this 27 Aug 14:59

更新内容 / Updates

  • 将 Responses 工具 schema 规范为 Chat Completions 可接受的 object 根,补齐空 required,并合并根级 anyOf/oneOf。

  • Normalized Responses tool schemas for Chat Completions by forcing an object root, adding an empty required list, and flattening root anyOf/oneOf unions.

  • 历史工具参数若不是合法 JSON 对象,会包装后再发给 llama.cpp,避免上游拒绝。

  • Wrapped invalid historical tool arguments as JSON objects before sending them to llama.cpp.

  • 流式回复若只有 ... 占位内容,会在发给客户端前重试,并丢弃后续真实输出前的占位前缀。

  • Retried placeholder-only stream completions such as ... before they reach the client, and dropped placeholder prefixes when real output followed.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Full test suite: 650 passed.
  • GitHub Actions packaging, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.9

Choose a tag to compare

@github-actions github-actions released this 25 Aug 07:20

更新内容 / Updates

  • 保留 Anthropic thinking / redacted_thinking 签名,并按官方协议发送 budget_tokens

  • Preserved Anthropic thinking and redacted_thinking signatures, and sent budget_tokens per the official protocol.

  • 不再把 reasoning 复制到可见文本,避免思考内容被当成最终回复。

  • Stopped copying reasoning into visible text so thinking content is no longer treated as the final answer.

  • 仅在明确 forced tool_choice 时关闭 thinking,工具存在不再一律禁用。

  • Disabled thinking only for an explicit forced tool_choice, not merely because tools are present.

  • 普通 400 不再被缓存为 Responses unsupported,避免一次校验错误长时间关掉原生 Responses。

  • Stopped caching generic 400 errors as unsupported Responses capability so a request-level validation error cannot disable native Responses.

  • HTTP 管理页复制失败时回退到 textarea,修复非安全上下文复制。

  • Fell back to a textarea copy path when the HTTP admin page cannot use the clipboard API.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Full test suite: 642 passed.
  • GitHub Actions packaging, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.8

Choose a tag to compare

@github-actions github-actions released this 24 Aug 16:14

更新内容 / Updates

  • 提供商新增“强制 Chat Completions”选项,可跳过 Responses 探测,适配 llama.cpp / Qwen 等本地后端。

  • Added a provider option to force Chat Completions and skip Responses capability detection for llama.cpp / Qwen backends.

  • 将多条 system / developer 指令合并为一条前置 system,避免 Chat 模板因后置或多条 system 报错。

  • Collapsed late and duplicate system / developer instructions into a single leading system message for Chat templates.

  • 修复 force_chat_completions 更新时未按 0/1 入库的问题。

  • Persisted force_chat_completions as an integer so the provider setting survives updates.

  • 生图日志改为记录真实后端身份,并把 planner fallback 与 image fallback 分开,避免误标 degraded。

  • Logged the real image backend identity and split planner fallback from image fallback so recovered planners are not marked as image degradation.

  • 管理页请求详情补充生图后端、回退和批次统计的中英文字段。

  • Added bilingual image-backend, fallback, and batch-count fields to request detail views.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Full test suite: 632 passed.
  • GitHub Actions packaging, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.7

Choose a tag to compare

@github-actions github-actions released this 24 Aug 01:43

更新内容 / Updates

  • 修复 Responses 能力探测对普通模型不存在 404 的误判,避免错误写入 unsupported 能力缓存。

  • Fixed false negative Responses capability caching for ordinary model-not-found 404 responses.

  • 修复任意 validation 422 被误判为 Responses 协议不支持的问题。

  • Fixed arbitrary validation 422 errors being incorrectly treated as Responses protocol incompatibility.

  • 收窄 Responses fallback 和能力缓存更新条件,仅在明确协议/端点不支持时记录 unsupported。

  • Narrowed Responses fallback and capability-cache updates so unsupported is recorded only for explicit protocol/endpoint incompatibility.

  • 增加相关回归测试,覆盖模型不存在、任意验证错误和协议不支持场景。

  • Added regression tests covering model-not-found errors, arbitrary validation errors, and explicit protocol incompatibility.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Focused Responses tests: 33 passed.
  • Full test suite: 624 passed.
  • GitHub Actions packaging, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker

docker pull ghcr.io/pricening/llm-aio-gateway:latest

v0.9.6

Choose a tag to compare

@github-actions github-actions released this 14 Aug 15:08

更新内容 / Updates

  • 修复图像生成流式响应中的状态和元数据处理问题,提升生图请求日志与统计的准确性。

  • Fixed state and metadata handling for image-generation streaming responses, improving request-log and statistics accuracy.

  • 改进生图桥接请求在 fallback 场景下的目标模型、提供商和尝试记录。

  • Improved final model, provider, and attempt tracking for image-bridge requests that use fallback.

  • 优化生图意图识别,减少普通 Responses 请求被误判为生图请求的情况。

  • Improved image-generation intent detection to reduce false positives for ordinary Responses requests.

  • 增加相关回归测试并修复若干小问题。

  • Added regression coverage and fixed several additional small issues.

验证 / Verification

  • JavaScript syntax: node --check app/web/static/app.js passed.
  • Full test suite: 618 passed.
  • GitHub Actions test, package, release, and GHCR jobs completed successfully.
  • Windows, Linux, and macOS ARM64 packages uploaded successfully.

Docker image:

docker pull ghcr.io/pricening/llm-aio-gateway:latest