Repository navigation
v0.4.7
GenericAgent-Admin v0.4.7
Conductor 提示词重写、可选看图工具与聊天页性能优化
重写 Conductor 主控提示词并修复回执与失败原因问题,新增可在设置中开启的看图工具,聊天页按需加载 KaTeX 并预压缩静态资源,同时完成前后端结构拆分。
发布日期:2026-10-23 · 更新范围:v0.4.6 → v0.4.7
✨ 本次亮点
- 新增可选的
view_image看图工具:模型可在执行过程中查看截图等图片;主模型支持看图时直接注入,不支持时转交设置中配置的视觉模型。默认关闭。 - Conductor 主控提示词整篇重写,长度由约 5KB 精简到约 3.1KB;同一目标的后续工作复用原 worker,新增的独立需求另开 worker,子任务卡住时先在原 worker 上收窄交付物。
- 修复 Conductor 回执读取失败与失败原因丢失问题。
- 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,不要直接运行应用包内部的可执行文件。
📝 更新内容
新增功能
- 设置中新增看图工具开关及视觉模型配置;开启后模型可调用
view_image查看图片,主模型不支持看图时自动转交视觉模型。
体验优化
- Conductor 主控提示词仅保留角色、边界、复用、审查与交付规则,审查、进度、取消等细则交由工具说明和回执承载。
conductor_dispatch说明明确:仅在继续、纠正或验证同一 worker 的原有任务时传入session_id。- 子任务卡住时优先在原 worker 上给出收窄后的具体指令,仍卡住才拆分或改派,不再原样重发。
- 聊天页 KaTeX 运行时和样式仅在出现公式时加载。
assets目录静态资源在构建完成后生成 Brotli 预压缩文件,浏览器支持时直接返回;index保持动态主题注入。- Markdown 分块解析结果有界缓存复用,减少重复解析。
- 后端
chat.go按职责拆分为 12 个文件,前端 ChatApp 拆出多个组件与工具模块,style.css移除被覆盖的重复声明;以上均为结构调整,不改变行为。
问题修复
- 修复 Conductor 失败原因截断后丢失末尾错误信息的问题。
- 修复 Conductor 回执在原子替换期间被拒绝读取导致失败的问题,并在读取后删除回执文件。
- 修复草稿附件写入 localStorage 超出配额的问题,附件改为存放在 localStorage 之外。
- 停止跟踪编译生成的 chat worker 字节码文件。
🔧 升级提示
- 看图工具默认关闭,需在设置中手动开启并配置视觉模型。
- 按需下载对应平台附件升级;本次未部署或重启任何现有服务。
🧪 验证与已知限制
- 前端 verify(lint、lib 测试、构建)及 Go 全量测试在 preview.1 阶段通过;最终提交推送前的 Go 全量测试中仅 1 项在清理临时目录时失败,单独重跑 3 次均通过,判断为偶发;Conductor 相关 Python 测试通过。
- Conductor 提示词经模拟场景 A/B 对比(每组 6–8 次):卡住时复用原 worker 7/8,新增需求另开 worker 8/8,同一目标后续复用 8/8;样本较小,危险操作场景未用最终版重测。
- 看图工具曾用 deepseek-v4.1-flash 实测直接注入与转交两种模式。
- 未部署到任何目标服务,未完成真实多模型 Conductor 端到端、弱网传输及手机真机验收。
展开完整提交记录(54 项)
- Conductor: narrow stalled corrections on the original worker before reassigning (0e4658b)
- Rewrite Conductor parent prompt to a minimal A/B-tested version (f5f6917)
- feat(chat): add opt-in view_image tool with vision model fallback (ac5c706)
- 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)