Repository navigation
Conversation
FallbackProvider.transcribe 缺少 **kwargs,call_with_fallback 透传的 _feature 撞到签名抛 TypeError,导致降级链末端失败、ASR 请求返回 503 而非友好降级响应(已补两条回归测试锁定)。 get_cache 以无参构造 RedisCache,忽略 REDIS_URL 环境变量,容器部署下 恒连 localhost 失败,限流与响应缓存自部署起从未生效;main.py 原先无论 成败都打印'连接已建立'掩盖了该故障。 其余:transcribe 限流路径由 /api/v1/ai/ 更正为 /api/v1/asr/,配额 30->600 并豁免全局每日总量(段级高频调用);开启 Qwen ASR 的 ITN; 上游 429 不再误报为本地配额耗尽。
窗口源(方案A)在 Windows 上 getUserMedia 可能成功但返回纯静音轨,不抛错 故异常降级永不触发。新增 useAudioRecovery:静音检测驱动自动回退系统环回、 输出设备不匹配提示、设备变更自动重启捕获。 仅音频模式此前仍启动截图采集且帧 watchdog 会保底重启,导致'帧'计数持续 增长;现按 mode 跳过截图并清空重启回调。 其余:VAD 在 loopback 源跳过无意义的背景噪声校准(数字信号无底噪,不再 显示'正在校准音频阈值'),静音断句 1500ms->800ms 并新增 28s 强制分段以 兼容 GLM-ASR 段长上限;网关健康探测 HEAD->GET 消除 405 误报。
Owner
Author
|
🎉 This PR is included in version 0.26.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Aparencia
added a commit
that referenced
this pull request
Aug 4, 2026
- #5: Gemini generate_stream iteration moved into thread pool via asyncio.to_thread, unblocking the event loop during streaming - #6: providers return real input/output token split; fallback cost tracking prefers it and falls back to 60/40 estimate instead of the misleading 50/50 split (output priced 2-3x higher) - #7: balance queries use Key pool primary key (plural env vars), DeepSeek balance no longer silently skipped - #8: JWKS fetch distinguishes network failures (stale cache reuse with 60s retry backoff) from HTTP/key errors (fail-closed), preventing whole-site 401 on transient Supabase hiccups - #9: import_concept registered in TIMEOUT_CONFIG/RATE_LIMITS plus startup validation warning for unregistered features - #10: error_pattern cache key includes user_id and hashes full content, preventing cross-user result reuse
Aparencia
pushed a commit
that referenced
this pull request
Aug 11, 2026
## [0.36.0](v0.35.2...v0.36.0) (2026-08-11) ### ✨ 新功能 * **3d:** Dashboard 深海世界新增 LeviathanShadow 远景巨影 ([8f86127](8f86127)) * **3d:** switch rendering backend from WebGL to WebGPU and restore Chronos 3D sphere ([1ec8b37](1ec8b37)) * **ai-gateway:** ASR 热词增强全链路透传 ([bf2c882](bf2c882)) * **ai:** AI hooks 流式化改造——苏格拉底追问/救援打字机渐进展示 ([5d2318c](5d2318c)) * **assistant:** F3 睡前复习气泡拉起 5 卡迷你复习 + T4 孵化呼吸引导 ([5004b44](5004b44)) * **assistant:** 水母受惊弹开+右键固定+用户活跃检测(10min空闲阈值) ([cf76a18](cf76a18)) * **beta:** 客户端付费体系——设备指纹/付费状态/AI 用量卡 ([3b4d6c3](3b4d6c3)) * **classroom:** 课堂模块增强——热词/转录编辑/章节导航/视觉模式 ([2f1a644](2f1a644)) * **dashboard:** D5 热力图效率维度 + R3 结束仪式 + R9 成就证书 ([e2e4b85](e2e4b85)) * **dashboard:** 主页三视图认知重构与双方案视觉系统 ([7d76b6e](7d76b6e)) * **dashboard:** 学习脉搏加入非番茄钟折算(笔记/复习/费曼)(内测反馈) ([af9a867](af9a867)) * **electron:** G7 全局快捷键框架 + E2 录音持久化 IPC 白名单 ([0ab8f2a](0ab8f2a)) * **feynman:** E2 录音关联持久化与跨会话回放(userData/recordings) ([76241a3](76241a3)) * **flashcards:** 批量管理(选择/重学/搁置/删除)+牌组重命名+会话上限可配置 ([1119e79](1119e79)) * **inbox:** 统一收件箱——剪贴板/灵感/导入三路合并 + 24h 去重 ([3c725ed](3c725ed)) * **innovation:** 创新功能目录四期实施 + 全量审查修复 ([7504119](7504119)) * **license:** AI 网关付费授权体系 ([9f7ed90](9f7ed90)) * **notes,flashcards,feynman:** 未接线组件全量接入 + DashboardPage 编译修复 ([4990849](4990849)) * **notes:** N5 闪卡只取核心层文本 + N2 合书测试答后 diff 高亮 ([7eff581](7eff581)) * **notes:** 搜索栏重构为笔记内筛选+批量删除+模板筛选+文件夹树删除 ([40d7366](40d7366)) * **notes:** 珊瑚礁视图与视口锚定——笔记深潜增强 ([2b82b5e](2b82b5e)) * **notes:** 笔记功能创新全面实施——7阶段25文件 ([d0e0776](d0e0776)) * **notes:** 笔记模块 P0-P2 改进 — 14 项功能实施 ([a081bf6](a081bf6)) * **notes:** 第一轮头脑风暴剩余5项构建完成 ([df90cf2](df90cf2)) * **notes:** 第一轮头脑风暴剩余创新点构建 ([9f6838b](9f6838b)) * **payment:** 临时收入方案全栈实现(数据库+UI+AI网关tier分级) ([acf72e3](acf72e3)) * **pomodoro:** Chronos 时间生物可视化(P0-P2) ([1d7ab71](1d7ab71)) * **pomodoro:** Chronos 液态金属形态与完整状态指示系统 ([dd34528](dd34528)) * **pomodoro:** Chronos 粒子球全面修复与 TimerFace 高频区重构 ([2f96df2](2f96df2)) * **pomodoro:** 修复计时状态机与数据一致性问题,接线体验增强功能 ([74f1893](74f1893)) * **pomodoro:** 深潜设置页下潜档案重构与番茄钟体验增强 ([317d84b](317d84b)) * **pomodoro:** 表盘与预设标签 UI 增强 ([3a91f24](3a91f24)) * **sop:** SOP 系统 MVP——四表落库/模板运行状态机/三页面/5 条 lint 规则 ([77064a4](77064a4)) * **ui:** 命令面板集成全局内容搜索(content类别)+Tag可交互+work-area属性 ([410d582](410d582)) * **ui:** 设置页升级引导 + 每日色相微调对抗感觉适应 ([400e650](400e650)) * **wiki:** 侧边栏独立折叠与自动保存状态提示 + 命令面板 SOP 入口 ([dd812b9](dd812b9)) ### 🐛 缺陷修复 * **3d:** add forceWebGL=true to WebGPURenderer for async init compatibility ([5c3b01c](5c3b01c)) * **3d:** revert WebGPURenderer to THREE.WebGLRenderer for R3F compatibility ([0832b21](0832b21)) * **3d:** 主题切换/场景切换手动渲染修复(docked冻结)+routeToModuleId抽离 ([b6735e2](b6735e2)) * add cleanup to showTime timer effect to prevent stale timeout ([2a5cf31](2a5cf31)) * **ai-asr:** 重构 ASR 引擎为 zipformer-transducer 单引擎 ([3522567](3522567)) * **ai-gateway:** Python 3.12 部署启动修复(Any 导入 + BOM 清理 + F401) ([96ac0f5](96ac0f5)) * App启动初始化番茄钟+设置页返回按钮+API本地模式401不踢登录+批量选择hook ([9958306](9958306)) * **audit3:** resolve deferred findings X1-X6 ([9e625ca](9e625ca)) * **audit3:** resolve round-3 review findings on round-2 fixes ([beed8b4](beed8b4)) * **chronos:** eliminate per-frame THREE.Color allocation in useFrame ([6f2411b](6f2411b)) * **client:** resolve frontend medium-risk issues FRONT2-M1~M8 ([c00c087](c00c087)) * **client:** 同步引擎高危修复——resume死锁/冲突循环/localData空对象/synced类型不一致 ([7ef8ad8](7ef8ad8)) * **client:** 学习算法修复——FSRS初始稳定性对齐权重/sm2缺失字段防御/复习写失败可恢复 ([0d43362](0d43362)) * **client:** 客户端中危修复——IPC批处理返回值/流式超时与连接释放/代理路径校验/MCP最小环境/采集源校验/备份保护/watchdog上限 ([b572994](b572994)) * **client:** 客户端低危修复——文件读写限制/更新状态机/崩溃恢复/迁移可诊断/preload白名单统一 ([af1b353](af1b353)) * **client:** 客户端高危修复——采集stop挂起/迁移列错位/搜索全量返回/FTS阻塞/复习双击竞态 ([1feb466](1feb466)) * **electron:** resolve ELEC2-M1/L1/L2 ([064f636](064f636)) * **electron:** SSEServerTransport 类型注解修复 ([b999e05](b999e05)) * **gateway:** AI网关中低危修复——熔断器语义/探活超时/JWKS安全/Key冷却/重试策略/错误脱敏/Redis重连/限流原子化 ([d3be873](d3be873)) * **gateway:** AI网关高危修复——并发信号量/预算记账/流式限流/SSE资源释放/事件循环阻塞/请求体限制/降级链容错 ([8e78b6f](8e78b6f)) * **gateway:** JWT 算法自动适配消除 HS256/ES256 错位 401,学习计划认证就绪前不发请求 ([ed5c55a](ed5c55a)) * **gateway:** resolve high-risk issues [#1](https://github.com/Aparencia/Entropydecrease/issues/1)-[#4](https://github.com/Aparencia/Entropydecrease/issues/4) ([1aeeac5](1aeeac5)) * **gateway:** resolve low-risk issues [#11](https://github.com/Aparencia/Entropydecrease/issues/11)-[#14](https://github.com/Aparencia/Entropydecrease/issues/14) ([12a6e68](12a6e68)) * **gateway:** resolve medium-risk issues [#5](https://github.com/Aparencia/Entropydecrease/issues/5)-[#10](https://github.com/Aparencia/Entropydecrease/issues/10) ([f0b92a9](f0b92a9)) * **misc:** vite base 动态导入 504 / 流式路径正则 / mcpEnv 转义 / AuthGuard 依赖修正 ([7658c81](7658c81)) * **misc:** 杂项修复与文档更新 ([5e43dd8](5e43dd8)) * **notes:** 修复 EchoDiscovery 未使用导入并完成全量验证 ([c1d2a3d](c1d2a3d)) * **perf:** 性能模式变更即时生效,活跃采集优雅重启 ([71304db](71304db)) * **pomodoro:** Chronos 交互补齐与构建级类型修复 ([d8adfb5](d8adfb5)) * remove stale audioPrefs reference in PomodoroAudioLayer ([cad2ad4](cad2ad4)) * replace remaining audioPrefs references in PomodoroControls JSX ([62e8255](62e8255)) * restore skip on break click in ImmersiveTimer ([336ee8a](336ee8a)) * **sync:** OfflineQueue 版本排序改内存排序(Dexie Table 无 sortBy) ([60d72a3](60d72a3)) * **sync:** resolve low-risk logic issues SYNC2-L1~L5 ([b82668d](b82668d)) * **sync:** 同步服务修复——版本冲突判定/WS查询洪泛/Resolve安全/CRDT幂等/广播完整性 ([c7bdb7b](c7bdb7b)) * **tokens:** 材质类层叠顺序 - 深色段移至浅色段后,修复深色主题错误显示浅色材质 ([3bb49b9](3bb49b9)) * **website:** 下载页版本信息拉取超时与重试——消除源站挂起时的无限等待 ([7753dc7](7753dc7)) ### ⚡ 性能优化 * **3d:** migrate 6 particle systems to GPU vertex shader and consolidate useFrame ([0e9dc4a](0e9dc4a)) * **client:** 性能优化第二批次——笔记投影/课堂内存/订阅治理/3D 算法优化 ([a734883](a734883)) * **ui:** split whole-store subscriptions and fix effect re-registration ([1f2308b](1f2308b)) ### ♻️ 重构 * **chronos:** 粒子渲染 WebGL 单网格→Canvas 2D 伪 3D 重构 ([45e2752](45e2752)) * **dashboard:** Dashboard 重构——移除深海主题死代码 ([32f84b3](32f84b3)) * **pomodoro:** usePomodoroStore 拆分为 timer/settings/session/preset 四 slice ([a7d69de](a7d69de)) * 大规模死代码清理——移除未使用组件/钩子/工具 ([1432871](1432871))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更概述
修复课堂 ASR 链路的服务端与客户端故障,恢复语音转录可用性。
服务端(f7ddf96)
FallbackProvider.transcribe缺少**kwargs,call_with_fallback透传的_feature撞到签名抛 TypeError,导致 ASR 请求返回 503 而非友好降级响应(已补 2 条回归测试,并用"移除修复→测试失败"验证有效性)get_cache()以无参构造忽略REDIS_URL,容器内恒连 localhost 失败;限流与响应缓存自部署起从未生效。main.py原先无论成败都打印"连接已建立",掩盖了该故障/api/v1/ai/更正为/api/v1/asr/;配额 30→600 并豁免全局每日总量(段级高频调用)客户端(dd996ba)
useAudioRecovery:窗口源在 Windows 上可能"成功但返回纯静音轨"(不抛错,异常降级永不触发),改为静音检测驱动自动回退系统环回 + 输出设备不匹配提示 + 设备变更自动重启验证
部署影响
合并后触发
deploy-server(server/**变更),服务端修复生效后才能验证 ASR 是否恢复。