Tags: ThreeFish-AI/coding-proxy
Tags
build(version): 发布 v0.5.2 — 供应商状态复位按钮 + quota 复位修复,v0.5.2 周期正式收口; (#280) 版本号升级至 0.5.2,CHANGELOG 定版。本版为 v0.5.2a1–a8 预发布周期的正式收口版, 增量收敛 PR #279 三项改动:QuotaGuard.reset() 拆解「状态机复位」与「用量清零」的 耦合(复位后 1d 配额徽章不再永久停 0%);Overview 供应商状态卡片新增「状态复位」 按钮(POST /api/reset,不重排序、不清用量);修复 rlInfo.limited 与 is_rate_limited 键名不匹配致「限速中」徽章从未渲染。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
build(version): 版本号升级至 0.5.1; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]>
v0.4.0 (#233) * fix(proxy): 修复 tool_use.input 非法 JSON 序列化导致的级联故障转移失败; (#213) - 防御性 tool_use.input 序列化: 非 dict 类型(None/字符串等)降级为空字典, 避免向 copilot 发送非 JSON 对象的 arguments 字段 - 识别 zhipu 500 'ClaudeContentBlockToolResult' 错误为格式不兼容, 不计入熔断器, 确保干净的故障转移到 copilot - 扩展 _is_likely_request_format_error 覆盖结构化 400 响应中 invalid_tool_call_format 错误码的检测 - 新增对应单元测试: input 类型降级、zhipu 格式错误检测、结构化 400 检测 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(usage-parser): 补充 OpenAI/Gemini SSE 流式分支的 model_served 提取; (#214) OpenAI 和 Gemini 的 SSE 流式响应解析中,model_served 仅写入证据记录而未赋值 到主 usage 字典,导致 Native API 流式路径下模型名称回退为 "unknown"。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * build(version): 升级版本号 0.3.1a3 → 0.3.1a4; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 为 tool_result 块注入 id 字段,修复 zhipu GLM-5 后端 500 错误; (#215) 新增 _inject_tool_result_id_for_zhipu 辅助函数,在所有 targeting zhipu 的转换通道 (copilot→zhipu、anthropic→zhipu、zhipu self-cleanup)末尾统一注入 tool_result.id, 解决 zhipu 后端错误访问 .id 属性导致的 'ClaudeContentBlockToolResult' object has no attribute 'id' 级联故障转移问题。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * build(version): 升级版本号 0.3.1a4 → 0.3.1a5; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 移除 zhipu 目标转换中有害步骤,修复 500 级联故障及遗留测试; (#216) * fix(vendor-channels): 移除 zhipu 目标转换中的有害步骤,修复 500 级联故障; 从 prepare_copilot_to_zhipu、prepare_anthropic_to_zhipu、prepare_zhipu_self_cleanup 三个通道中移除 enforce_anthropic_tool_pairing(tool_result 搬迁触发 zhipu 500)、 _inject_tool_result_id_for_zhipu(zhipu 类不读取 JSON id,注入无效)、 _strip_cache_control(GLM-5 原生支持 cache_control)。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 修复 zhipu 移除 id 注入后遗留测试断言错误; 6 处测试的断言仍检查旧行为(id 被注入 / cache_control 被移除 / tool_result 被搬迁), 导致 KeyError 或 AssertionError。统一更新为验证新语义:id 不注入、cache_control 保留、 inline tool_result 保留在 assistant 原位。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * docs(agents): 新增"In-depth and close to the facts"协作准则; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * build(version): 升级版本号 0.3.1a5 → 0.3.1a6; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * build(version): 升级版本号 0.3.1a6 → 0.3.1a7; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 修复 zhipu tool_result 500 级联故障 (#217) * fix(vendor-channels): 移除 zhipu 目标转换中的有害步骤,修复 500 级联故障; 从 prepare_copilot_to_zhipu、prepare_anthropic_to_zhipu、prepare_zhipu_self_cleanup 三个通道中移除 enforce_anthropic_tool_pairing(tool_result 搬迁触发 zhipu 500)、 _inject_tool_result_id_for_zhipu(zhipu 类不读取 JSON id,注入无效)、 _strip_cache_control(GLM-5 原生支持 cache_control)。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 修复 zhipu 移除 id 注入后遗留测试断言错误; 6 处测试的断言仍检查旧行为(id 被注入 / cache_control 被移除 / tool_result 被搬迁), 导致 KeyError 或 AssertionError。统一更新为验证新语义:id 不注入、cache_control 保留、 inline tool_result 保留在 assistant 原位。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 在 tier 门控层主动跳过含 tool_result 的 zhipu 请求; 修正前两次诊断:zhipu 500 发生于所有含 tool_result 块的请求(非仅 tool pairing 后)。 根因是 zhipu 后端 ClaudeContentBlockToolResult 类缺少 id 属性且 JSON 注入无效。 通过 RequestCapabilities.has_tool_results 门控,在发送请求前跳过 zhipu tier, 消除「尝试 → 500 → failover」的无效延迟。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(vendor-channels): 将 tool_use/tool_result 展平为 text 块,彻底修复 zhipu 500 错误 zhipu 后端的 ClaudeContentBlockToolResult 类缺少 id 属性, 无法通过 JSON 注入修复。改用在转换通道中将所有 tool_use 和 tool_result 块转为 text 块的策略,让 zhipu 仅看到纯文本对话。 - 新增 _flatten_tool_blocks 辅助函数 - 三个 zhipu 目标通道均调用展平逻辑 - 移除 ZhipuVendor.supports_request 中的 tool_result 门控 - 更新全部相关测试用例 Co-Authored-By: Claude Opus 4.7 <[email protected]> --------- Co-authored-by: Claude Opus 4.7 <[email protected]> * revert(vendor-channels): 还原至 v0.3.0 基线,修复 failover 级联 server_tool_use.id 400 错误 (#218) * revert(vendor-channels): 还原至 v0.3.0 基线,修复 failover 级联 server_tool_use.id 400 错误; - 还原 vendor_channels.py 至 v0.3.0(移除 _flatten_tool_blocks、_inject_tool_result_id_for_zhipu、 _enforce_pairing_sanity_pass、zhipu 自清理通道、anthropic→zhipu 通道等 v0.3.0 后引入的特殊处理) - 修复 _determine_source_vendor Priority 1 逻辑:仅当 failed_tier 有已注册转换通道时才返回, 否则降级到 session history / body inference,确保 copilot→anthropic failover 时能通过 session 找到 zhipu 源并正确清理 server_tool_use 块 - 还原 model/vendor.py(移除 TOOL_RESULTS capability) - 部分还原 error_classifier.py(保留 CN 语义拒绝标记,移除 has_tool_results) - 还原 executor.py(移除 zhipu 500 特殊检测,保留 invalid_tool_call_format 检测) - 同步更新测试用例,全部 1399 测试通过 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * docs(issue): 恢复与 vendor-channels 回退无关的 Issue #1 文档; 回退 vendor-channels 至 v0.3.0 基线时误删了 docs/issue.md 全部内容, 其中 Issue #1(streaming usage parse failed)描述的 null 防护修复 仍保留在 usage_parser.py 中,属于无关文档,不应被连带删除。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * feat(session-policy): 新增 Session 级别路由策略与会话活动面板 (#219) * feat(session-policy): 新增 Session 级别路由策略与会话活动面板; - 新增 SessionPolicy 配置模型(Pydantic),支持按 session_key / client_category 匹配并覆盖 vendor 优先级 - 新增 SessionPolicyResolver 解析引擎,启动时构建索引实现 O(1) 查找 - 为 usage_log 表新增 session_key 列及索引,含幂等迁移逻辑 - 新增 query_recent_sessions / query_session_profile 聚合查询方法 - executor 路由流式/非流式请求时按 Session Policy 动态重排 tier 顺序 - Dashboard 新增 Recent Active Sessions 面板,展示近期会话聚合数据 - 新增 /api/dashboard/sessions API 端点 - 新增完整测试覆盖(schema、迁移、策略解析、tier 重排、聚合查询) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(session-policy): 修复 Dashboard XSS 风险并标注 client_category 为预留字段; - 新增 escapeHtml() 工具函数,对所有用户可控数据(session_key、models、vendors、categories)插入 innerHTML 前进行 HTML 实体转义 - title 属性中的 session_key 同样使用转义后的值 - 在 SessionPolicyMatch.client_category 字段描述和 config.default.yaml 中明确标注该条件为预留功能,当前版本暂未生效 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * build(version): 升级版本号 0.3.1a7 → 0.3.1a8; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * feat(dashboard): 拆分首页为 Overview / Recent Active Sessions 双页签; (#220) - 顶部新增 Tab 导航(Overview / Recent Active Sessions),用 `?tab=` 同步 URL 状态,F5 与书签可保留页签; - 将 refresh() 拆为 refreshOverview() + refreshSessions() + 分发器,⟳ 按钮与 10 分钟 setInterval 均仅刷新当前页签; - 页签切换采用懒加载(首次切到才请求,再切回不重复请求),降低无关 API 调用; - refresh() 加入循环补刷快照机制,防止 await 期间用户切页签导致 tabLoaded 标记错位; - 沿用既有 CSS 变量与暗色主题,新增 .tabs / .tab-btn / .tab-pane 样式。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * feat(session-vendor): 新增 Session 级别运行时 vendor 绑定能力 (#221) * feat(session-vendor): 新增 Session 级别运行时 vendor 绑定能力 - SessionPolicyResolver 支持运行时 upsert/remove/list 操作,无需重启服务 - 新增 PUT/DELETE/GET /api/session-vendor API 端点 - Dashboard Sessions 表新增 "Vendor Bind" 下拉选择器,即时绑定 vendor - CLI 新增 session 子命令组(bind/unbind/list) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(session-vendor): 修复 CLI unbind URL 编码与 list_runtime_bindings 类型标注; - session_unbind 中 key 参数使用 urllib.parse.quote 进行 URL 编码,防止特殊字符导致路由匹配失败 - 修正 list_runtime_bindings 返回类型为 dict[str, str | list[str]],准确反映 session_key 为 str、vendors 为 list[str] 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(session-vendor): 修复 Dashboard bind 变更响应检查与 XSS 防护; - handleBindChange 增加 resp.ok 检查,失败时 revert select 并输出错误日志 - buildBindSelect 改用 data-session-key 属性 + 事件委托替代 inline onchange,消除字符串拼接注入风险 - resolve() docstring 补充 SessionPolicy 不可变约束说明 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(session-vendor): 修复运行时绑定覆盖配置策略与 Dashboard 容错; - upsert 时备份被覆盖的配置策略,remove 时自动恢复,避免配置策略永久丢失 - Dashboard updateSessions 改用 Promise.allSettled,bind/status 请求失败时降级而不阻塞表格渲染 - 新增 test_runtime_remove_restores_config_policy 测试用例覆盖恢复路径 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(session-vendor): 修复 API JSON 解析异常处理与 Dashboard 多绑定显示; - routes: request.json() 添加 try/except,malformed JSON 返回 400 而非 500 - routes: 区分 "非 JSON" 与 "非 JSON Object" 两种错误消息 - dashboard: buildBindSelect 多 vendor 绑定时显示 (+N) 后缀提示 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * build(version): 升级版本号 0.3.1a8 → 0.3.1a9; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 优化 Recent Active Sessions 表格 UI,消除滚动条并新增分页 (#222) * fix(dashboard): 优化 Recent Active Sessions 表格 UI,消除滚动条并新增分页; - 解析 session_key JSON,分别展示 session_id(首列完整显示)、device_id 与 account_uuid(紧凑副文本) - 采用 table-layout: fixed + colgroup 固定列宽比例,消除底部水平滚动条 - 新增客户端分页(默认 30 行/页,显示总行数与页码),消除右侧垂直滚动条 - 后端 API limit 上限从 100 调整到 200,支持前端拉取更多数据 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 提升 session-key 样式选择器优先级,确保覆盖通用 td 规则; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * build(version): 升级版本号 0.3.1a9 → 0.3.1a10; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 优化 Recent Active Sessions 表格列显示,消除内容截断 (#223) - 重分配列宽:Session ID 22%→16%,Client 6%→10%,Vendor Bind 8%→10%, Models 14%→16%,Vendors 12%→14%,解决 Client/Vendor Bind 每行溢出问题 - 供应商标签去文本前缀,改用颜色区分 API(蓝)/CC(绿) 类型,节省约 40% 列宽 - Models/Vendors 列允许标签换行,解除全局 nowrap 约束 - Models 显示上限 2→3,"+N" 标签添加 title tooltip 显示完整列表 - Vendors 增加上限 4,超出部分 "+N" + tooltip 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(dashboard): 优化 Recent Active Sessions 表格显示与交互体验 (#224) * fix(dashboard): 优化 Recent Active Sessions 表格列显示,消除内容截断 - 重分配列宽:Session ID 22%→16%,Client 6%→10%,Vendor Bind 8%→10%, Models 14%→16%,Vendors 12%→14%,解决 Client/Vendor Bind 每行溢出问题 - 供应商标签去文本前缀,改用颜色区分 API(蓝)/CC(绿) 类型,节省约 40% 列宽 - Models/Vendors 列允许标签换行,解除全局 nowrap 约束 - Models 显示上限 2→3,"+N" 标签添加 title tooltip 显示完整列表 - Vendors 增加上限 4,超出部分 "+N" + tooltip 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 优化 Session 表格显示 — 禁止换行、添加 Tooltip 与 Copy 按钮 - 移除 cell-tags 换行样式,所有单元格统一 nowrap + ellipsis,行高统一 48px - Session ID 列缩窄至 12%,添加 ⧉ Copy 按钮一键拷贝 Session Key - Models/Vendors 单元格添加 title tooltip,鼠标悬停显示完整标签列表 - 修复 Success 列 "..." 问题:添加 cell-success 类禁用 ellipsis(进度条复合内容) - 进一步优化列宽:Vendors 14%→12%、Client/Vendor Bind 10%→12%、Models 16%→17% 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): Avg Latency 列使用可读时长单位(ms/s/min)自动换算 - <1s 显示毫秒(如 234ms) - 1s~60s 显示秒(如 2.3s、15s) - >=60s 显示分钟+秒(如 2min 30s、5min) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * feat(dashboard): 支持点击行展开详情卡片,显示完整字段内容 - 点击任意数据行展开/收起 detail-card(手风琴模式,仅展开一行) - 卡片以 grid 布局展示全部字段完整值:Session ID、Device、Account、 Models(全量标签)、Vendors(全量标签)、Avg Latency、Success Rate、Client - Session ID 列和 Vendor Bind 列点击事件隔离(stopPropagation), 避免误触展开 - 新增 toggleRow 函数,切换 .row-detail.open 类控制显隐 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * chore(gitignore): 添加 .playwright-mcp/ 到忽略规则 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 优化 Session 表格显示与交互体验 (#225) * fix(dashboard): 优化 Recent Active Sessions 表格列显示,消除内容截断 - 重分配列宽:Session ID 22%→16%,Client 6%→10%,Vendor Bind 8%→10%, Models 14%→16%,Vendors 12%→14%,解决 Client/Vendor Bind 每行溢出问题 - 供应商标签去文本前缀,改用颜色区分 API(蓝)/CC(绿) 类型,节省约 40% 列宽 - Models/Vendors 列允许标签换行,解除全局 nowrap 约束 - Models 显示上限 2→3,"+N" 标签添加 title tooltip 显示完整列表 - Vendors 增加上限 4,超出部分 "+N" + tooltip 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 优化 Session 表格显示 — 禁止换行、添加 Tooltip 与 Copy 按钮 - 移除 cell-tags 换行样式,所有单元格统一 nowrap + ellipsis,行高统一 48px - Session ID 列缩窄至 12%,添加 ⧉ Copy 按钮一键拷贝 Session Key - Models/Vendors 单元格添加 title tooltip,鼠标悬停显示完整标签列表 - 修复 Success 列 "..." 问题:添加 cell-success 类禁用 ellipsis(进度条复合内容) - 进一步优化列宽:Vendors 14%→12%、Client/Vendor Bind 10%→12%、Models 16%→17% 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): Avg Latency 列使用可读时长单位(ms/s/min)自动换算 - <1s 显示毫秒(如 234ms) - 1s~60s 显示秒(如 2.3s、15s) - >=60s 显示分钟+秒(如 2min 30s、5min) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * feat(dashboard): 支持点击行展开详情卡片,显示完整字段内容 - 点击任意数据行展开/收起 detail-card(手风琴模式,仅展开一行) - 卡片以 grid 布局展示全部字段完整值:Session ID、Device、Account、 Models(全量标签)、Vendors(全量标签)、Avg Latency、Success Rate、Client - Session ID 列和 Vendor Bind 列点击事件隔离(stopPropagation), 避免误触展开 - 新增 toggleRow 函数,切换 .row-detail.open 类控制显隐 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * chore(gitignore): 添加 .playwright-mcp/ 到忽略规则 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * fix(dashboard): 修复 Copy 按钮导致 JS 报错、展开卡片样式不可读及版本号显示异常 - 将 copyText 内联值改为 copyFromParent 从 data-key 属性读取,避免 JSON 双引号在 onclick 中导致 JS 解析失败 - 优化展开卡片样式:渐变背景、蓝色边框、阴影、增大间距与圆角 - 页面初始化时立即加载版本号,修复直接进入 Sessions tab 时版本显示为 v-.-.- 的问题 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * style(dashboard): 重命名页签「Recent Active Sessions」为「Sessions」 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * style(dashboard): 增强 Success 列进度条底色对比度 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> * style(dashboard): 将页签导航移至头部栏,优化为胶囊样式; (#226) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(dashboard): 重构 Session 详情卡片布局,解决内容重叠问题; (#227) 将 Session 详情卡片的扁平网格布局重构为身份信息行 + 指标网格两层结构, 分离 Session ID/Device/Account 等身份字段与指标字段的展示区域, 新增 title 属性提供完整值悬浮提示,消除窄屏下的内容重叠与截断。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * style(dashboard): 优化 Session 详情卡片布局与信息展示; (#228) - 调整 identity-row flex 比例,首项 2 其余 3,改善空间分配 - 将 Success Rate 与 Client 合并为 inline-pair 横向排列,减少纵向高度 - 移除 Sessions 卡片冗余标题(Tab 已提供上下文) - 修复 success-bar-fill display 属性确保正确渲染 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(dashboard): 切换页签时自动刷新当前页数据; (#229) 移除 switchTab() 中的 tabLoaded 条件守卫,使每次在 Overview 与 Sessions 页签间切换时都触发 refresh(),而非仅首次访问时加载数据。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(dashboard): 修复供应商状态卡片进度条显示异常,使用 quota-group 包裹配额元素确保折行一致性; (#230) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * style(dashboard): 收窄 KPI 卡片间隙至原来的 1/3; (#231) 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * fix(dashboard): 修复 Session 详情卡片内容折行问题,强制单行显示; (#232) - 身份行(Session ID/Device/Account)长值不再折行,超长部分以省略号截断 - 指标网格改为固定 8 列布局,确保所有指标在一行中均匀排列 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) * chore(release): 发布 v0.4.0 版本; 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang<[email protected]> --------- Co-authored-by: Claude Opus 4.7 <[email protected]>
PreviousNext