概述

OpenClaw 插件系统的公共能力模型,定义了插件的分类、形状、所有权边界和兼容性策略。每个原生插件通过注册一种或多种能力类型来扩展 OpenClaw。

核心要点

  • 插件 = 所有权边界,能力 = 核心契约,两者严格区分
  • 插件系统分四层:Manifest+发现 → 启用+验证 → 运行时加载 → 表面消费
  • 原生插件在 Gateway 进程内运行,无沙箱,与核心代码同等信任级别

能力类型(注册方法):

  • 文本推理:api.registerProvider(...)
  • CLI 推理后端:api.registerCliBackend(...)
  • 语音:api.registerSpeechProvider(...)
  • 实时转录:api.registerRealtimeTranscriptionProvider(...)
  • 实时语音:api.registerRealtimeVoiceProvider(...)
  • 媒体理解:api.registerMediaUnderstandingProvider(...)
  • 图像/音乐/视频生成:对应 registerXxxGenerationProvider(...)
  • Web 抓取/搜索:registerWebFetchProvider / registerWebSearchProvider
  • Channel/消息:api.registerChannel(...)

插件形状分类:

  • plain-capability:只注册一种能力
  • hybrid-capability:注册多种能力(如 openai 同时拥有文本、语音、图像)
  • hook-only:只注册 hooks,无能力
  • non-capability:注册工具/命令/服务,无能力

兼容性信号(openclaw doctor 或 openclaw plugins inspect 可见):

  • config valid:配置正常
  • compatibility advisory:使用了旧模式(如 hook-only)
  • legacy warning:使用了 before_agent_start(已废弃)
  • hard error:配置无效或插件加载失败

能力分层模型:

  • 核心层:共享编排、策略、回退、配置合并、类型契约
  • 厂商插件层:厂商 API、认证、模型目录、语音合成等
  • Channel/功能插件层:消费核心能力,不直接依赖厂商代码

配置/使用

# 查看插件形状和能力分解
openclaw plugins inspect <id>

能力所有权规则:

  • 一个公司插件应拥有该公司所有 OpenClaw 相关表面
  • 功能插件应拥有其引入的完整功能表面
  • Channel 应消费共享核心能力,而非重新实现厂商行为

相关页面

  • concepts/plugin-architecture-internals — 内部机制:加载流水线、注册表、运行时钩子
  • concepts/plugin-building — 快速上手:创建第一个插件
  • concepts/plugin-manifest — 插件 manifest 格式完整参考
  • concepts/plugin-hooks — 插件钩子系统