tbphp
|
5d98e41cc4
|
chore(deps): upgrade Bifrost Core to v1.9.0 (#676)
|
2026-09-17 18:38:41 +08:00 |
|
tbphp
|
311c388c3a
|
fix(groups): add missing gateway protocol probes (#673)
* fix(groups): add missing gateway protocol probes
* fix(groups): avoid typed gateway probe cancellation races
* fix(probes): validate gateway response array elements
* fix(probes): validate required native response payloads
* fix(probes): enforce exclusive Gemini part payloads
|
2026-09-17 16:24:24 +08:00 |
|
tbphp
|
91df89efed
|
fix(bifrost): 恢复兼容渠道的工具降级转发 (#653)
* fix(execution): 保留跨协议工具调用约束
* fix(cpa): 修正工具白名单兼容边界
* fix(bifrost): 拒绝丢失压缩上下文
* fix(execution): 保持计数请求工具约束
* fix(bifrost): 恢复兼容渠道的工具降级转发
|
2026-09-14 22:21:59 +08:00 |
|
tbphp
|
fbb99067cc
|
fix(health): 放宽上游错误重试并保留健康边界 (#643)
* fix(health): 放宽上游错误重试并保留健康边界
* fix(health): 补齐资源操作重放与上下文拒绝规则
* fix(execution): 保留明确请求拒绝的分类优先级
* fix(health): 补齐流内 HTTP 错误重试判断
|
2026-09-13 18:06:37 +08:00 |
|
tbphp
|
f8a04df46d
|
fix(deepseek): 补齐原生协议字段兼容 (#638)
* fix(deepseek): 补齐原生协议字段兼容
* fix(deepseek): 兼容强制工具调用与默认思考
* fix(deepseek): 跳过空思考字段别名
|
2026-09-13 11:42:46 +08:00 |
|
tbphp
|
c4c8452e6c
|
fix(execution): 保留原生消息前缀并保护转换语义 (#631)
* fix(execution): 补齐原生消息透传并保留对话结构
* fix(execution): 保护转换请求的指令和执行约束
* fix(execution): 补齐无角色历史后的系统指令保护
|
2026-09-12 17:55:22 +08:00 |
|
tbphp
|
1b50c77673
|
fix(usage): 统一修正 Anthropic 流式输入与缓存用量 (#630)
* fix(cpa): 修正 Anthropic 流式转换的输入用量统计
* fix(usage): 统一 Anthropic 流式用量修正
* fix(usage): 保留原生流未采集时的执行层用量
|
2026-09-12 17:08:44 +08:00 |
|
tbphp
|
a895ba25bf
|
fix(execution): 统一普通渠道出站 UA 规则 (#622)
|
2026-09-11 11:59:15 +08:00 |
|
tbphp
|
f091528bdb
|
feat(gateway): 接入原生 Responses WebSocket 与逐轮治理 (#616)
* feat(gateway): 接入原生 Responses WebSocket 与逐轮治理
* feat(gateway): 增加 WS 分层开关并修复连接治理
* fix(gateway): 关闭停用或删除分组的 WS 连接
|
2026-09-10 21:18:41 +08:00 |
|
tbphp
|
7cbd2e672d
|
feat(responses): 实现响应状态续接路由 (#609)
* feat(responses): 实现响应状态续接路由
* fix(responses): 限制响应 ID 长度并兼容缺失字段删除
* fix(responses): 按协议存储能力匹配续接路由
|
2026-09-09 23:13:41 +08:00 |
|
tbphp
|
fe4b6ac159
|
feat(gateway): 接入原生文本重排序协议 (#607)
|
2026-09-09 15:06:50 +08:00 |
|
tbphp
|
7ed01e668b
|
feat(images): 支持 Antigravity 与 Gemini 共享生图转换 (#605)
* feat(antigravity): 支持 Images 单向生图转换
* feat(images): 复用转换并支持 Gemini 渠道生图
* fix(images): 修正生图转换失败分类并恢复候选回退
|
2026-09-09 13:20:10 +08:00 |
|
tbphp
|
1898d8ee64
|
fix(gateway): 修复协议查询参数与零输出边界 (#603)
|
2026-09-09 11:18:20 +08:00 |
|
tbphp
|
e0bfa07ec4
|
feat(scheduler): 统一凭据权重并调整模型错误重试 (#597)
* feat(scheduler): 统一凭据权重并调整错误重试
* docs: 更新三语配置权重说明
|
2026-09-08 17:18:08 +08:00 |
|
tbphp
|
ae59a0ae85
|
feat(channel): 增加 Sub2API 渠道 (#567)
|
2026-09-04 22:55:55 +08:00 |
|
tbphp
|
21fa526a29
|
fix(gateway): 统一 Responses store 路由兼容 (#532)
* fix(gateway): 统一 Responses store 路由兼容
* fix(gateway): 收紧 Responses 降级归一化
* fix(channel): 将 DeepSeek 标记为无状态
|
2026-09-02 19:54:30 +08:00 |
|
tbphp
|
e6b752b4db
|
feat(channel): 增加 GPT-Load 上游渠道 (#526)
|
2026-09-01 21:52:38 +08:00 |
|
tbphp
|
1be3587000
|
feat(channel): 增加 CLIProxyAPI 多协议渠道 (#525)
|
2026-09-01 21:07:19 +08:00 |
|
tbphp
|
d7d28370da
|
feat(channel): 增加 New API 多协议渠道 (#524)
|
2026-09-01 19:56:40 +08:00 |
|
tbphp
|
aee2111290
|
feat(gateway): 支持 OpenAI Embeddings API (#496)
新增原生 OpenAI Embeddings 端点,覆盖首期 API Key 渠道,并复用现有路由、健康、用量、日志与管理流程。
|
2026-08-30 00:45:19 +08:00 |
|
tbphp
|
b1a7f373fc
|
fix: 接入首个流错误安全切换 (#486)
* fix(gateway): 接入首个流错误安全切换
* fix(gateway): 保留显式重放安全状态
|
2026-08-28 08:15:13 +08:00 |
|
tbphp
|
d4bbb9193a
|
feat: 升级 Go 与 SDK 版本 (#485)
* feat(gateway): 升级 SDK 并封口兼容合同
* fix: 修正升级后的格式与模型过滤
* fix(ci): 更新 Go 漏洞扫描器
* fix(gateway): 拒绝非标准服务层级字段
|
2026-08-27 22:48:16 +08:00 |
|
tbphp
|
e9e88dce99
|
feat(images): 接入 OpenAI 图片生成与编辑 (#476)
* feat(images): 接入 OpenAI 图片生成与编辑
* fix(images): 补齐响应容量与边界处理
* fix(images): 修正协议观测与响应上限覆盖
* fix(stream): 保证取消优先于流关闭
* fix(images): 修正空 SSE 错误对象判定
* fix(images): 避免媒体数据触发凭据误判
* fix(images): 阻止流式响应泄漏凭据
* fix(images): 校验完整流事件后再转发
* fix(images): 修正响应模型观测
|
2026-08-27 15:11:52 +08:00 |
|
tbphp
|
d518b06acc
|
refactor: 统一错误决策与执行链路 (#466)
* refactor: 统一错误决策与执行链路
* fix(gateway): 修正错误来源与候选预算
|
2026-08-24 23:26:22 +08:00 |
|
tbphp
|
4f9eba5802
|
feat(proxy): 完成数据面代理与渠道约束 (#459)
* feat(proxy): 实现第一阶段数据面代理
* feat(proxy): 收敛渠道与代理协议支持
* fix(proxy): 修复环境检测与迁移验证
* fix(proxy): 回收旧代理运行时并校验地址
* fix(proxy): 补齐创建链路与前端校验
* fix(proxy): 收口订阅代理与迁移兼容
* fix(proxy): 修复环境代理与运行时回收
* fix(proxy): 为系统外部请求应用全局代理
* docs(config): 精简环境配置说明
* feat(proxy): 重构代理设置的前端交互与样式
设置页与分组设置页:
- 代理设置接入页面统一的草稿态与保存栏,不再独立即时提交
- 计入页面 dirty/valid,参与未保存离开拦截与并发冲突推迟
- 新增 ProxyOverrideRow,用分段控件替代原独立编辑弹层
账号卡片与密钥行:
- ProxyConfigEditor 新增 card 外观:标题在白底面板外,与相邻小节同级
- 修掉按视口宽度判断断点的问题,窄容器内不再挤压错乱
- 编辑态下拉固定宽度,不随所选模式伸缩;整体收进两行
- 新增 ProxyScopeIndicator,凭据配置了独立代理时给出标识与悬停提示
密钥行交互:
- 操作列收成「更多操作」菜单与展开图标,与账号卡片同构
- 折叠区分为权重、出站代理、运行诊断三个带标题小节,设置与诊断不再混放
- 权重编辑从弹层迁入折叠区,权重列的值可点击直达
- 释放的列宽还给凭据、权重与最近调用列
文案精简为继承、直连、自定义,并清理两处无引用的死键
* refactor(proxy): 统一代理设置的覆盖交互并消除样式重复
设置页与分组设置页:
- 代理行改用 RuntimeOverrideRow,与超时等设置项共用同一组件
- inherit 映射为“未覆盖”,direct/custom 映射为“显式覆盖”,因此补齐了
覆盖/恢复默认按钮、覆盖状态徽章、当前有效值与待恢复默认态
- 分段控件只保留直连与自定义,继承由外层覆盖开关表达
- 删除自造的 ProxyOverrideRow,新增只含编辑控件的 ProxyOverrideControl
已保存的自定义地址:
- 输入框不做回填,统一由 placeholder 展示已存地址
- 同模式下留空或与已存地址逐字相同均视为未改动,顺带挡住掩码被当作
新密码存回;无改动时保存按钮禁用
- 重新开启覆盖时回到基线已存的覆盖模式,使恢复默认可原路撤销
代码质量:
- 面板外壳(标题 + 白底面板 + 标签/值/编辑图标/操作)抽为全局
.setting-panel,代理、权重、诊断三处共用,不再各写一份
- 删除 ProxyConfigEditor 已无调用方的 row 外观及随之失效的 props、
徽章分支与始终隐藏的文案
- 占位地址推导与覆盖开关规则收敛为 proxy.ts 中的共享函数
- 移除代理输入提示文案及其失去引用的 i18n 键
密钥行折叠区诊断值字号对齐上方面板。重构以构建产物 CSS 逐条比对验证,
差异均为已论证的等价改写。
* fix(proxy): 修复代理传输与校验边界
|
2026-08-24 11:11:22 +08:00 |
|
tbphp
|
3333f49f36
|
fix(claude): 补全订阅渠道能力
|
2026-08-17 09:38:45 +08:00 |
|
tbphp
|
6ddbf5b56d
|
fix(ci): 稳定 race 测试门禁
|
2026-08-16 11:31:03 +08:00 |
|
tbphp
|
9a23a87e05
|
fix(protocol): 统一模型列表协议归属
|
2026-08-16 09:20:50 +08:00 |
|
tbphp
|
4c00eed40b
|
refactor(channel): 统一渠道架构与协议契约
|
2026-08-15 15:37:50 +08:00 |
|
tbphp
|
2c4e4e1652
|
fix(codex): 完善订阅协议与认证流程
|
2026-08-14 14:45:51 +08:00 |
|
tbphp
|
e9daf96865
|
feat(channel): 支持 DeepSeek 三种原生协议
|
2026-08-13 23:33:06 +08:00 |
|
tbphp
|
22a6f1c57b
|
fix: 修复上游执行与迁移边界问题
|
2026-08-12 23:49:18 +08:00 |
|
tbphp
|
8cf67efdf0
|
feat(vertex): 简化凭据配置并支持 Gemini 原生请求
|
2026-08-12 15:50:15 +08:00 |
|
tbphp
|
36d2915fbd
|
fix(import): 根据 SDK 展示上游地址提示
|
2026-08-12 11:39:40 +08:00 |
|
tbphp
|
59d07c9b6b
|
feat: 日志协议优化
|
2026-08-12 08:37:53 +08:00 |
|
tbphp
|
e7de10ec73
|
feat(route): 支持有损协议转换与参数追踪
|
2026-08-11 17:42:10 +08:00 |
|
tbphp
|
6162826efa
|
fix(runtime): 稳定流空闲超时分类
|
2026-08-11 13:58:17 +08:00 |
|
tbphp
|
1ef573ae34
|
fix(health): 改进凭据自动恢复检测
|
2026-08-11 11:33:50 +08:00 |
|
tbphp
|
8a7c4615df
|
fix(v2): 收口协议执行与流式边界
|
2026-08-11 08:56:59 +08:00 |
|
tbphp
|
d6be4272d1
|
feat(console): 完善日志诊断与模型视图
|
2026-08-11 08:18:45 +08:00 |
|
tbphp
|
c13906f001
|
fix(logs): 展示脱敏后的上游错误消息
|
2026-08-10 22:11:52 +08:00 |
|
tbphp
|
530ee0aede
|
feat(bifrost): 按最终配置复用原生运行时
|
2026-08-10 21:30:38 +08:00 |
|
tbphp
|
f458a98b12
|
fix(lifecycle): 规范服务启动与退出流程
|
2026-08-10 18:46:59 +08:00 |
|
tbphp
|
9c05b41966
|
feat(channel): 支持自定义上游地址
|
2026-08-10 13:19:48 +08:00 |
|
tbphp
|
5ca340939c
|
fix(v2): 收口发布前运行时与迁移问题
|
2026-08-10 12:17:05 +08:00 |
|
tbphp
|
61b763b96b
|
fix(channel): 收口渠道执行与终局迁移
|
2026-08-10 10:31:08 +08:00 |
|
tbphp
|
6f6f7c3efc
|
refactor(channel): 切换为 Bifrost 渠道执行架构
|
2026-08-10 08:22:15 +08:00 |
|