Skip to content

[Enhancement]: 减少核心、TUI 和桌面端的重复计算与 I/O,保持轻量 #17

Closed

Description

@JuiXiang

Duplicate of ### 要解决的问题

长会话、连续流式输出及较大的文件/工具结果会触发重复统计、渲染、扫描和整份数据复制。希望在不增加依赖、后台任务、持久化格式或通用缓存框架的前提下,减少这些开销。

范围

  • Core/LLM:有界文件读取和 grep 停止遍历,移除 find 无效目录检查、重复 token 估算和会话引用列表;健康会话树跳过恢复排序,Shell 优先解码 UTF-8,减少编辑拼接与 JSON 参数处理的临时复制。
  • TUI:底栏按现有会话事件失效统计快照,不逐帧遍历历史;减少消息文本重复处理,首个字形复用现有 Unicode 正则,保持编辑、撤销及组合字符行为。
  • 桌面:避免无关输入更新重绘 Markdown/工作栏,按展开状态渲染 diff,减少工具结果与时间线分配;优化协议 dataclass 转换、Git 未跟踪文件处理、目录属性读取及其对象生命周期。
  • 记忆:正常 JSONL 尾部检查仅读最后一个字节,异常修复、完整重放校验、锁和 fsync 不变。

验收

  • 不新增依赖、常驻任务、缓存框架、索引、公开 RPC 或 JSONL 格式。
  • 正常输出、顺序、截断提示、活动分支、Plan 和权限门禁不变。
  • 性能回归通过调用次数、对象生命周期或有界读取断言验证,不用脆弱的计时阈值作为测试门槛。
  • 覆盖 Unicode、超大输入、异常日志、会话恢复、分支切换和 stale 事件。
  • 在独立检出重跑 Python/桌面测试、Ruff、发布类型检查及构建;区分本地验证与远端 CI。
  • 发布仅包含优化及其测试,不夹带尚未提交的图片上传、联网搜索、模型迁移、凭据、构建产物或本地资料。

进度

已从混合工作区提取独立优化提交 39f7ea9 并推送 dev,关联发布 PR #16(dev → main),最新提交 45d3925 的 push/PR 两组 Windows 和 Ubuntu CI 均通过,待审查与合并。独立检出验证:Python 1574 passed/3 skipped;桌面 153 passed;Ruff、发布类型检查、全包及桌面构建、版本检查通过。首轮并发测试的瞬时失败与跳过边界已在 PR 如实记录。微基准只作为特定路径的证据,不代表整个应用的提速比例。

由 @JuiXiang 认领。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions