v1.0.0-beta7
anomalyco/opentuiv1.0.0-beta7Aug 11, 2026by looplj
AI Summary
Beta 7 adds provider quota controls, backup/restore systems, and the Groq channel, with improvements to response handling and tool results.
Key Highlights
- Add provider quota collection controls
- Backup & restore systems config
- Add Groq channel
- Keep images in tool results instead of dropping them
New Features
- Add provider quota collection controls
- Backup & restore systems config
- Add Groq channel
- Add configurable max_multipart_memory for backup restore
Full Release Notes
## What's Changed * fix: handle moderation responses in empty response detection by @Silentely in https://github.com/looplj/axonhub/pull/2099 * feat: add provider quota collection controls by @Silentely in https://github.com/looplj/axonhub/pull/2103 * fix(gemini): preserve file data MIME type for Vertex by @llc1123 in https://github.com/looplj/axonhub/pull/2091 * feat: backup & restore systems config, close #2101 by @looplj in https://github.com/looplj/axonhub/pull/2104 * feat: response with trace headers, close #2100 by @looplj in https://github.com/looplj/axonhub/pull/2107 * feat: check new beta version, close #2097 by @looplj in https://github.com/looplj/axonhub/pull/2111 * fix(frontend): improve requests table mobile responsiveness by @djdembeck in https://github.com/looplj/axonhub/pull/2118 * fix: reuse bundled Windows binary by @Jonesxq in https://github.com/looplj/axonhub/pull/2119 * fix(analytics): support MySQL for channel stats by @ChancenJ in https://github.com/looplj/axonhub/pull/2123 * fix: 修正拼写错误“oltphttp”->“otlphttp” by @bookshiyi in https://github.com/looplj/axonhub/pull/2121 * fix(frontend): load theme fonts by @llc1123 in https://github.com/looplj/axonhub/pull/2122 * fix(responses): keep images in tool results instead of dropping them by @GhostFlying in https://github.com/looplj/axonhub/pull/2117 * feat: add configurable max_multipart_memory for backup restore by @vincentyzhj in https://github.com/looplj/axonhub/pull/2126 * feat: add per-channel API key rule actions by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2120 * fix(transformer): 合并连续 function_call/custom_tool_call 为单条 assistant 消息 by @Snowy117 in https://github.com/looplj/axonhub/pull/2114 * fix(responses): scope fallback prompt_cache_key per conversation by @Kizunad in https://github.com/looplj/axonhub/pull/2031 * feat(permissions): align project roles with UI access by @brynne8 in https://github.com/looplj/axonhub/pull/2095 * feat: model load balance strategy by @looplj in https://github.com/looplj/axonhub/pull/2127 * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/2131 * fix: admin page permission protect by @hen7777777 in https://github.com/looplj/axonhub/pull/2138 * fix(responses): handle reasoning text stream events by @cesaryuan in https://github.com/looplj/axonhub/pull/2151 * fix: harden MemorySize parsing and document max_multipart_memory by @vincentyzhj in https://github.com/looplj/axonhub/pull/2145 * fix(openai): keep message content valid for strict upstreams by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2137 * fix(frontend): constrain quota popover width on mobile by @KremeCN in https://github.com/looplj/axonhub/pull/2143 * fix(frontend): prevent system settings double scroll by @KremeCN in https://github.com/looplj/axonhub/pull/2142 * fix(cline): align quota windows with API behavior by @KremeCN in https://github.com/looplj/axonhub/pull/2141 * feat(cline): fetch recommended models dynamically by @KremeCN in https://github.com/looplj/axonhub/pull/2140 * feat(channels): add Groq channel by @rupaut98 in https://github.com/looplj/axonhub/pull/2144 * fix(transform): add channel switch to downgrade mid-conversation system messages by @AkaChou in https://github.com/looplj/axonhub/pull/2124 * feat(requests): show final reasoning_effort in request logs by @AkaChou in https://github.com/looplj/axonhub/pull/2158 * feat(channels): unified API key management dialog with bulk import by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2156 * fix(cline): normalize empty message content by @KremeCN in https://github.com/looplj/axonhub/pull/2155 * fix(frontend): align analytics filter UX by @cesaryuan in https://github.com/looplj/axonhub/pull/2154 * fix(responses): preserve function calls completed in done events by @MrLiuGangQiang in https://github.com/looplj/axonhub/pull/2057 * feat(requests): redesign request log table by @brynne8 in https://github.com/looplj/axonhub/pull/2162 * perf(frontend): virtualize model price dialog to fix lag with many models by @suixinio in https://github.com/looplj/axonhub/pull/2163 * feat: add sse keep alive, close #2146 by @looplj in https://github.com/looplj/axonhub/pull/2157 * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/2176 * feat(channels): per-credential auto disable with scheduled recovery by @zhaozhaozz in https://github.com/looplj/axonhub/pull/2180 * fix(responses): preserve polymorphic reasoning and Codex metadata by @MedAIerHHL in https://github.com/looplj/axonhub/pull/2178 * feat(apikeys): sync and transfer profile templates by @MedAIerHHL in https://github.com/looplj/axonhub/pull/2177 * fix(responses): report truncation and failure in streaming conversion by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2171 * fix(responses): 兼容 Responses API created_at 的浮点整数形式 by @Silentely in https://github.com/looplj/axonhub/pull/2187 * fix(stream): report incomplete streams to the client by @zhaozhaozz in https://github.com/looplj/axonhub/pull/2185 * request 请求体支持 对话阅览 模式,便于请求体数据查看 by @qintang in https://github.com/looplj/axonhub/pull/2182 * feat: add qiniu/fenno channel by @looplj in https://github.com/looplj/axonhub/pull/2188 * fix(claude-code): automate cache compatibility and OpenAI effort mapping by @AkaChou in https://github.com/looplj/axonhub/pull/2172 * feat(models): add thinkingmachines as model developer by @djdembeck in https://github.com/looplj/axonhub/pull/2190 * fix(sqlite-time-format-compat): 兼容 SQLite TEXT 时间戳格式并修复 backup 注册时区退化 by @Silentely in https://github.com/looplj/axonhub/pull/2189 * chore: add log for chat heartbeat by @looplj in https://github.com/looplj/axonhub/pull/2191 * feat: show request cache rate, close #2170 by @looplj in https://github.com/looplj/axonhub/pull/2193 * fix(responses): retry incomplete streams before done by @wtj-0527 in https://github.com/looplj/axonhub/pull/2192 * fix: model associate condition caused model not found, close #2183 by @looplj in https://github.com/looplj/axonhub/pull/2194 ## New Contributors * @Jonesxq made their first contribution in https://github.com/looplj/axonhub/pull/2119 * @bookshiyi made their first contribution in https://github.com/looplj/axonhub/pull/2121 * @vincentyzhj made their first contribution in https://github.com/looplj/axonhub/pull/2126 * @Lxiny-zy made their first contribution in https://github.com/looplj/axonhub/pull/2120 * @Snowy117 made their first contribution in https://github.com/looplj/axonhub/pull/2114 * @Kizunad made their first contribution in https://github.com/looplj/axonhub/pull/2031 * @rupaut98 made their first contribution in https://github.com/looplj/axonhub/pull/2144 * @AkaChou made their first contribution in https://github.com/looplj/axonhub/pull/2124 * @MrLiuGangQiang made their first contribution in https://github.com/looplj/axonhub/pull/2057 * @qintang made their first contribution in https://github.com/looplj/axonhub/pull/2182 * @wtj-0527 made their first contribution in https://github.com/looplj/axonhub/pull/2192 **Full Changelog**: https://github.com/looplj/axonhub/compare/v1.0.0-beta6...v1.0.0-beta7