深度

OpenClaw Capability 架构指南:插件边界、共享运行时和供应商解耦

OpenClaw Capability Cookbook 官方文档中文整理:什么时候创建 capability、标准开发顺序、core/vendor plugin/feature plugin 分工、provider registry、runtime helper、image generation 示例和架构审查清单。

2026/6/43分钟 阅读ClaudeEagle

OpenClaw 的 Capability Cookbook 是给核心开发者看的架构指南,但它对理解 OpenClaw 插件系统非常有价值。核心原则只有一句:plugin 是所有权边界,capability 是共享 core contract。


为什么需要 Capability?

假设要加入图像生成能力。错误做法是:某个 channel 或 tool 直接调用 OpenAI、Google 或其他供应商 API。

这样会导致:

  • 供应商逻辑散落在各处
  • 后续替换模型困难
  • 配置和 fallback 不统一
  • 权限和审计难集中管理
  • 插件之间互相耦合

正确做法是先定义 capability,再让不同 vendor plugin 实现它。


判断是否该创建 Capability

满足这些条件时应创建 capability:

  1. 未来可能有多个供应商实现
  2. channel/tool/feature plugin 都可能消费它
  3. core 需要统一 fallback、policy、config 或 delivery 行为

如果只是单一供应商的私有功能,可以先放在 vendor plugin 中;一旦出现通用需求,就应该抽象成 capability。


标准开发顺序

  1. 定义 typed core contract
  2. 增加 plugin registration
  3. 增加 shared runtime helper
  4. 接入一个真实 vendor plugin 作为 proof
  5. 让 feature/channel consumer 调 runtime helper
  6. 增加 contract tests
  7. 补充 operator-facing 文档和配置说明

这套顺序能防止“先写死一个供应商,之后再艰难重构”。


三层分工

Core

负责:

  • request/response 类型
  • provider registry
  • fallback 和 policy
  • config schema
  • runtime helper

Vendor Plugin

负责:

  • 调供应商 API
  • 处理供应商认证
  • 做 vendor-specific normalization
  • 注册 capability provider

Feature/Channel Plugin

负责:

  • 调用 runtime helper
  • 不直接 import vendor code
  • 专注自己的交互和业务场景

image generation 示例

图像生成能力的正确形态:

  1. core 定义 ImageGenerationProvider
  2. core 提供 provider registry
  3. runtime 暴露 imageGeneration.generate
  4. OpenAI/Google 插件分别注册实现
  5. 频道或工具只调用 runtime,不关心供应商是谁

这样未来新增供应商,不需要改频道代码。


架构审查清单

如果一个 PR 新增能力,应检查:

  • channel/tool 是否直接 import vendor code
  • 是否有共享 contract
  • 是否有 runtime helper
  • 是否有 provider registry
  • 配置项是否清晰
  • 是否有 contract tests
  • 文档是否说明所有权边界

如果直接把供应商行为写进 channel/tool,应该退回重构。


来源:OpenClaw 官方文档 - Adding Capabilities | 整理:ClaudeEagle

相关文章推荐

深度OpenClaw 插件开发完全指南:从零构建自定义渠道和工具插件OpenClaw 插件(Plugin)开发完整教程:插件类型(渠道插件/工具插件/Provider插件)、插件的目录结构和 package.json 规范、使用 Plugin SDK 开发自定义消息渠道(实现 onMessage/sendMessage 接口)、开发自定义工具(Tool)的函数签名和参数 Schema、本地插件安装与调试(openclaw plugins install ./local-plugin)、发布到 npm 的规范要求(@openclaw/ 命名空间)、插件的权限声明(capabilities)、社区插件列表(Plugin Bundles)获取,以及常见插件开发错误和调试技巧。2026/3/25深度OpenClaw vs Hermes Agent:2026 年两大开源 AI Agent 框架深度对比与选型OpenClaw 和 Hermes Agent 深度对比:记忆系统、自学习技能、LLM 支持(Claude vs 200+ 模型)、部署方式、适用场景全面分析,附决策指南和两者互补组合方案。2026/4/13深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26深度OpenClaw 安全威胁模型深度解析:MITRE ATLAS 框架下的 AI 助手攻防分析OpenClaw 安全架构深度分析:个人助手信任模型(单用户/单 Gateway 边界)、形式化验证的认证逻辑、基于 MITRE ATLAS 框架的 AI 系统威胁分类(直接提示注入/间接提示注入/工具滥用/数据泄露/会话劫持)、多租户共享 Gateway 的风险与安全边界说明、exec/browser/文件工具的权限最小化配置、频道白名单与沙箱配置对应的威胁缓解措施,以及 `openclaw security audit` 命令的使用方法。2026/3/24深度OpenClaw 多模型路由完全指南:30+ 模型提供商接入、智能切换与故障转移OpenClaw 多模型路由系统完整教程:支持的 30+ 模型提供商全览(Anthropic/OpenAI/Gemini/Ollama/OpenRouter/DeepSeek/Qwen/GLM 等)、provider/model 格式的模型指定方式、按渠道/Agent/任务类型设置不同默认模型、Model Failover 故障转移配置(主模型失败自动切换备用模型)、Claude Max API Proxy 接入方式、本地模型(Ollama/vLLM)与云端模型混用策略,以及 Token 限制和费用控制实践。2026/3/24