Releases: ThreeFish-AI/coding-proxy
Release list
v0.5.2
✨ 变更(自 v0.5.1)
v0.5.2 周期(v0.5.2a1–a8 预发布 + 本正式版)变更汇总:
- fix(zhipu): 429/529 兜底退避抖动 Full Jitter → Equal Jitter(
[0, ceiling]→[ceiling/2, ceiling]),重试延迟恢复单调非递减指数形态,serverretry-after优先级不变 (#263) - refactor(concurrency):
ModelConcurrencyLimiter→ModelConcurrencyController,monitor / limited 双模式统一抽象;Model Calling 实时监控扩展至全 vendor / 全 model(仅 CC 场景),轮询间隔 5000ms → 1500ms,新增peak_pending_recent最近 10s 排队峰值余晖徽章; - feat(session): 新增标题豁免前缀配置
title_exempt_prefixes,过滤注入式 Prompt 被误用为 Session 标题;豁免拦截扩展至 L1–L4 全层级兜底 (#265 #267) - feat(dashboard): 供应商状态卡片支持拖拽调整供应商优先级(
PUT /api/tier-order纯重排序端点,不重置熔断 / 配额守卫 / rate limit);拖拽由原生 HTML5 DnD 重写为 Pointer Events 实现(修复无法拖动,引入拖拽阈值 / 乐观重排 / 指针捕获,支持触屏)(#269 #271) - feat(session): 扩充标题豁免前缀,新增
[Session]过滤注入式 Prompt 候选;chore(pricing): 更新智谱 GLM-5.2 模型定价 (#269) - style(branding): 品牌图标(logo/favicon)迭代至「通透青绿圆环 + Tabler prompt
>_笔划」,_LOGO_DEFS/_PROMPT_PATHS单一事实源统一供 SVG favicon、ICO 回退与页面 logo (#272 #274) - style(dashboard): Overview 6 张 KPI 卡片固定单行不折行(≥1024px 恒定 6 列,
minmax(0, 1fr)杜绝内容撑列),≤1023px→3 列、≤480px→2 列优雅降级;补:focus-visible键盘焦点环、prefers-reduced-motion动画降级等 a11y 改进 (#276) - fix(vendor-logging): 修复流式 4xx/5xx 错误日志中文乱码(
bytes经%s走repr()转义为不可读序列),新增decode_error_body工具统一收敛三处流式错误日志;antigravity 流式 scope 检测改用完整解码 body,与日志展示截断解耦并补回归测试 (#278) - fix(quota-guard):
coding-proxy reset/POST /api/reset不再清空配额守卫滑动窗口用量(复位后1d 配额徽章不再永久停 0%),CLI / API / Dashboard 三条路径单一事实源同修;feat(dashboard): 供应商状态卡片新增 ⟲ 状态复位 按钮(不重排序、不清用量);fix(dashboard): 修复rlInfo.limited与后端is_rate_limited键名不匹配致「限速中」徽章从未渲染 (#279)
📋 完整变更日志见 CHANGELOG.md
Note
本版先以 pre-release 通道自动触发 release.yml 发布至 TestPyPI 验证;生产 PyPI 发布需经 pypi environment 审批门,审批通过后自动转正为 Latest(prerelease=false, make_latest=true)。
v0.5.1
- feat(dashboard): Model Calling 实时监控扩展至全 vendor,修复排队队列长度不可见 (#253)
- fix(session-title): 剥离 标签前缀并放大标题存储长度至 600 字符 (#257)
- feat(session-title): 多层级回退标题提取与延迟补写,消除 Dashboard 空标题 (#258)
- feat(session-routing): 新增基于 Session 标题前缀的可配置 Vendor 自动绑定 (#260)
- feat(zhipu): 将 529 过载异常纳入指数退避重试范畴 (#261)
- feat(dashboard): 采用 Tabler terminal-2 作为 favicon 与 logo 品牌图标 (#262)
v0.5.0
Important
🚀 Model Calling 实时状态!
模型并发与排队深度一目了然,运行时动态调整每个模型并行度,预防 vendor 侧的 429 幺蛾子。
✨ 核心亮点
- feat(concurrency): 新增 Model Calling 实时状态模块,可视化每模型并发与排队深度,支持运行时动态修改每模型并行度 (#250) (#251)
- feat(zhipu): 新增每模型并发限制,默认 3 个并行请求 FIFO 排队 (#248)
- feat(zhipu): 为 429 Rate Limit 添加指数退避重试挽回机制 (#242)
🔧 更多特性
- fix(antigravity): 修复 v1internal 模式检测逻辑并新增 E2E 测试; (#234)
- fix(routes): 修复 count_tokens 路由对 target_vendor.name 的错误属性访问; (#235)
- fix(vendor-channels): 修复 zhipu→anthropic 通道 tool_use/tool_result 配对漏洞; (#236)
- fix(native-api): 修复 Gemini :verb 路径中 %3A URL 编码导致上游 400 的兼容问题; (#237)
- fix(zhipu): 诊断首选 tier 语义拒绝降级问题,增强可观测性并提取跨供应商清洗共享函数 (#243)
v0.4.0
Important
🚀 Session 级专属路由策略!
给每个 Session 指定专属的 vendor,动态调节不同 vendors 间的 LLM 流量。
✨ 核心亮点
🔧 更多特性
v0.3.0
Important
🚀 OpenAI、Anthropic、Gemini 原生 API 进驻 Coding Proxy!
服务对象不在局限于 Claude Code,凡兼容 OpenAI、Anthropic、Gemini 三巨头 API 协议的客户端,出口 LLM 流量可统一收敛到 Coding Proxy。
✨ 核心亮点
- feat(native-api): 新增
/api/{openai,gemini,anthropic}/**原生 LLM API 全量 catch-all 透传通道; - feat(dashboard): 新增实时 Web Dashboard 页面,聚合展示流量与用量统计;
- feat(usage):
usage区分 Claude Code 场景('cc')与原生 API 场景('api'); - refactor(vendor-channels): 将供应商转换通道从目标专属重构为源→目标绑定模型;
- docs(user-guide): 补充 POST /v1/messages 完整 API 参考文档;
🔧 更多特性
- feat(server): 默认监听端口
8046→3392,规范化 Negentropy 体系端口;
v0.2.3
v0.2.2
- feat(reset): CLI reset 命令新增 -v/--vendor 参数,支持运行时 N-tier 链路重排序(逗号分隔的 vendor 列表);
- fix(logging): 修复 uvicorn.error 日志在文件中重复打印的问题;
v0.2.1
- feat(logging): 实现日志双写(控制台 + 本地文件),日志文件支持 5MB 自动轮转及 gzip 压缩备份;ModelCall 日志降级为 DEBUG 级别;
- feat(circuit-breaker): 补全熔断器状态转换日志的 vendor 上下文信息;
v0.2.0
Important
🚀 供应商大扩军 × 用量仪表盘全面进化,双线暴击!
卡在一家供应商的限额天花板下抬不起头?现在你手握 九条命——新增 MiniMax、小米 MiMo、阿里千问、Kimi、豆包五路援军,全部原生讲 Anthropic 话,无缝接入 N-tier。 Token 烧到哪儿心里没数?新版 usage 命令解锁日/周/月/全量四档视角,多供应商并排比,汇总行一行看全局。备用仓更满,账单更透,从此宕机只是别人家的故事。
✨ 核心亮点
- 5 家供应商集体入场:MiniMax、小米 MiMo、阿里千问、Kimi、豆包(火山引擎)正式入编 N-tier。备用通道数量直接翻倍,不怕堵;
usage命令全面升级:从"只有天数"进化为日 / 周 / 月 / 全量四档时间维度(-d 7/-w/-m/-t)。支持多值过滤——-v anthropic,kimi或--model claude-opus-4-6,glm-5.1用逗号隔开随便选。表格末行自动追加汇总行,请求总量、Token 总计、总成本、加权平均延迟四项一览无余。Token 花在哪家、烧了多少、谁最能扛——这张表给你答案;
🔧 更多特性
- 品牌横幅正式上线:
proxy start启动时打印 Coding Proxy 专属 ASCII Banner 与版本号,告别冷冰冰的裸日志起手式; - 529 过载纳入降级触发:HTTP
529 overloaded_error正式加入故障转移白名单,Anthropic 喊"我堵了"时 Proxy 不再干等; - Zhipu 跨供应商级联故障根治:
Internal Network Failure纳入 500 降级条件;tool_result角色错位导致的下游级联崩溃彻底斩断,再也不因历史 message 的"历史遗留问题"把整条链拖下水;
v0.1.3
Important
🔥 跨供应商"身份危机" + 熔断器"装死"双杀!
Zhipu 的 thinking blocks 偷渡到 Anthropic 被当场识破 → 400 无限循环降级?斩了。429 限流后熔断器嘴上说"我没事"身体却已躺平?修了。两大隐蔽 Bug 一锅端,跨供应商丝滑切换从此告别"薛定谔的可用性"。
✨ 核心亮点
- Thinking Blocks "安检门":Anthropic 对请求体 deepcopy 后,精准剥离 assistant messages 中的
thinking/redacted_thinkingblocks。Zhipu → Anthropic 迁移时历史思考签名不再越界,400invalid_request_error彻底根除,其他供应商零影响; - 熔断器 Force-Open 闪电响应:为
record_failure()新增force_open参数——当检测到 429/403 携带retry_after_seconds(即 Rate Limit 硬信号)时,跳过累积阈值直接 OPEN,状态展示与实际可用性分秒对齐;非 429 错误(5xx、超时等)保持原有累积行为不变。


