扩展指南
wesgine 新增能力时的判断树与扩展路径。
判断树
新能力 X →
├── 引擎机制? → Tier E / Hypervisor(改源码 + 升版本)
├── 业务技能? → Tier C / Cell(CellSpec 装配)
├── 用户浏览器? → CellSpec.Playwright
├── 桌面/剪贴板? → CellSpec.Desktop + 客户端二进制
├── 服务端爬取? → CellSpec.HeadlessBrowser
├── 客户端硬件? → 消费应用自建 Device Agent + cell.MCPs()
└── 新外设协议? → adapter/ + Cell 声明式装配
四层归属判断
新能力 X 属于哪一层?
├── 无状态、每 Cell 都需要 → Layer 2 Kernel
├── 有状态、每 Cell 装配一份 → Layer 3 Cell
├── 与请求身份相关 → Layer 4 Actor
└── 跨 Cell 只读观测 → Layer 1 Hypervisor
加新 Provider
- 实现
cognitive.Provider(带 cellID) - 通过
SharedProviders().Reconfigure()或CellSpec.PrivateProviders装配 - 声明
Models[].SupportsVision等能力 - 必须配置
Models[].ContextWindow
加新 Tool
| 场景 | 路径 |
|---|---|
| Tier E 引擎内置 | internal/execution/registry.go |
| Tier C 应用内嵌 | cell.Tools().Register(tool) |
| HTTP 动态工具 | cell.MCPs().Upsert(mcp.ServerConfig) |
Tool 六源四层
| 来源 | 归属层 |
|---|---|
| Tier E 内置 | Layer 2 Kernel |
| Tier C SDK 闭包 | Layer 3 Cell |
| MCP proxy | Layer 3 Cell |
| Adapter 派生 | Layer 3 Cell |
| Sub-agent as Tool | Layer 3 Cell |
| Per-run 临时 | Layer 4 Actor |
加新 Skill
永远 Tier C,除非是引擎机制封装。
Tier E 不得含行业术语。
加新外设
adapter/<name>/ 下实现 → Cell 声明式 CellSpec.Xxx + cell.Xxx().Add/Remove/List。
不加 engine 级 AttachXxx()。
加新 Storage Backend
当前没有这个扩展点。Postgres backend 已关闭。
storage.Backend 接口存在但无生产路径能选中除 sqlite 以外的实现。