Judge of life and death
修复:IndexManager 不再烧 CPU
上个版本有个隐藏 bug:HA 中文环境下 IndexManager 疯狂监听 state_changed 事件,每次状态变化都触发全量离线实体索引重建。CPU 飙到 7600+ 次计算,树莓派直接原地升天
这版彻底治了:
- 防抖从 5 秒拉到 60 秒,不再每打个喷嚏都重建索引
- 跳过无意义的域:
conversation、sensor、tts、stt、event这些高频垃圾事件直接忽略 - HA 启动完成后才开始监听,不再启动阶段疯狂刷
- 索引构建移到线程池,不阻塞主事件循环
- 加了
_building锁,同时只跑一次,不重复叠加
新增:精准修改大师
| 工具 | Action | 修改对象 |
|---|---|---|
| DashboardCard | patch_card |
仪表盘卡片 HTML/CSS/JS/YAML |
| Automation | patch |
自动化 YAML |
| Script | patch |
脚本 YAML |
| ConfigFile | stage_patch |
配置目录任意文件 |
| ProposeSelfEdit | action=patch ✅ 新增 |
Skill 技能 / Guide 指南 Markdown |
王牌:生死判官(/goal 功能预览)
- 给你的 AI 派了个领导——判官。你下达目标,AI 去干活,判官盯着审。没完?黄灯🟡,继续!完了?绿灯🟢,收工!
怎么用?
/goal 帮我查一下明天天气并整理成播报稿
/goal 和我持续对话 5 轮
/goal status ← 查看当前目标状态
/goal pause ← 暂停
/goal resume ← 继续
/goal clear ← 清除目标
怎么配置?
- 判官默认使用你的备用 AI(fallback agent)作为裁判模型
- 在 HA 集成设置里配好
主力模型+备用模型就行 - 主力干活,备用当判官,分工明确,不准躺
看到黄灯别怕:
- 🟡 = 判官说"没完,继续卷",AI 会自动续跑下一轮
- 🟢 = 判官说"行了,收工",流式自动停止
- 全程流式输出,气泡一个接一个蹦出来
其他修复
- Markdown 不再糊成一坨:
[agent名]后面强制换行,┊前面也强制换行 - 打字机效果升级:从一个字一个字蹦改成一小段一小段蹦,更自然
- 工具调用吃输出的 bug 修了:AI 调完工具后的最终回复不会再消失
/goal status跨会话查询:后台偷偷跑的任务也能查到了- Curator 审查和 Evolution Review 健壮性提升
- LLM patches 增强:tool call 追踪和 assist API prompt 处理更稳
Performance
- IndexManager CPU storm fix: Previous versions triggered full entity index rebuilds on every
state_changedevent, causing 7600+ computation cycles on Chinese HA setups. Now debounced to 60s, skips irrelevant domains (conversation,sensor,tts,stt,event), defers listener registration until HA is fully started, and runs index builds in the thread pool with a build lock.
Goal System (/goal — Preview)
Autonomous multi-turn execution driven by a judge model.
Usage:
/goal <task description> — set a goal
/goal status — check current goal
/goal pause / resume — pause or resume
/goal clear — cancel goal
Configuration:
- The judge uses your configured fallback agent. Set both primary and fallback agents in the integration settings. Primary executes; fallback judges.
Behavior:
- 🟡 Yellow = goal incomplete, AI continues automatically
- 🟢 Green = goal satisfied, loop terminates
- All continuation turns stream natively via the assist pipeline delta listener
- 180-second per-turn timeout with graceful termination
Full Changelog: v7.3.0...v7.4.0