Skip to content
This repository was archived by the owner on Apr 20, 2026. It is now read-only.

Latest commit

 

History

History
247 lines (166 loc) · 10.7 KB

File metadata and controls

247 lines (166 loc) · 10.7 KB

Changelog

本项目变更记录遵循以下约定:

  • 参考 Keep a Changelog 结构
  • 版本号遵循 Semantic Versioning(SemVer)
  • 每次更新优先记录到 Unreleased,发布时再归档到具体版本

[Unreleased]

Added

  • 暂无(下一个版本迭代中)

Changed

  • 暂无(下一个版本迭代中)

[0.3.11] - 2026-03-14

Added

  • 新增上下文使用进度条与百分比文本,支持点击触发压缩并提示估算占比。
  • 新增 Token 估算与模型上下文窗口映射工具。
  • 新增 Token 估算与模型上下文映射单元测试用例。

Changed

  • 模型 registry 更新时同步刷新上下文占用显示。
  • 会话仅包含系统消息时隐藏上下文占用条,避免误触。
  • 序列化消息时剔除 estimatedTokens 缓存字段,避免持久化噪音。

Fixed

  • 流式追加消息时失效 Token 缓存,避免上下文占用低估。

[0.3.10] - 2026-03-11

Added

  • 新增发送快捷键设置,支持在 Enter⌘+Enter/Ctrl+Enter 之间切换,适配不同用户习惯。
  • 优化 IME 输入法组合状态检测,避免中文输入时误触发发送。

[0.3.9] - 2026-03-11

Added

  • 新增 Vitest 测试基础与 npm test 脚本,补齐最小单测运行能力。
  • 新增自动重连与模型归一化相关测试用例,覆盖核心逻辑。

Changed

  • 自动重连模式归一化逻辑统一为单一来源,避免重复实现。
  • 模型选项归一化逻辑增强,兼容非字符串 payload 并统一入口。
  • Agent 离线时输入区禁用,提示需先连接后输入。

Fixed

  • 重连成功后刷新输入框状态,避免连接恢复后仍显示旧态。

[0.3.6] - 2026-03-03

Added

  • 新增“对话完成提示音”能力:在会话 task-finish 后自动播放提醒。
  • 新增顶部铃声选择器,支持多铃声切换与“关闭铃声”选项。
  • 新增项目内铃声素材目录 public/audio/bell,用于前端静态资源播放。

Changed

  • 铃声素材文件名统一为简洁命名(如 bell-happy.wavchime-quick.wav),便于维护与引用。
  • 优化应用图标视觉体积,调整到更接近系统图标的 Dock 显示比例。
  • 更新版本号到 v0.3.6,同步前端、Rust、Tauri 配置与项目文档版本信息。

[0.3.5] - 2026-03-01

Added

  • 新增 Agent 思考模式开关,支持在会话运行时一键开启或关闭。
  • 新增创建 Agent 时的工作目录文件夹选择能力,减少手动输入路径错误。

Changed

  • 思考模式交互优化为“首次允许切换,若模型拒绝则标记为不支持并禁用后续点击”。
  • 思考开关在不支持场景显示为 思考:不支持,并提供明确提示信息。
  • 更新版本号到 v0.3.5,同步前端、Rust、Tauri 配置与项目文档版本信息。

Fixed

  • 修复思考开关切换过程中的文字闪动问题,提升按钮状态稳定性。

[0.3.4] - 2026-03-01

Added

  • 新增“文件变更”面板,支持按 Agent 查看工作区 Git 变更文件列表。
  • 新增单文件 Diff 弹窗与 +/- 行高亮展示,支持从文件列表点击查看具体 diff。

Changed

  • 工具调用与文件变更面板支持关闭后通过顶部按钮再次打开。
  • 文件 Diff 弹窗标题改为单行 文件 <path> Diff,并增大弹窗宽度以提升可读性。
  • 文件变更刷新体验优化:增加最后刷新时间,并在 Agent 忙碌时禁用刷新按钮。
  • 更新版本号到 v0.3.4,同步前端、Rust、Tauri 配置与项目文档版本信息。

Fixed

  • 修复文件 Diff 弹窗宽度未按预期生效的问题。
  • 修复刷新文件变更时 Agent 不存在场景的静默失败问题,改为输出 warning 便于排查。

[0.3.3] - 2026-02-28

Added

  • 新增开发环境清理脚本 scripts/clean-dev.sh,用于启动前清理 1420 端口监听与当前项目调试残留进程。

Changed

  • tauri:dev 启动链路调整为先执行 npm run clean 再启动 Tauri,减少开发阶段端口冲突。
  • Agent 进程销毁链路统一,disconnect/switch 与应用退出事件都复用同一套回收逻辑。
  • 更新版本号到 v0.3.3,同步前端、Rust、Tauri 配置与项目文档版本信息。

Fixed

  • 修复开发阶段关闭后再次运行偶发提示 1420 端口占用的问题。
  • 修复应用退出时当前实例 Agent 子进程可能残留的问题。

[0.3.2] - 2026-02-28

Added

  • 新增应用图标资源(基于 src-tauri/icons/Subject.png 生成),补齐 Tauri 打包所需图标集。
  • README 新增 Icon 标识与图标展示,便于快速识别当前应用图标。

Changed

  • 更新版本号到 v0.3.2,同步前端、Rust、Tauri 配置与项目文档版本信息。

[0.3.1] - 2026-02-28

Fixed

  • 修复 Agent 列表删除按钮在桌面端偶发无响应的问题,增强点击命中与删除流程稳定性。
  • 修复左下角“清除当前 Agent 会话”按钮点击无效的问题,恢复会话与磁盘历史清理能力。

Changed

  • 更新版本号到 v0.3.1,同步前端、Rust、Tauri 配置与项目文档版本信息。

[0.3.0] - 2026-02-27

Changed

  • 修复窗口缩放时主界面布局不自适应导致内容显示不全的问题,增强中小尺寸窗口可用性。
  • 更新版本号到 v0.3.0,同步前端、Rust、Tauri 配置与项目文档版本信息。

[0.2.2] - 2026-02-27

Changed

  • 优化浅色主题下的弹窗遮罩层对比度,统一通过主题变量控制遮罩透明度。
  • 优化 Markdown 链接在浅色主题下的颜色对比度,提高可读性。
  • 更新版本号到 v0.2.2,同步前端、Rust 与 Tauri 配置版本。

[0.2.1] - 2026-02-27

Added

  • 新增应用亮/暗色主题功能,支持在界面中切换主题模式。

Changed

  • 更新版本号到 v0.2.1,同步前端、Rust 与 Tauri 配置版本。

[0.2.0] - 2026-02-26

Added

  • 顶部工具栏新增模型选择器,支持显示当前模型、展开模型列表、点击切换模型。
  • 新增 ACP 模型元数据事件同步:后端解析 session/new / session/load 返回的 _meta.models 并推送到前端。
  • 新增 iFlow 历史会话导入能力:
    • 后端读取 ~/.iflow/projects/<workspace-key>/session-*.jsonl
    • 前端在 Agent 视图中合并展示历史会话列表,并按需加载历史消息正文。
  • 对话区新增快捷交互按钮:
    • 助手最后一条消息下显示“继续 / 好的 / 重试上一问”;
    • 用户最后一条消息下显示“重试发送”。
  • Agent 列表新增“编辑名称”按钮,支持直接重命名 Agent(保持工作路径不变)。
  • 消息内容新增基础 Markdown 渲染能力,支持标题、列表、引用、行内代码、代码块、链接与图片展示。
  • 新增 HTML Artifact 预览能力:
    • 自动从消息/工具输出中识别 .html/.htm 路径并显示“预览 HTML”按钮;
    • 点击后通过弹窗内 iframe 直接预览生成的 HTML 文件。
  • 左侧底部新增版本号展示(vX.Y.Z)。
  • 新增“清除当前 Agent 会话”能力:可删除当前 Agent 对应路径下的 iFlow 历史会话文件。

Changed

  • 模型切换链路改为“ACP 优先 + 重启兜底”:
    • 优先调用 session/set_model,减少切换中断;
    • ACP 不可用时自动回退到重启进程并通过 --model 切换。
  • 模型列表获取兼容增强:后端支持从 iflow.js / entry.js 解析模型常量。
  • 工具调用面板改为按 toolCallId 增量合并,不再每条事件全量覆盖。
  • 输入区发送态交互调整为“发送按钮切换停止按钮”:
    • 回复进行中可点击停止,不必等待自然返回;
    • 前端点击后立即结束等待动画,并异步发送 ACP session/cancel 请求。
  • 新增后端受限文件读取命令 read_html_artifact
    • 仅允许读取当前 Agent 工作目录内的 .html/.htm 文件;
    • 增加路径越界校验与文件大小限制,避免任意文件读取。
  • HTML Artifact 预览性能优化:
    • 预热预览容器,降低首次打开卡顿感;
    • 引入基于 Agent + 文件路径 的内存缓存,重复打开同一文件更快;
    • 后端 HTML 读取链路改为 tokio::fs 异步 I/O,降低阻塞风险。
  • ACP 消息发送链路支持会话绑定:
    • send_message 支持传入 sessionId
    • listener 在发送 prompt 前会根据目标 sessionId 执行 session/load,失败时回退 session/new(sessionId=...)
  • 会话存储结构升级为“轻量索引”:
    • Session 新增 acpSessionId/source
    • source=iflow-log 的消息正文不再写入本地快照,避免与 iFlow 日志重复存储。

Fixed

  • 修复工具调用在状态变为 completed 后内容闪烁/丢失的问题(例如 web_search 查询内容被覆盖)。
  • 修复工具调用面板只能显示最后一条的问题,改为支持同一轮显示多条调用记录。
  • 修复输入 / 后使用键盘上下键移动时,命令列表未自动滚动到高亮项的问题。
  • 修复 Markdown 管道表格(| a | b |)未渲染的问题,现已支持表格展示与横向滚动。
  • 修复 Markdown 分割线(---)后标题与分割线间距过小的问题,提升可读性。
  • 修复 iFlow 历史会话重复与正文丢失问题:
    • 会话快照持久化补充 acpSessionId/source,避免重启后关联信息丢失;
    • 读取旧快照时自动识别 iflowlog-<agent>-session-* 历史会话并回填;
    • 历史同步阶段增加按 acpSessionId/id 去重,避免重复导入同一会话。
  • 修复历史会话列表消息计数长期显示 0 的问题:优先展示 iFlow 历史返回的 messageCount,加载正文后自动更新为实际条数。
  • 修复历史内容渲染污染问题:
    • 后端历史解析只提取文本条目,过滤 tool_use/tool_result 等中间日志;
    • 前端识别 <Think>...</Think> 并转换为“思考”消息,避免标签原样显示与 Markdown 被打断。
  • 修复 HTML 预览“持续加载不结束/白屏”问题:
    • 增加超时兜底并显示错误,不再无限等待;
    • 路径提取增强(支持 JSON 片段、绝对路径、中文文件名与中文标点清洗);
    • 优先使用 srcdoc 展示,避免 URL 覆盖导致的空白。
  • 修复 iFlow 历史会话 acpSessionId 被运行时会话覆盖导致“卡在正在加载历史内容”的问题:
    • iflow-log 会话不再被 ACP 绑定覆盖;
    • 已污染会话可自动回退到 session-... 文件 ID。
  • 修复会话删除仅前端隐藏的问题:删除单条会话与批量清理当前 Agent 会话都会真实删除磁盘 session-*.jsonl

[0.1.0] - 2026-02-25

Added

  • 初始版本:Tauri + TypeScript 的 iFlow Workspace 基础能力。