Repository navigation
v0.4.7-preview.1
Pre-release
Pre-release
·
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 命令行下载与包类型说明
-
普通包:需自行配置 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)