mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 09:28:14 +00:00
设计依据 docs/zh/input-scheduler-design.md §14 M1。 - 新增 task.go:Step 游标、TaskFrame,以及 stepPrepare/stepLLM/ stepToolBegin/stepToolExec/stepToolAfter/stepTurnEnd 六个 step; 原函数内嵌的 provider 回退/重试抽为 resolveProviders + callLLMWithFallback - process() 改为驱动状态机的薄壳:签名不变,调用方(processInput/ processConsolidation/测试)零改动 - StepToolExec 显式标注为临界区:工具副作用不可回滚,执行中不是安全点 - 步数上限护栏:转移缺失时以错误退出而非死循环 - 新增 task_test.go:R3(工具往返结果与配对正确)、X3(多轮必然终止)、 批中途中断必须放弃剩余工具、未知 step 必须失败退出 - 验收:既有 agent 全量测试通过;-race 通过(TMPDIR 指向真实磁盘, /tmp tmpfs 已 98% 满会导致链接失败,与代码无关)