环境记忆自动感知

wesgine 的 L1 环境记忆由宿主感知器自动产出,不接受人工写入。


定位

环境记忆(environment)是引擎对宿主机器的自动感知结果。

它回答「这台机器上有什么」,而不是用户的个人偏好。


感知内容

类别示例
操作系统macOS 15.2 / Ubuntu 24.04
语言运行时Go 1.23 / Node 22 / Python 3.12
包管理器brew / apt / pip
开发工具git / docker / kubectl
终端环境shell 类型、PATH 上的工具

感知机制

进程级共享(INV-ENV-01)

memenv.SharedSnapshot(ctx) 和 capenv.SharedSurface(ctx) 是唯一入口。

不因租户而异(INV-ENV-02)

感知器不认识 Cell。

Per-Cell 事实通过 Loader.WithRuntimeOverrides 在消费者层叠加。

把 CellID 下沉进感知器 = 共享变串租。

exec.LookPath 代替 fork(INV-ENV-03)

判断工具是否在 PATH 上用 exec.LookPath,不 fork 子进程。


写入限制

环境记忆不接受人工导入。

POST /memory(layer=environment)返回 ErrLayerNotWritable。

原因:它由感知器产出,人工写入的「事实」在下次 boot 时被覆盖。


自动注入

环境记忆通过 Eager 面进入系统提示词。

Agent 因此知道当前机器有什么工具和运行时。


GC 豁免

KindEnvironment 是 GC 豁免类型。

环境事实不会被垃圾回收淘汰。


刷新

RefreshEnvironment 使用「分页至清空」策略:

  1. 列出当前所有环境条目
  2. 删除过时条目
  3. 写入新感知结果
  4. 带 progressed 判定,删除失败时不空转