能力(Capabilities)——图表覆盖(组装侧 vs 消费侧)
上级:capabilities
与 connector-diagram-coverage 采用同样的双侧切法:组装侧(能力如何按会话注册并暴露出来)与消费侧(loop 实际持有什么)。插件加载相关的类型放在 mcp-capability-plugins;skills runner 的类型放在 skills-progressive-disclosure;前端卡片类型放在 ui-cards。
1 · 组装侧——注册表、门控、会话上下文
AssembleInput 是一项能力(capability)所能看到的完整会话上下文——它携带冻结的 RoleSnapshot,因此每一次绑定决策,都是针对这份冻结快照做出的;EnableGate(那一层实时的全局层)是唯一的实时输入。(成员已于 2026-09-07 对照 internal/capabilities/capreg/types.go / registry.go 核实:原来的 CodeID / MaxBookings 字段已不存在——code 身份现在以 Subject 传递,预约上限是能力自己 manifest 里的一个配置键(backend/capabilities/calendar.book/manifest.yaml 的 max_bookings)。)
2 · 消费侧——一次会话实际持有什么
覆盖清单(防遗漏关卡)
| 类型 / 区域 | 绘制位置 | 已验证 |
|---|---|---|
| Capability, Registry, AssembleInput, EnableGate | 本页 §1 | ✓ 代码 |
| Binding, CapabilityState, VisitorAgent | 本页 §2 | ✓ 代码 |
| Manifest / Transport / Sandbox / PluginSpec | mcp-capability-plugins | ✓ 代码 |
| skillRunnerCapability + tool inputs/outputs | skills-progressive-disclosure | ✓ 代码 |
| cardKindFor / McpAppCard / GenericDumpCard | ui-cards | ✓ 代码 |
| mcpclient transports(http / in-process / stdio) | ☐ 尚未绘图 | — |
capsocket server + hostdesk 的 op 收集(hostop.Op、routes/hostdesk) | capsocket(散文形式) | ☐ 无类图 |