脉络 v0.25.0
这一版把小枢的界面能力全面升级为 json-render 可交互卡片:彻底移除旧的重型 recharts 图表渲染,图表与界面统一收敛到轻量的 JSON 组件体系,卡片上的按钮可以直接操作任务(经权限审批),并修复了定时任务历史与对话滚动条的两个 bug。
小枢交互卡片(json-render)
- 移除 recharts 图表渲染:删除旧的
mailuo-chart协议与 600 多行图表代码;小枢输出图表改为纯 CSS/SVG 的轻量组件(条形图、环图、趋势线、仪表、堆叠条、散点),固定高度、无异步布局,滚动更稳定。 - 卡片可交互:小枢生成的界面不再只是"看",按钮/勾选/开关可直接触发真实操作——创建任务、修改状态、删除任务、切换项目、应用操作组等,全部复用现有权限审批(confirm-sensitive 弹窗 / yolo 直通 / read-only 拒绝)。
- 统一组件目录:Card / Row / Stat / Text / Badge / List / Table / Progress / Callout / Divider + 图表组件 + Button / TextInput / Checkbox / Switch / Tag / Empty,由
catalog.prompt()自动生成给模型的协议说明。 - 动作白名单:AI 输出的动作绑定经过白名单过滤,未知动作自动剔除,防止模型调用未注册能力。
- 文本与卡片混排:小枢可以在一段回复中穿插多个界面块(最多 3 个)。
问题修复
- 定时任务运行历史重复行:
runNow的 IPC 返回值与主进程事件推送双通道竞态导致同一条运行记录重复展示,统一改为按 id 去重合并(upsert)。 - 小枢对话滚动条与内容脱节:图表/图片等异步高度变化后滚动条长度与实际内容不匹配、"回到最新"滚不到位——用 ResizeObserver 跟随内容与面板尺寸变化,回到最新先瞬移再平滑校准。
Full Changelog: v0.24.0...v0.25.0