Repository navigation
v0.4.2
SLATE v0.4.2
A feature patch that turned the Settings activity view into something you can actually read a habit off, shipped the first half of the Slate Actions mechanism, and closed a class of silent frontend failures.
✨ New
- Activity heatmap, rebuilt — cell size cap raised 13px → 20px with auto-scaling gaps, and the canvas is now centered as a whole when it is narrower than its container. A new metrics strip reports longest streak / current streak / best day / active-day average, counted only over the visible range (an empty today does not break the streak). Hovering a cell lifts it with a gold ring.
- 2048, hidden in the heatmap — double-click any cell to play; the best score stays in local storage.
- Slate Actions P0/P1 —
backend/slate_yaml.pyparses and validates the SAY-1 subset;routers/actions.pyexposes list / read / write / delete / history-rollback; two tools (actions_read,actions_write) with writes behind the approval gate; the action directory is injected into the system prompt; the Settings panel gets a read-only list, an editor, delete and rollback;@mentioncandidates inject with a size cap. - Reasoning effort mapped upstream —
proxy.pynow mapsreasoning_effortacross all four protocols and passes Gemini thinking through.
🐛 Fixed
- A contradiction inside the conversation-mode prompt —
SYSTEM_BASEsplit into four sections (role / duties / agent protocol & tool discipline / answer style); agent mode reassembles byte-identically, conversation mode strips every tool instruction instead of arguing with its own[对话模式]declaration. - Refreshing ate your thinking-effort level — the control fell back and persisted during assembly, when the model was not yet known, so a reload could knock
highback toauto. It now only falls back once the model is settled. - No more silent frontend failures — a new
POST /api/diagnostics/js-errorwrites todata/js_errors.log(500KB rotation, deduplicated, origin+path only);error_sink.jscaptureserrorandunhandledrejection(with network-noise filtering and a 30-per-session cap), and fivecatchsites in the chat path now report their stage. - Whiteboard focus blew the stack —
Math.min(...xs)over a large point set is aRangeErrorat ~125k points; replaced with a per-point scan.pointermovealso drops sub-0.5px jitter, and the same spread-on-Math.maxfix was applied to the Git tree canvas. glm.svgupdated.
🔧 Chores
- Version bumped to 0.4.2; frontend cache string refreshed to
20260913-008; 16 self-check scripts in tree by this tag (check_error_sink,check_reasoning_effort,check_proxy_reasoning,check_usage_heatmapandcheck_slate_yaml,check_actions_contractamong them); README / GUIDE / docs site counts synced.
📥 Downloads
| Platform | File |
|---|---|
| Windows 10/11 x64 | SLATE-Setup-0.4.2.exe (checksum: SLATE-Setup-0.4.2.exe.sha256) |
| macOS | SLATE-Setup-0.4.2.dmg (checksum: SLATE-Setup-0.4.2.dmg.sha256) |
Install over the previous version — chat history, projects and API key settings are preserved.
⚠️ Known limitations
- Slate Actions is at P0/P1: a SAY-1 subset only, and the
@mentioninjection is capped, so long action libraries are not fully addressable. - The activity heatmap reads days aggregated locally; changing the machine time zone re-buckets history.
- The hidden 2048 keeps its best score on one machine only.
SLATE 砚 v0.4.2
本次为功能补丁:把设置页的活跃度视图做成真能看出习惯的样子、落地 Slate Actions 机制的 P0/P1,并收掉一类前端静默失败。
✨ 新功能
- 活跃度热力图重做:格子边长上限 13px → 20px、缝随边长自适应,画布窄于容器时整块居中。新增指标条「最长连续 / 当前连续 / 单日最高 / 活跃日均」,只在可见区间统计(今天空着不算断连续)。格子悬停抬起并加金圈。
- 藏在热力图里的 2048:双击任意格子即可开局,最高分只存本机。
- Slate Actions P0/P1:
backend/slate_yaml.py实现 SAY-1 子集解析与校验;routers/actions.py提供列表/读取/写入/删除/历史回滚路由;actions_read、actions_write两个工具(写入走审批门);系统提示注入动作目录;设置页面板支持只读列表、编辑器、删除与回滚;@mention候选带上限注入。 - 推理强度映射到上游:
proxy.py补齐reasoning_effort在四种协议下的映射,并透传 Gemini 思考。
🐛 修复
- 对话态提示词自相矛盾:
SYSTEM_BASE拆成「角色 / 职责 / Agent 协议与工具纪律 / 回答风格」四段,智能体态拼回逐字一致,对话态整段剥离工具指令,不再与自己的[对话模式]声明打架。 - 刷新把「思考强度」档位吃掉:装配期模型尚未确定时就回落并落盘,一次刷新能把
high打回auto;现在只在模型已确定时才回落。 - 前端异常不再静默:新增
POST /api/diagnostics/js-error落data/js_errors.log(500KB 轮转、去重、只留 origin+path);error_sink.js捕获error与unhandledrejection(过滤网络噪音、每会话上限 30 条),聊天链路上 5 处catch补上环节名上报。 - 白板聚焦爆栈:
Math.min(...xs)在大点集上是RangeError(约 12.5 万点即触发),改为逐点扫描;pointermove顺带丢掉 0.5px 以下的抖动,git 树画布的Math.max同理修正。 glm.svg更新。
🔧 工程
- 版本号升至 0.4.2;前端缓存串刷新为
20260913-008;该 tag 时仓库内共 16 个自检脚本(含check_error_sink、check_reasoning_effort、check_proxy_reasoning、check_usage_heatmap、check_slate_yaml、check_actions_contract);README / GUIDE / 官网计数同步。
📥 下载
| 平台 | 文件 |
|---|---|
| Windows 10/11 x64 | SLATE-Setup-0.4.2.exe(校验:SLATE-Setup-0.4.2.exe.sha256) |
| macOS | SLATE-Setup-0.4.2.dmg(校验:SLATE-Setup-0.4.2.dmg.sha256) |
覆盖安装即可,会话历史、项目与 API Key 配置全部保留。
⚠️ 已知限制
- Slate Actions 处于 P0/P1:只支持 SAY-1 子集,且
@mention注入带上限,动作库很长时无法全部寻址。 - 热度图按本机日聚合,改机器时区会把历史重新分桶。
- 隐藏 2048 的最高分只记在本机。