Skip to content

v0.4.7-preview.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:25
· 16 commits to main since this release

GenericAgent-Admin v0.4.7-preview.1

Conductor 稳定性与聊天页性能预览

修复 Conductor 回执读取与失败原因丢失问题,聊天页按需加载 KaTeX 并预压缩静态资源,同时完成大规模结构拆分。本版本为预览版,不替代 v0.4.6 正式版。

发布日期:2026-10-23 · 更新范围:v0.4.6 → v0.4.7-preview.1


✨ 本次亮点

  • Conductor 子任务失败时,失败原因保留真正的错误标记(如「生成中断」)或异常行,不再只截取前 4096 字的正文。
  • Conductor 回执在 Windows 原子替换期间被拒绝访问时自动重试,读取后即删除,避免回执文件堆积。
  • KaTeX 运行时与样式改为按需加载;静态资源提供构建时生成的 Brotli 预压缩文件。

📦 下载与安装

如何选择? 首次使用可选择自带运行环境的「便携包」;已有运行环境可选择「普通包」。macOS 桌面用户请选择 .app 应用,通过 Finder 启动。

系统 芯片架构 普通包 / 桌面应用 便携包
Windows amd64 普通包 · SHA-256 便携包 · SHA-256
Windows arm64 普通包 · SHA-256 便携包 · SHA-256
Linux amd64 普通包 · SHA-256 便携包 · SHA-256
Linux arm64 普通包 · SHA-256 便携包 · SHA-256
macOS amd64 .app 应用 · SHA-256 暂不提供
macOS arm64 .app 应用 · SHA-256 便携包 · SHA-256

每个下载入口旁均提供 SHA-256 校验文件;不提供的组合明确标注「暂不提供」。

macOS 命令行下载与包类型说明
  • macOS amd64 命令行普通包 · SHA-256

  • macOS arm64 命令行普通包 · SHA-256

  • 普通包:需自行配置 Python 与 GenericAgent 源码等运行环境。

  • 便携包:包含 GenericAgent 源码及 Python 运行环境,解压后按包内说明启动。

  • macOS 应用:解压后通过 Finder 打开 ga-admin.app,不要直接运行应用包内部的可执行文件。

📝 更新内容

新增功能

本次为修复与性能预览版本,无新增业务功能。

体验优化

  • 聊天页 KaTeX 运行时和样式仅在出现公式时加载。
  • assets 目录静态资源在构建完成后生成 Brotli 预压缩文件,浏览器支持时直接返回;index 保持动态主题注入。
  • Markdown 分块解析结果有界缓存复用,减少重复解析。
  • 后端 chat.go 按职责拆分为 12 个文件,前端 ChatApp 拆出多个组件与工具模块,style.css 移除被覆盖的重复声明;以上均为结构调整,不改变行为。

问题修复

  • 修复 Conductor 失败原因截断后丢失末尾错误信息的问题。
  • 修复 Conductor 回执在原子替换期间被拒绝读取导致失败的问题,并在读取后删除回执文件。
  • 修复草稿附件写入 localStorage 超出配额的问题,附件改为存放在 localStorage 之外。
  • 停止跟踪编译生成的 chat worker 字节码文件。

🔧 升级提示

  • 本版本为预览版(prerelease),不会被标记为最新正式版;如需稳定版本请继续使用 v0.4.6。
  • 按需下载对应平台附件升级;本次未部署或重启任何现有服务。

🧪 验证与已知限制

  • 发布前前端 verify(lint、lib 测试、构建)通过;Go 全量测试(go test -p 1 ./...)通过。

  • 发布工作流全部成功:六平台普通包、五种便携包及 SHA-256 校验文件共 26 个附件。

  • Conductor 失败原因修复依据代码中的错误消息格式与单元测试,尚未用真实失败现场的 outcome 文件对照验证。

  • 未部署到任何目标服务,未完成真实多模型 Conductor 端到端、弱网传输及手机真机验收。


展开完整提交记录(51 项)
  • fix(conductor): keep failure cause in worker error reason (3a169ae)
  • fix(conductor): delete broker replies after reading (f56c63b)
  • fix(conductor): retry broker replies denied during atomic replace (8fe9543)
  • perf(web): serve build-time Brotli asset sidecars (a1e176e)
  • perf(chat): load KaTeX runtime and styles on demand (8040f4b)
  • refactor(api): move chat uploads out of chat.go (275b88c)
  • refactor(api): move chat title generation out of chat.go (b0a296e)
  • refactor(api): move chat session storage out of chat.go (4806405)
  • refactor(api): move chat worker process out of chat.go (25addac)
  • refactor(api): move chat LLM catalog out of chat.go (07f7e82)
  • refactor(api): move chat streaming out of chat.go (200a523)
  • refactor(api): move chat run state out of chat.go (ffcf688)
  • refactor(api): move chat project mode out of chat.go (fa77031)
  • refactor(api): move chat event parsing out of chat.go (ce9e8a1)
  • refactor(api): move chat run worker out of chat.go (bda56fd)
  • refactor(api): move chat one-shot workers out of chat.go (d5fcc21)
  • refactor(api): move chat settings out of chat.go (05e14d7)
  • refactor(styles): remove shadowed alignment and protect CSS fallbacks (8d781c6)
  • refactor(styles): merge adjacent equivalent selector blocks (5333e2f)
  • refactor(styles): reuse semantic tokens in model palette (185e46b)
  • refactor(styles): isolate model workbench preserving cascade order (2282103)
  • perf(chat): reuse bounded immutable markdown block parses (b73a673)
  • refactor(web): extract assistant content, turn and usage row from ChatApp (8fd4478)
  • refactor(web): extract file summary, goal status and command result cards from ChatApp (9f2bba3)
  • refactor(web): extract keychain dialog and plan todo card from ChatApp (e28fff4)
  • refactor(web): extract worldline views from ChatApp (a7e9879)
  • refactor(web): extract composer controls from ChatApp (0a8b95b)
  • refactor(web): extract UltraPlan views from ChatApp (bfcead7)
  • refactor(web): extract markdown block components from ChatApp (22acde4)
  • refactor(web): extract JsonTree from ChatApp (28eec2f)
  • refactor(web): extract ToolResultDetails from ChatApp (4d1a811)
  • refactor(web): extract tool call block components from ChatApp (ee69e4a)
  • refactor(web): extract CopyButton from ChatApp (19648ee)
  • refactor(web): extract inline markdown components from ChatApp (aca67e7)
  • refactor(web): extract subagent output parser from ChatApp (33d6b48)
  • refactor(web): extract serialized mermaid renderer from ChatApp (af68629)
  • refactor(web): extract user message attachment text helpers from ChatApp (051a0ab)
  • refactor(web): extract worldline command helpers from ChatApp (1a3bdb9)
  • refactor(web): extract goal card state helpers from ChatApp (8bd33f8)
  • refactor(web): extract upload file helpers from ChatApp (7865a47)
  • refactor(web): extract markdown part preparation from ChatApp (f250349)
  • refactor(web): extract session and model label helpers from ChatApp (12e1d9f)
  • refactor(web): extract viewport and follow-scroll constants from ChatApp (6011c3b)
  • refactor(web): extract builtin slash command helpers from ChatApp (0ee703e)
  • refactor(web): extract usage and elapsed-time stats from ChatApp (80c44e9)
  • refactor(web): extract UltraPlan state helpers from ChatApp (0150073)
  • refactor(web): extract tool argument parsing from ChatApp (950dfc6)
  • refactor(web): extract chat formatting helpers from ChatApp (8d9cb66)
  • refactor(web): drop 846 overridden declarations from style.css (0ceb11d)
  • chore: stop tracking compiled chat worker bytecode (df5c658)
  • fix(chat): persist draft attachments outside localStorage quota (86a02e8)

查看完整版本差异