mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-01 14:57:38 +00:00
## docs/zh/kernel-performance.md(新增) 全部是实测数据,不是估算,每条标出测量方法与复现命令。 冷启动 15.4s(5 层 17 模块 + 22 插件),耗时分布: 第 0→1 层 3.1s 20% 内存/ONNX/文档存储初始化 第 1→4 层 2.4s 16% LLM/知识库/agent 装配 第 4→完成 9.9s 64% 22 个插件子进程建链 ★ 与早期记录(1538–1709ms)的差异要说明:那是**纯内核**装配时间, 不含插件。两者口径不同,混用会得出"启动变慢 10 倍"的错误结论。 其余指标:RSS 26MB / 插件进程 12 个(13 个按需加载)/ 三层工具超时 (30s ctx → max(声明,参数) → 10m 硬上限)/ 上下文预算实测值 / `offload_busy_after` 1m。 含三个实测踩过的性能陷阱:长工具执行期间 stop 无法生效、 同阶段重复注册静默覆盖、before_output 双触发路径。 ## kernel-modularization-design.md 新增 2.7 节 注入 payload 的透传机制与保留键硬约束。 保留键必须覆盖两类:注入路径自己写入的(no_memory/context_policy/…) 与内核读取的语义键(interrupt/stop/command/…)。插件写保留键会被 跳过并记日志 —— 允许覆盖等于允许伪造"这条不记记忆"或"这条立即打断", 那是权限提升。 同时记录 output_send__* 的 stage 语义:before_output/after_output 有两条触发路径,output.go 那条才是"消息真发出去"的时刻,而它历史上 连 Extra 都没初始化(实测 extra_keys=0)。 ## 设计过程中的一次返工 曾加 InjectOptions.Meta,等于把同一件事做两遍且只服务注入路径。 用户指出后改为复用 InputEvent.Payload 的扩展口,所有注入路径共用。