Releases: tianemon/EasyMint
Releases · tianemon/EasyMint
Release list
v0.14.1
Fixed(修复)
- 运行面板 PID 显示:启动/重启脚本后显示「PID undefined」(字母)而非真实进程号——启动后补拉主进程状态,显示真实进程 id
- 弹窗容器聚焦光环:输出窗口等弹窗打开时按 Shift,出现系统默认 focus 边框(并曾导致窗口圆角被压成直角)——显式 tabindex 容器清除聚焦光环/默认 outline;全局 focus ring 不再强制圆角(光环跟随元素自身圆角)
- 抽屉指示器箭头偏移:侧边栏抽屉(任务/运行/Issues)底部小三角用写死百分比定位(12%/46%/80%),按钮宽度随文字变化导致箭头不居中——实测激活按钮中心精确对齐(切换/窗口 resize 时重新对齐)
v0.14.0
Added(新增)
- 「历史输入」抽屉(聊天页右上角按钮):右侧滑出半透明玻璃抽屉,显示当前会话全部用户提问(最新在上);顶部搜索框实时过滤(支持清空/无结果提示);点击记录跳转到对应消息(顶部对齐 + 圆角高亮 1.5s 淡出);点击列表项或外部区域关闭
- 输入框视觉统一:设置页/新建 issue/编辑脚本/新建项目/设备迁移等全部表单输入框统一为矩形大圆角(12px)+ 柔和边框样式——聚焦时外观完全不变(去除全局 focus 光环与 accent 高亮边框)
Fixed(修复)
- TabBar 高度漂移:空会话/打开会话两态下 TabBar 高度差 1-2px,导致聊天页顶部(含历史输入按钮)位置漂移——TabBar 高度固定 40px
- 输入框聚焦高亮残留:全局
*:focus-visible光环覆盖所有元素(含输入框)——输入框排除出全局光环规则
Changed(优化)
- 任务面板:去除进度条;任务列表倒序(最新任务在最前)
- 面板标题栏统一:任务/运行/问题记录三个抽屉面板标题栏去除底部横线、缩小与内容间距
v0.13.0
Added(新增)
- 「界面字体」滑杆(设置 → 外观):所有 UI 文字(文件列表/侧边栏/状态栏/会话列表/输入栏/设置页/弹窗)按 90%~130% 百分比统一缩放——此前 UI 骨架字号完全不受设置控制,170+ 处硬编码字号全部接入语义变量
- 「阅读字体」滑杆改为百分比:由 1-6 级改为 90%~130% 百分比(老用户设置自动迁移),控制所有需持续阅读的动态内容——聊天消息(正文/代码块/diff/思考过程/工具折叠)、代码编辑器、Shell 输出与运行日志、子 Agent 过程输出、脚本/提示词编辑区、便签正文
- 两套字号控制源划清界限:界面骨架(文件列表/侧边栏/状态栏/会话列表/输入栏/设置页/弹窗)归「界面字体」,动态阅读内容归「阅读字体」,互不影响
Fixed(修复)
- 重启后字号设置不生效:此前
loadFromElectron()只恢复设置值不写 CSS 变量,改过字号后重启回落默认值,直到再拖一次滑杆才生效——启动时同步应用 CSS 变量 - 老用户聊天字号级别迁移失效:磁盘旧
chatFontLevel(1-6 级)被主进程默认值吞掉,升级后字号静默回落 100%——去兜底让旧级别正确迁移(5 级 → 114%) - 文件树内联 12px 硬编码:
FileTreePanel内联fontSize:'12px'不受字号设置控制,已接入语义变量 - 环形圈百分比文字放大溢出:UI 字号放大时 20px 圆环内 8px 百分比文字可能溢出,加
clamp(8px, var(--text-4xs), 10px)限幅保护 - 输出窗口内容无法复制:窗口合并时输出区丢失可选标记(全局防选中生效)——恢复复制;便签正文/权限命令描述/问题标题统一接入可选类
- 便签文字拖动选择失效:置顶操作触发 React 重渲染,Chromium 交互式文本选择被回滚(松手即取消/需先点击)——置顶改为零重渲染(直写 DOM 层级)
- Ctrl+A 归属细化:焦点在内容区(消息气泡/输出窗口/便签/diff)只全选该容器;点击空白后二次全选不再失效
v0.12.2
Fixed(修复)
- 打断不再显示「已停止」提示:打断是主动操作,按钮状态变化即反馈——abort 类错误静默处理;真实错误(503/429/超时)仍提示 8s
- Mint 读 Skill 报 EISDIR:skill 注入列表的路径原指向文件夹(如
.../skills/project-run),Mint 按提示 Read 文件夹报"illegal operation on a directory"——路径改为直接指向SKILL.md文件 - 子进程输出乱码(U+FFFD):运行面板/shell 服务日志
chunk.toString()直接解码,多字节中文被 chunk 边界切断产生��——统一接入流式解码(decodeSeg,UTF-8 跨 chunk 等待/GBK 兜底) - ANSI 转义序列残留:彩色命令输出(flutter 构建等)的
[0;32m原文显示——显示层保留 ANSI 转彩色渲染;喂模型的文本(前台 bash/后台完成通知)剥离 - 链接点击窗口内跳走:Mint 回复的网址点击后 EM 界面被替换无法返回——
will-navigate拦截外部 URL 转系统浏览器 + marked 链接加target="_blank" - 打开已有会话体验:输入卡片先渲染、使用率按钮加载期间填充旧进度误导——消息加载期间显示「正在加载会话…」占位,使用率延迟到加载完成恢复
- Ctrl+A 全选整个页面:焦点在消息气泡内只全选该气泡;空白区域禁止页面全选;输入框保持编辑语义
- 弹窗点击关闭误触下层:点击运行日志窗口误关侧边栏抽屉——全局弹窗分层检测(overlay-stack),点击上层弹窗不关闭下层
- 输出窗口拖拽选中移出边缘误关窗口:遮罩关闭改为按下+松开双判断(onClick 公共祖先语义导致)
Changed(变更)
- 运行日志/后台 shell 窗口合并:统一 OutputWindow 组件(功能并集:停止按钮/日志路径/截断提示/ANSI 彩色/自动滚动/Ctrl+A/遮罩双判断)——两处入口同一弹窗;子 Agent 过程弹窗同步统一尺寸(80vw×80vh)与视觉
- 日志面板 ANSI 彩色渲染:One Dark 配色,日志内容先 HTML 转义防注入
buildSkillsPrompt三组 skill 输出封装为pushSkillGroup;scanSkillsbuiltin 归并合并(行为不变)- vite.config
__dirname→import.meta.dirname(Vite 8 native configLoader 兼容)
v0.12.1
Fixed(修复)
- 打断后按钮卡在打断态(busy 残留):多层时序竞态修复——
- 打断时 SDK 抛 AbortError 被误报为英文错误 → 归一化为「已停止」(短显示 2s)
- SDK 错误回合(turn_start → error → exit)turn_start 设的 busy 残留 → error 事件清 busy
- 打断后旧回合 exit 误清新回合 busy(后台通知恰在打断时开回合)→ 打断 1.5s 窗口忽略旧 exit
- error 后残留事件(tool_result/message_end)把 busy 打回 → error 后 1s 内不重新设 busy
- 打断后「已停止」消失回退显示残留 bash 执行信号(sleep 90)→ error 清 tool 信号
Changed(变更)
- vite.config.ts
__dirname→import.meta.dirname(Vite 8 native configLoader 兼容)+ 合并重复 build 键
v0.12.0
Added(新增)
- 运行面板升级为脚本管理器:不只启动项目——Mint 写的常用脚本(运行/构建/打包/安装/发版部署等)都加入面板一键运行;Mint 写脚本后询问是否添加或长期复用脚本默认添加并告知;项目完成时按技术栈生成预设脚本
- 脚本标题可编辑 + 命令引用脚本文件时跳转编辑器:点击标题打开编辑弹窗(标题+命令极简表单);命令调用脚本文件(bash/./xx.sh 等)时提供「编辑脚本文件」按钮,直接用 EM 编辑器打开文件本体
- 平台标签按命令自适应:按「解释器+文件扩展名」(bash xx.py→python、./xx.java→java、./xx.js→nodejs)或命令首词(flutter/git/npm…)推断;未命中小众命令直接显示命令首词——不再出现 sh 脚本显示 flutter 的情况;新增 git/java 平台标签
- run.json 写能力:编辑/删除脚本写回 run.json(保留原条目未知字段与顶层结构,兼容旧版格式)
- Issues 记录/编辑弹窗升级:全窗口居中 760×600(此前 440px 且被侧边栏 transform 劫持无法真正居中)
Changed(变更)
- 脚本卡片布局:标题 hover 滚动完整显示(点击可编辑);平台标签移至标题下方;命令不再常显
- 删除按钮:未运行态显示(内联确认),与运行按钮等高并排
- 抽屉高度 360px → 510px(运行/任务/Issues 统一);启动按钮文案「运行」
- 编辑弹窗 760×600 全窗口居中(createPortal 挂 body 脱离抽屉劫持)
Fixed(修复)
- 脚本编辑弹窗此前被侧边栏 transform 劫持无法全窗口居中(createPortal 修复)
- saveRunJson 兼容旧版 run.json(保留未知字段,仅覆盖已知字段)
Changed(依赖集体更新)
- 16 个依赖升级(Wanted 范围):vite 8.1.5→8.2.2、electron 43.2.0→43.4.1、eslint 10.8→10.9.1、zustand 5.0.14→5.0.15、vitest 4.1.10→4.1.11、@vitejs/plugin-react 6.0.4→6.1.0 等(electron 44 / typescript 7 为 major 暂不升级,保持稳定)
v0.11.4
Fixed(修复)
- 切换供应商后模型下拉不跟随:切换供应商后聊天页模型选择仍显示上一供应商的模型,需手动重选——主会话模型下拉改为跟随全局默认模型(store.model 联动 chatModel),切换即更新
- 供应商配置页保存/取消按钮不可见:表单较长时按钮在滚动区外,用户误点设置页 Footer「保存」导致编辑丢失——保存/取消改为 sticky 底部条始终可见;Footer「保存」改名「完成」(语义=关闭窗口)
v0.11.3
Added(新增)
- 会话级供应商切换:设置中切换供应商后,当前会话同步热切到新供应商(无需新建会话);会话绑定持久化,重启/重开会话仍沿用绑定供应商。此前切换只对新会话生效,已存在会话继续用创建时的供应商
- write 工具结果显示写入内容:write 写文件后展示带行号的完整内容预览(与 edit 的 diff 区分),不再只有标题栏路径
Fixed(修复)
- 工具结果开关失效(mcp 结果仍显示):关闭「工具结果」后 mcp_tavily 等搜索结果仍渲染到页面——工具结果改为跟随开关,仅 edit/read/write/bash 的开发结果保留(diff/路径/命令摘要)
- 日志窗口标题栏挤压:窗口较窄或命令较长时,状态文字/按钮被压缩换行成竖排——label 截断占主空间,状态与按钮固定不收缩
- AI 回复中粘贴图片附件条放大:busy 时附件预览条使用 64px 大缩略图版(非 busy 为 16px 胶囊),视觉突兀且超宽——统一为胶囊式,两处视觉一致
v0.11.2
Fixed(修复)
- 压缩弹窗 75% 阈值失效:防重复弹窗标记在会话切换/弹窗关闭/压缩失败后残留,导致阈值到了不再弹窗——压缩完成、会话切换时重置,弹窗关闭后下次回复重新武装
- 压缩蒙版误导显示:压缩蒙版此前在 SDK 真正开始压缩前就显示(手动路径预广播)——SDK 未开始压缩(如卡在中断等待)时界面显示"正在整理"但实际没压缩。改为显示严格跟随 SDK 真实状态(compaction_start),SDK 未开始则不显示
- 压缩状态异常卡界面:压缩挂起时输入永久禁用,用户只能结束会话——120 秒后自动恢复界面并提示(不中断压缩,可能仍在后台)
v0.11.1
Fixed(修复)
- 自定义供应商模型上下文窗口错误(压缩过早):自定义供应商注册模型时 contextWindow 硬编码 200k(maxTokens 硬编码 4096)——1M 窗口模型(kimi-k3/deepseek-v4-flash 等)只用了 ~20% 就触发 EM 弹窗压缩和 SDK 自动压缩。改为从 SDK 全量模型数据查表取真实窗口/输出上限
- 压缩弹窗错过阈值(长回合内无上报):上下文使用率只在回合结束时上报——长工具回合(连续几十次工具调用)内上下文暴涨时,EM 弹窗在 75% 无触发机会,直接由 SDK 兜底压缩。改为回合内节流上报(5s),弹窗可在回合中触发
- 压缩后使用率显示 0%:压缩完成且尚无新回复时使用率未知,原显示 0% 误导——改为显示"—"(未知),下条回复后恢复真实值
- 后台 shell 面板无输出(真根因):Mint 后台命令习惯性手动重定向输出(如
> file 2>&1),绕过系统自动收集——输出面板永远"等待输出"、日志文件为空。系统提示词 + bash 工具描述明确「后台命令输出自动收集,禁止手动重定向」,面板空输出时提示可能原因 - 后台 shell 输出解码健壮性:输出混入非 UTF-8 字节时解码器吞掉已确定内容导致输出卡住——已确定前缀即时输出,仅保留不完整尾部等待
- 自定义供应商默认模型缺失:编辑自定义供应商时无法指定默认模型(此前仅内置供应商可选)——配置页补全
Changed(优化)
- Pi SDK 升级 0.84.3:模型数据更新(GLM-4.6V、deepseek-v4-pro-0813 等新模型自动进查表)、压缩失败扩展事件(session_compact_failed)、Windows PowerShell 工具
- 输出面板可复制 + 自由滚动:子 Agent 过程、后台命令、运行日志三个弹层内容可选中复制;流式输出时用户滚动即停止自动贴底、可自由查看历史,滚离底部显示「回到底部」按钮恢复跟随
- 后台命令日志文件快捷跳转:shell 输出面板标题栏显示日志文件路径,点击在文件夹中显示(不打开文件)
- 供应商配置页优化:新增供应商默认选中「自定义供应商」(平台下拉自定义排第一);Base URL + API 协议移至 API Key 前