Cell 结构

Cell 是 wesgine 的核心运行时实例,一个 Cell = 一个完整、独立、可移植的 AI Agent 运行时。


CellSpec 声明

创建或更新 Cell 时传入:

类别包含字段
元数据ID(不可变) / Timezone(不可变) / Locale / Compliance
治理Governance / EnginePaths / RedactorRules
存储无字段——路径由引擎从 (DataDir, ID) 推出
外设Channels / Email / MCPs / Cron / HITL / HeadlessBrowser / Playwright / Desktop / STT / Plugins
ProviderProviderStrategy / PrivateProviders / AllowedModels / LogicalModelGroups
调度Quotas / CycleDetect / FaultPolicyOverride / SkillPolicy / InboxCap / Roles
SDK HooksQualityGate / EditPatrol / HostEnvironment / AppIdentity 等
可移植CellPortableSpec(Export/Import 打包行为)

运行时状态

Cell.Start 后自动建立:

类别内容
温度状态Hot / Warm / Cool / Cold
BC 实例Cognitive / Context / Execution / Memory / Knowledge / Coordination + TaskMemory
应用实例Agents 多实例 / Skills (Tier C) / TaskMemory
文件 I/Oworkspace/{actor}/ (持久) + .scratch/{runID}/ (临时)
进程Supervisor goroutine + Inbox + EventBus
观测Metrics(push) / Traces(state.db) / Evidence(hash chain)
入口cell.Runtime().Run(ctx, AppRunRequest{...})

Agent 是次级隔离


25 个 Handle

Cell 对外暴露 25 个业务 Handle:

Runtime / Agents / Memory / Sessions / Knowledge / TaskMemory /
Skills / Tools / HITL / Learn / Channels / Email / MCPs / Cron /
HeadlessBrowser / Playwright / Desktop / Workspace /
Policy / Quotas / Tokens /
Observe / Providers / Config / Events

每个 Handle 是一组语义内聚的操作接口。


物理文件布局

cells/{cellID}/
├── meta.db          # Cell 元数据(Layer: CellMeta)
├── sessions.db      # 会话与消息(Layer: CellSessions)
├── state.db         # 运行时状态(Layer: CellState)
├── skills/          # Tier C 技能包
├── knowledge/       # 知识库文件
├── workspace/       # 产物文件
│   └── {actor}/     # 按 Actor 分目录
├── .scratch/        # 临时计算域(Run 结束后 GC)
└── .cell.lock       # 进程排他锁(INV-RESIL-04)

三层 SQLite

层文件内容
Metameta.dbCell 元数据、Agent 配置
Sessionssessions.db会话、消息、记忆
Statestate.db运行追踪、Token 用量、证据链

单 Layer 损坏不扩散(INV-RESIL-03)。


Cell 入口

// SDK
cell, err := hyp.Cells().GetOrCreate(ctx, spec)
events, err := cell.Runtime().Run(ctx, AppRunRequest{...})

// HTTP
POST /cells/{cellID}/run    → SSE 流式 Run
POST /cells/{cellID}/chat   → 同步 Chat