• v0.8.3 23b2820101

    v0.8.3
    CI / test (push) Successful in 22s
    Release / release (push) Successful in 44s
    Stable

    wangdefa released this 2026-07-30 12:44:14 +08:00 | 0 commits to main since this release

    Added

    • 新增通行密钥(Passkey / WebAuthn)注册、管理与免用户名登录,要求验证器完成用户验证;新增 Web3 钱包绑定与 EIP-4361 签名登录,支持浏览器注入的 EOA 钱包
    • 新增活跃会话管理:按登录方式、客户端 IP、User-Agent 与最近活跃时间查看当前账号会话,可定点撤销其他会话;敏感变更换发令牌时接续原会话,升级前签发的存量令牌保持兼容

    Changed

    • 租户 API Key 激活接口支持切换到租户内其他 IAM 用户,验证新密钥可用后同步更新面板签名用户与凭据
    • 禁用密码登录时将通行密钥计入可用免密方式,并阻止删除最后一种可用登录方式,避免账号自锁

    Fixed

    • 同一实例的终止与电源操作增加飞行期互斥,重复请求稳定返回 409,避免并发执行相互冲突的生命周期操作
    Downloads
  • v0.8.2 f1914880ac

    v0.8.2
    CI / test (push) Successful in 21s
    Release / release (push) Successful in 54s
    Stable

    wangdefa released this 2026-07-22 22:15:23 +08:00 | 2 commits to main since this release

    Added

    • 租户 IAM 用户新增 API Key 管理:支持列出密钥并标注当前签名凭据、提供 OCI CLI 配置模板、由服务端生成 RSA-2048 密钥对并上传公钥(私钥仅在创建响应中返回),以及按指纹删除单把密钥;新密钥可在验证 OCI 可用后启用为面板签名凭据并加密保存,旧密钥保留,当前在用密钥禁止直接删除

    Changed

    • 升级 OCI Go SDK 至 v65.121.1
    Downloads
  • v0.8.1 8894330eba

    v0.8.1
    CI / test (push) Successful in 21s
    Release / release (push) Successful in 42s
    Stable

    wangdefa released this 2026-07-22 17:10:58 +08:00 | 4 commits to main since this release

    Added

    • 身份提供商管理新增图标上传与删除:支持 PNG / JPEG / GIF / SVG / WebP / ICO,限制 1 MB,并校验扩展名与文件内容;图片存入身份域公共存储,返回可用于 iconUrl 的地址及后续清理所需的 fileName

    Changed

    • 安全设置与 OAuth Provider 配置接口由全量 PUT 改为字段级 PATCH,仅更新请求中出现的字段,避免并发编辑时回滚其他设置;密钥字段仍支持缺省沿用、空串清除
    • 对象存储桶级 PAR 新增只读 AnyObjectRead 与只写 AnyObjectWrite,有效期上限由 30 天放宽到 100 年;仅含读取能力的桶级链接开放对象列举,非法类型或有效期稳定返回 400

    Fixed

    • 修复总览将不同币种成本直接相加;响应新增按币种拆分的 series,顶层字段保持主币种兼容口径
    • 修复抢机任务编辑把剩余台数误当目标台数、丢失已完成进度或鉴权失败计数;任务更新增加乐观并发保护,状态已变化时返回 409 而不覆盖执行结果
    • 修复对象内容保存实际受统一 1 MB 请求体限制、无法达到声明的 5 MB 上限;非空桶后台删除现会中止未完成分片上传,并合并同桶重复清空请求
    • 修复 SAML IdP 创建与启用边界:域要求主邮箱时自动补邮箱映射,JIT 后置配置失败会尝试回滚并在无法确认时返回 setupWarning,首次 IdP 可正确加入默认登录策略,免 MFA 规则补齐 OCI consent 字段
    • 修复 AI 网关超大非流式响应被截断后仍按成功返回、内容日志关闭后在途请求仍写入正文,以及大量 AI 日志清理 / 租户删除可能触发数据库参数上限

    Security

    • 日志回传 Topic / Policy / Connector 改为按租户派生的中性名称并移除品牌描述,降低跨租户固定指纹;旧命名资源仍可识别复用
    • 租户导入在首次 OCI 请求前即校验并应用指定代理,SAML 元数据下载同样复用租户代理且非法配置失败关闭;禁用密码登录与解绑外部身份改为事务串行校验,防止并发操作导致账号失去全部登录方式
    Downloads
  • v0.8.0 0614ef22af

    v0.8.0
    CI / test (push) Successful in 22s
    Release / release (push) Successful in 51s
    Stable

    wangdefa released this 2026-07-21 19:43:02 +08:00 | 6 commits to main since this release

    Added

    • 新增对象存储管理:支持按区域 / 区间创建存储桶(可选可见性、存储层和版本控制),后续可更新可见性 / 版本控制;对象支持按虚拟目录分页浏览、删除、重命名、查看元数据和取回 Archive,非空桶可转后台清空全部对象版本与 PAR 后删除
    • 新增对象内容中转接口:小文件预览与编辑不再签发 PAR,读取上限 20 MB、写入上限 5 MB,保存支持 If-Match 并发保护;上传、下载和分享继续使用 PAR 直连
    • 新增对象存储 PAR 管理:支持对象级只读 / 只写 / 读写链接和桶级读写(AnyObjectReadWrite)链接、自定义有效期、游标分页、单条 / 全部删除;桶级链接允许列举对象
    • 新增账单管理(OSP Gateway,仅主区域):按自然年查询发票、查看费用明细、下载 PDF、查看付款方式,并可使用默认付款方式提交在线支付
    • 新增保留公网 IP 管理:支持按区间列出、创建、绑定 / 解绑和删除;创建实例或附加 VNIC 时可在资源就绪后自动绑定,并新增指定 VNIC 更换临时公网 IP

    Changed

    • 成本 / 用量查询新增 HOURLY 粒度和双维度分组(如 service,skuName),响应通过 subValue 返回第二维,支持「今天」小时视图与服务下的 SKU 明细
    • 主网卡或次要 VNIC 更换公网 IP 时,如原地址为保留 IP,改为自动解绑并保留该地址,再分配新的临时 IP(此前会拒绝操作)
    • 对象存储 namespace 与代理出站客户端改为进程内复用,对象版本 / PAR 清理由固定并发执行,显著降低大量对象或分享链接场景下的删桶耗时与连接开销

    Fixed

    • 修复 HOURLY 成本查询因 OCI Usage API 将起点下扩到 UTC 当日而夹带窗口外数据;服务端现严格按 [startTime, endTime) 过滤返回行
    • 修复 VCN 级联删除遗漏网络安全组(NSG),导致其他资源已清理后仍因关联关系返回 409
    • 修复区间缓存未保存 / 返回 parentId,导致多层区间在前端被平铺;旧缓存检测到层级缺失时会自动实时刷新并回写
    Downloads
  • v0.7.3 9cfde8b702

    v0.7.3
    CI / test (push) Successful in 20s
    Release / release (push) Successful in 58s
    Stable

    wangdefa released this 2026-07-17 17:09:06 +08:00 | 9 commits to main since this release

    Changed

    • LaunchInstance 移出回传关键事件清单(Connector 过滤条件与「云端事件」告警白名单共用):创建以面板自身(手动 / 抢机反复尝试)发起为主,回传即噪声(高频抢机可在一两天内刷掉 2 万条存量上限);终止与电源操作等外部风险信号保留。链路幂等创建新增过滤条件对账,存量链路在租户详情点「一键创建」即原地更新条件,无需拆除重建
    • 实例规格清单(ListShapes)透传 OCI quotaNames(与 compute limits 配额名同名),供前端数据驱动配额与可用域可用性判定

    Fixed

    • 修复「云端事件」实例生命周期通知从未生效:Audit v2 计算类事件类型带 .begin / .end 阶段后缀(如 …ComputeApi.LaunchInstance.end),事件短名取末段得到 begin / end,不在关键事件集合内而被跳过。现剥离阶段后缀判定,成对事件只推 .begin(携带操作者 / IP / 成败;.end 无操作者且信息重复);X failed with response 'Err' 形态消息判为失败并提取引号内错误码作告警补充说明;告警资源名在 resourceName 缺失时回退外层 source(实例名)
    Downloads
  • v0.7.2 18e63d2dbd

    v0.7.2
    CI / test (push) Successful in 21s
    Release / release (push) Successful in 52s
    Stable

    wangdefa released this 2026-07-16 21:33:38 +08:00 | 14 commits to main since this release

    Added

    • AI 网关设置新增「上游无响应预算」(upstreamWaitSeconds,30..900 秒,缺省 300,持久化、即时生效):非流式为单次尝试总超时,流式为等待响应头上限,供 multi-agent / 搜索类慢模型调宽

    Changed

    • 出站代理 Transport 补齐阶段超时(连接 30 秒 / TLS 握手 10 秒,对齐 SDK 直连模板):连不上的代理快速失败,不再拖满总超时

    Fixed

    • 修复 Responses 直通调用 multi-agent / 搜索类模型必然超时:SDK 默认 http.Client 60 秒总超时覆盖到 body 读完,流式恰好 60 秒断流、非流式(响应头 >60 秒才返回)重试耗尽后约 121 秒报错。非流式改用预算总超时;流式去掉总超时,以定时取消模拟等待响应头预算,响应头到达后流时长不限、生命周期由客户端连接决定。附带消除此类超时对渠道熔断计数的误伤
    Downloads
  • v0.7.1 d56678e1de

    v0.7.1
    CI / test (push) Successful in 21s
    Release / release (push) Successful in 40s
    Stable

    wangdefa released this 2026-07-16 16:42:29 +08:00 | 17 commits to main since this release

    Added

    • 审计事件接口新增检索参数 q:服务端 logContent 全文粗筛 + 可见字段(事件名 / 资源 / 操作者 / IP / 请求路径等)精筛,不区分大小写、支持 * 通配;关键字内嵌续查游标,跨批过滤口径一致。全文粗筛不作最终判定——logContent 会命中隐藏认证元数据(如 opc-principal 头里的 ttype: login
    • 审计批式响应新增 scannedThrough(已完整回溯到的时刻),供前端展示回溯进度
    • Logging Search 服务配额为零的租户(报错含 maxQueriesPerMinute: 0,部分免费租户如此)自动回退 Audit API 小窗回溯:游标携带通道模式、续查不再试错,搜索降级为客户端可见字段匹配,审计页不再报错

    Changed

    • 审计事件数据源由 Audit API 切换为 Logging Search(_Audit 日志按 datetime 倒序,单页 200 条);空窗倍增上限由 30 天收紧到 14 天(单次查询时间窗硬限),单批新增约 20 秒时间预算,命中稀疏的深回溯拆成多个有界请求由前端接力

    Fixed

    • 修复审计日志固定显示旧事件、刷新也看不到最新记录:Audit API 无排序参数且窗口内固定按处理时间正序,原实现凑满一批即返回,首批永远是 24h 窗口内最旧的一段,「向更早加载」实际在向更新方向翻页
    Downloads
  • v0.7.0 b2252678dd

    v0.7.0
    CI / test (push) Successful in 21s
    Release / release (push) Successful in 59s
    Stable

    wangdefa released this 2026-07-16 12:59:52 +08:00 | 19 commits to main since this release

    Added

    • AI 网关运行时设置扩展(GET / PUT /api/v1/ai-settings,持久化、即时生效):
      • Responses 流式保险丝:开关 + 阈值(KB,1..1024),超阈值的流式请求预防性改非流式上游并合成最小 SSE
      • grok 服务端搜索工具默认注入:xai. 前缀模型的 Responses 请求按开关默认注入 web_search / x_search,请求 tools 已含同名工具(任意参数形态)时不覆盖,注入动作记服务端日志
    • 聚合模型目录端点 GET /api/v1/ai-model-catalog:启用渠道去重、含能力字段(空能力归一 CHAT),与模型列表同口径(随「过滤弃用」开关),供设置页黑名单添加弹窗使用

    Changed

    • Responses 流式保险丝触发口径由「完整请求体 > 76KB(环境变量 AI_RESP_STREAM_UPGRADE_KB)」改为「instructions + tools 原始字节合计超阈值(默认开、60KB,设置页可调)」:复测证实约 82KB 的纯体积断流已由上游修复,而 instructions+tools 合计 >≈64.5KB 的流式静默断流仍存在(input 不计入);环境变量随之废弃
    • 升级 oci-go-sdk 到 v65.121.0

    Fixed

    • 修复多网卡实例的列表 / 详情地址字段随机:并发填充改以主网卡为准(主卡未返回前允许先到网卡兜底,主卡到达后覆盖并锁定),公网 IP / 私网 IP / IPv6 / 子网恒为主网卡数据
    Downloads
  • v0.6.1 e1f8a0539c

    v0.6.1
    CI / test (push) Successful in 31s
    Release / release (push) Successful in 39s
    Stable

    wangdefa released this 2026-07-15 10:39:56 +08:00 | 24 commits to main since this release

    Added

    • Responses 直通 codex 兼容层,codex CLI(wire_api = "responses")指向网关即用,实测 codex-cli 0.144.1 主会话与 multi-agent 子代理全链路可用:
      • namespace 工具组(承载 codex multi-agent 与全部 MCP 工具,仅 OpenAI 原生后端识别,OCI 实测 422)拍平为限定名 function 工具上送(ns__childmcp__ 开头子工具名不加前缀),响应中命中的 function_call 还原为短名并补回 namespace 字段(codex 以该双字段路由);多轮历史 function_call 与对象形态 tool_choice 上的 namespace 字段自动重限定
      • custom 自由格式工具(apply_patch 及 GPT-5.x 档位子代理形态,OCI 不识别)转换为带 {"input": string} 包装 schema 的 function,响应回转 custom_tool_call 并解包 input,多轮历史的 custom_tool_call(_output) 逆向转换,往返无损;例外:apply_patch 整体剥离(grok 系未训练 codex 补丁格式,模型自然回落 shell 编辑)
      • tool_search(codex 工具目录搜索)剥离:namespace 已全量拍平上送,搜索语义冗余且上游不识别
      • web_search 的 OpenAI 专有参数 external_web_access(OCI 实测 400):true 仅删键放行(等价上游默认行为),false 为"仅缓存检索"降权模式,按不越权原则连工具剥离
      • 以上改写动作(拍平 / 转换 / 剥离)与校验拒绝均记服务端日志可观测
    • Responses 直通流式升级回退:实测 OCI 上游对超过约 82KB 的流式请求会在推理阶段掐断流(纯请求体积触发,与工具构成无关,非流式不受影响),请求体超 76KB 时自动改调非流式上游并合成最小 SSE 事件序列(created → 逐项 output_item.donecompleted)返回,语义完整仅丢失增量输出——0.3.1 中「Responses 直通无法透明降级」的限制自此按体积预判解除

    Changed

    • /ai/v1/responses 工具类型白名单扩展:namespace / custom / tool_search 不再 400 拒绝,按上述兼容策略处理后转发;其余未知工具类型维持请求前置拒绝
    Downloads
  • v0.6.0 a8bde89b56

    v0.6.0
    CI / test (push) Successful in 46s
    Release / release (push) Successful in 43s
    Stable

    wangdefa released this 2026-07-14 19:33:33 +08:00 | 25 commits to main since this release

    Added

    • 渠道模型缓存列表端点 GET /api/v1/ai-channels/{id}/models:黑名单模型查询层兜底排除,「过滤弃用模型」开关开启时同样剔除已宣布弃用者(数据保留,展示口径过滤)
    • 单模型测试端点 POST /api/v1/ai-channels/{id}/test-model:对指定模型发 max_tokens=16 试调,通过即写入渠道「探测验证模型」(此后手动探测与每日后台任务将其置于试调候选首位),渠道探测状态不为可用时顺带置可用并复位熔断;未通过如实返回上游错误且不改动渠道状态
    • 渠道列表响应回填 modelCount(模型缓存计数,与模型列表同口径:排除黑名单、随过滤弃用开关)

    Fixed

    • 修复渠道探测「无配额」误判:配额试调遇 401/403/鉴权 404 不再立即定论租户无配额(可能仅个别模型无权限),改为继续尝试其余候选,任一成功即判可用,全部失败且出现过鉴权拒绝才判无配额
    • 探测试调 max_output_tokens 由 1 提升到 16:openai.gpt-oss 系列要求 ≥16,原值被 400 拒导致仅有该系列对话模型的渠道被误判
    Downloads