Releases: OctaFuse/octafuse-gateway
Release list
Octafuse v1.5.0
What's changed
Minor Changes
-
9467578Thanks @dyc87112! - ### Proxy- 敏感内容熔断(
sensitive-content-circuit-breaker):检测到上游敏感内容拒绝时,按userId + baseModelId进程内短路 3 分钟,避免用户反复提交导致 Provider 封禁。 - Gemini 上游:兼容多种 Provider
baseUrl与鉴权方式(含 Vertex 非 query key);流式 query 参数修正(applyGeminiStreamQueryParams)。 - 错误告警:按错误类型与延迟分类;告警摘要拆分 model 行;usage 记录增加 model / provider 名称。
Admin API
- 预算转换:
POST /admin/users/:id/budget/transition/preview与.../transition,支持预览与原子应用(budget-transition-service)。
Admin UI
- Analytics:Model / Provider / User Usage 页面优化;Token 紧凑显示增加
K单位;统一TimeRange组件。 - Request Logs:拆分 model(请求 model)与 route(实际路由 provider + key)列。
- Model Routes:按协议 + 分组展示卡片;倍率显示、复制按钮与标签样式优化;新建/编辑 route 时 Provider 按 name 排序。
- Providers:列表按 name 升序;编辑页 API Key 维护优化(#35)。
- Alerts:告警展示改进。
模型与 Provider 预设
- 新增/更新:Doubao Seed 2.1 Pro/Turbo、Seed Evolving;Kimi K2.7 Code;glm-5.2 等静态数据与定价。
部署
- Docker migrate:Compose / entrypoint 支持 migrate 一次性 Job 自动执行(#27)。
- 敏感内容熔断(
Container images (GHCR)
Tag v1.5.0 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:edeeb7f78f42d34ee716f5f778fc26aa5f975bd62b9f27c7a74b58866ebd3026ghcr.io/octafuse/octafuse-gateway-proxy@sha256:edeeb7f78f42d34ee716f5f778fc26aa5f975bd62b9f27c7a74b58866ebd3026
- admin:
sha256:2927373b20c572d56d717fb0ce3a3ecd1b1e095c7b56ccc9f2124de61fd696d9ghcr.io/octafuse/octafuse-gateway-admin@sha256:2927373b20c572d56d717fb0ce3a3ecd1b1e095c7b56ccc9f2124de61fd696d9
- migrate:
sha256:e91482cf2b195da50ac8a36402fb9647d1b376479906e372577c2d69ceef94f6ghcr.io/octafuse/octafuse-gateway-migrate@sha256:e91482cf2b195da50ac8a36402fb9647d1b376479906e372577c2d69ceef94f6
Pull by digest for reproducible deploys, or by tag v1.5.0 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.4.0
What's changed
Minor Changes
-
Schema / 数据迁移
- Provider API Key 池:新增
provider_api_keys表,支持同一 Provider 配置多条上游密钥(label、status、weight、priority);迁移0004将历史providers.api_key迁入默认条目;0005移除providers.api_key列。 - 请求日志:
api_key_request_logs增加provider_key_id、provider_key_label、provider_key_fingerprint字段,便于追踪实际使用的上游密钥。
Proxy
- 密钥调度(
provider-key-scheduler):按priority降序分批 failover;同批内 weighted-random 选取;单实例内存 cooldown(默认 60s)跳过近期失败的 key。
Admin API
- Provider 密钥 CRUD:
provider_api_keys的列表、创建、更新、删除;reveal接口返回明文密钥(管理端鉴权)。 - 导入预设:文档与模板移除 API Key 占位符,改为部署后手动添加密钥的说明。
Admin UI
- Provider 密钥管理:掩码展示、一键复制、明文查看;Provider 页 Import 流程优化(#31)。
- Models:维护并展示 input/output modalities、released 日期;卡片增加 vendor 图标与悬停样式(#22)。
- Routes:支持 复制配置新建 route(#21);Route Config 去掉按 vendor 分组的卡片布局,增加 vendor logo 与悬浮效果(#25);筛选导航与卡片样式优化。
- Gateway / Routes:编辑区按钮布局调整(Duplicate 等操作更易达)。
模型与 Provider 预设
- 新增:Claude Fable 5、glm-5.2、gpt-5.4-mini 等静态数据。
- 更新:阿里云阶梯价调整;Anthropic / ByteDance / Xiaomi 展示名规范化;各 vendor modalities 与 release date 修正。
部署注意
- 须按顺序执行迁移
0004_provider_api_keys→0005_drop_providers_api_key(D1 / Postgres / MySQL 均已提供);先部署能读写provider_api_keys的代码再应用0005。
- Provider API Key 池:新增
Container images (GHCR)
Tag v1.4.0 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:e67fe01017038ecb7b9133c7be6618705b673a4f3bd24f636a108b3ac800755bghcr.io/octafuse/octafuse-gateway-proxy@sha256:e67fe01017038ecb7b9133c7be6618705b673a4f3bd24f636a108b3ac800755b
- admin:
sha256:4f21874f843ae1c0dc32f6a2d4652b240ce96ca3fd104cc8ef1f7d273741b6aeghcr.io/octafuse/octafuse-gateway-admin@sha256:4f21874f843ae1c0dc32f6a2d4652b240ce96ca3fd104cc8ef1f7d273741b6ae
- migrate:
sha256:dc6100f0ade73a54e362692e9443a381f45d9788aac7f1ee22ae6ba9e07787b4ghcr.io/octafuse/octafuse-gateway-migrate@sha256:dc6100f0ade73a54e362692e9443a381f45d9788aac7f1ee22ae6ba9e07787b4
Pull by digest for reproducible deploys, or by tag v1.4.0 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.3.0
What's changed
Minor Changes
-
#19
54b9c7dThanks @dyc87112! - ### Admin UI- 模型页:新增 vendor 侧边栏筛选;支持 metadata 摘要展示与详情预览模态框。
- 路由页:新增 vendor / provider 筛选导航;按 vendor、provider、status 分组与计数。
- Provider 页:移除未使用的操作项,界面更简洁。
Container images (GHCR)
Tag v1.3.0 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:ce7ee7334d4e8883c64e259e2b204a783479e58c408c477eb95e00f2fe041c61ghcr.io/octafuse/octafuse-gateway-proxy@sha256:ce7ee7334d4e8883c64e259e2b204a783479e58c408c477eb95e00f2fe041c61
- admin:
sha256:5107c083163899c5d88aac52e10640bbdc772a3d62f3e15980eb7f53272fa5a4ghcr.io/octafuse/octafuse-gateway-admin@sha256:5107c083163899c5d88aac52e10640bbdc772a3d62f3e15980eb7f53272fa5a4
- migrate:
sha256:379830a5ff0c8877ccfe80d9feb9c64417d7c91dc733ac084fe9a613e121414fghcr.io/octafuse/octafuse-gateway-migrate@sha256:379830a5ff0c8877ccfe80d9feb9c64417d7c91dc733ac084fe9a613e121414f
Pull by digest for reproducible deploys, or by tag v1.3.0 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.2.0
What's changed
Minor Changes
Proxy / 公开 API
- 新增
GET /catalog/models:无需 API Key 的运行时模型目录发现;按 active 路由聚合upstream_protocol,支持route_groupsCSV 过滤。 - 重构
GET /v1/models:抽取model-list-parse与public-models服务;model_info增加description,展示价由pricing_profile.tiers最低 input 档派生;移除supports_images字段。 - 上游错误处理:Chat / Messages / Gemini 路由统一使用
materializeNonOkResponse;请求日志error_message从上游 JSON 体提取更可读摘要。
Admin UI
- 模型 / Provider 页:「备注」统一为「描述」;Provider 列表拉取后排序。
- Provider 复制:新增复制按钮与
suggestDuplicateProviderId,模态框预填源 Provider 配置。 - 系统配置页:Master Key / Webhook 支持 Show/Hide;成功提示与错误处理优化。
模型与 Provider 预设
- 新增预设:Tencent(Hy3 preview)、MiniMax M3 等。
- 更新定价与参数:DeepSeek、Xiaomi、Anthropic、Google、Moonshot、OpenAI 等 context window / max_tokens / 阶梯价。
- 预设结构整理:合并 model preset 导入、精简
model-vendors.json标签、移除未使用的 vendor 文件。
Schema
- 从 models 相关 API 与 Drizzle/baseline 中移除
supports_images(仅 baseline 变更)。
文档与运维
- API 文档:区分公开
/catalog/models、用户/v1/models与 Admin/admin/models。 - README(中英文):本地开发、Docker / Cloudflare 部署与 API Key 配置说明增强。
- Zeabur:migrate 镜像明确为 一次性 Job;新增
zeabur-migrate-once.sh与docker/entrypoint.migrate.sh调整。
Container images (GHCR)
Tag v1.2.0 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:3e260ce7b0c3980e08d1aaa21b6b84fe56f4ef5de65588c5626623f8fdd3398eghcr.io/octafuse/octafuse-gateway-proxy@sha256:3e260ce7b0c3980e08d1aaa21b6b84fe56f4ef5de65588c5626623f8fdd3398e
- admin:
sha256:fe736a123ce2dcfc45984ca9f63e3091cd51b765076f5f15ba7b4b3ef4dc6d42ghcr.io/octafuse/octafuse-gateway-admin@sha256:fe736a123ce2dcfc45984ca9f63e3091cd51b765076f5f15ba7b4b3ef4dc6d42
- migrate:
sha256:9edb237b96febcce361d50f122490910f70ab2e41e966ae8374a3001cce57137ghcr.io/octafuse/octafuse-gateway-migrate@sha256:9edb237b96febcce361d50f122490910f70ab2e41e966ae8374a3001cce57137
Pull by digest for reproducible deploys, or by tag v1.2.0 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.1.0
What's changed
Minor Changes
-
32fbd64Thanks @dyc87112! - ### Proxy / 用户 APIGET /v1/models:支持按route_groups查询参数筛选;未传时默认仅返回default/free路由组(兼容 Agent 拉列表);响应model_info增加route_groups字段。GET /v1/me:新增resolveMeMetadata,优先返回users.metadata,Key metadata 作回退/补全。- 可观测性:Node 运行时记录未处理 rejection/异常;OpenAI/Anthropic/Gemini egress 在 writer 关闭时的非致命错误写日志。
Admin API(
/api/admin/*)GET /admin/users:列表支持sort/order(budget_spent、budget_max、budget_base、budget_reset_at、created_at),服务端校验白名单与 NULL 排序规则。GET /admin/keys:列表支持sort/order(budget_spent、budget_reset_at、created_at)。- 创建用户:识别外部系统 + 邮箱唯一约束冲突,返回明确错误(不再笼统 500)。
- 分析/统计:统一 API 与 DB 的日期范围处理(
shared.ts日期工具);补充 core 单测与npm run test入口。
Admin UI
- 重构 网关密钥 与 用户 列表/详情:预算周期与重置标签格式化、金额展示更稳健(
coerceMoneyAmount)、Key 状态色块、用户 metadata 摘要、列表点击排序等。 - Provider/Model 预设:新增 Ollama、OpenRouter、SiliconFlow、火山方舟 Agent Plan、百炼 Coding Plan、小米 MiMo Token Plan、Gemini 3.5 Flash 等;修正 DeepSeek/MiniMax base URL;vendor id 去掉
-official后缀以统一导入目录。
文档与运维
- README(中英文)大幅扩充:架构、快速开始、调试沙箱/客户端模拟器、相对 LiteLLM 等方案的优势说明。
- 文档:
octafuse-docs→octafuse-website链接;Proxy 转发失败可选 企业微信/飞书 Webhook 告警(ALERT_WEBHOOK_*,见 admin API 文档);Cloudflare 部署与 D1 database id 同步;.gitignore忽略data/。
Container images (GHCR)
Tag v1.1.0 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:29eefea456353a25dac2893b8a792ce92598ffef166e0f3e40fb708f35bb34c4ghcr.io/octafuse/octafuse-gateway-proxy@sha256:29eefea456353a25dac2893b8a792ce92598ffef166e0f3e40fb708f35bb34c4
- admin:
sha256:aed5537d3071f5dc06cc195e94e2796e3a0bec2eda2eeda8e7705c5907395796ghcr.io/octafuse/octafuse-gateway-admin@sha256:aed5537d3071f5dc06cc195e94e2796e3a0bec2eda2eeda8e7705c5907395796
- migrate:
sha256:b1a52a166988d0028ecfdce85e5c7b97067780a784d5c468bf39a988d88f44b9ghcr.io/octafuse/octafuse-gateway-migrate@sha256:b1a52a166988d0028ecfdce85e5c7b97067780a784d5c468bf39a988d88f44b9
Pull by digest for reproducible deploys, or by tag v1.1.0 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.0.2
What's changed
Patch Changes
a6b0107Thanks @dyc87112! - 1. 调整 dockerfile 的位置以适应一些 PaaS 的自动化部署流程 2. 优化 dockerfile 中的安全漏洞问题 3. 优化 docker example 文件
Container images (GHCR)
Tag v1.0.2 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:d2e18add22a6938eedd3dea2121ab9045138357cef3cef0a07f0ad6536d9b6d8ghcr.io/octafuse/octafuse-gateway-proxy@sha256:d2e18add22a6938eedd3dea2121ab9045138357cef3cef0a07f0ad6536d9b6d8
- admin:
sha256:236be21441db9e669e29a92416edb5323e2202370de78d746a0e3a229c4be19dghcr.io/octafuse/octafuse-gateway-admin@sha256:236be21441db9e669e29a92416edb5323e2202370de78d746a0e3a229c4be19d
- migrate:
sha256:983585810d54a1e28c107694628d5241110f07d784cf86e40f24fcfc310359cfghcr.io/octafuse/octafuse-gateway-migrate@sha256:983585810d54a1e28c107694628d5241110f07d784cf86e40f24fcfc310359cf
Pull by digest for reproducible deploys, or by tag v1.0.2 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v1.0.1
What's changed
Container images (GHCR)
Tag v1.0.1 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:1aab0329e974b20570681733217b6b9b4fde04ee5f4fba98e0dfd9b685dd7c73ghcr.io/octafuse/octafuse-gateway-proxy@sha256:1aab0329e974b20570681733217b6b9b4fde04ee5f4fba98e0dfd9b685dd7c73
- admin:
sha256:7e5265ad74a4ec2cefab8b495dcfc5fb6cb9f9699a0a50cc27e254062e4789d4ghcr.io/octafuse/octafuse-gateway-admin@sha256:7e5265ad74a4ec2cefab8b495dcfc5fb6cb9f9699a0a50cc27e254062e4789d4
- migrate:
sha256:9fb96e2070681cae194f3ca90fc6b6300b2300217891c45eb16309b9dffd26afghcr.io/octafuse/octafuse-gateway-migrate@sha256:9fb96e2070681cae194f3ca90fc6b6300b2300217891c45eb16309b9dffd26af
Pull by digest for reproducible deploys, or by tag v1.0.1 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md
Octafuse v0.2.2
What's changed
Patch Changes
- #10
cbcdbecThanks @dyc87112! - always create and push root vX.Y.Z afterchangeset tag(private workspace default skipsv*tags)
Container images (GHCR)
Tag v0.2.2 — multi-arch manifest digests (proxy / admin / migrate):
- proxy:
sha256:12360ce20941b451bde5350700c485e5a95b0795f9aa0eff856d2c9512a30b20ghcr.io/octafuse/octafuse-gateway-proxy@sha256:12360ce20941b451bde5350700c485e5a95b0795f9aa0eff856d2c9512a30b20
- admin:
sha256:37c81a032ffc22b809dc80c3d1ac33cbee2b5a18eb1678f70339248990d28bcdghcr.io/octafuse/octafuse-gateway-admin@sha256:37c81a032ffc22b809dc80c3d1ac33cbee2b5a18eb1678f70339248990d28bcd
- migrate:
sha256:7b4074bd24a42a0a4ae287d18ea1889ef05ab82dad7f70433bc26fba2474c791ghcr.io/octafuse/octafuse-gateway-migrate@sha256:7b4074bd24a42a0a4ae287d18ea1889ef05ab82dad7f70433bc26fba2474c791
Pull by digest for reproducible deploys, or by tag v0.2.2 after verifying digest.
Release process: .changeset/README.md · docs/ops/release-versioning.md