🦞OpenClaw ClawBook

插件系统

OpenClaw 的插件系统支持扩展渠道、Provider、工具和功能。插件通过标准清单文件描述自身能力。

安装与管理

# 安装插件
openclaw plugins install @openclaw/feishu
openclaw plugins install @openclaw/voice-call

# 查看已安装插件
openclaw plugins list

# 卸载插件
openclaw plugins uninstall @openclaw/feishu

插件清单

每个插件通过 manifest 声明自身能力。清单是 JSON 文件,包含以下字段:

字段必填说明
id唯一标识符
configSchema配置 JSON Schema
kind插件类型
channels提供的渠道
providers提供的模型 Provider
skills提供的 Skills
name / description / version元数据

插件 kind 通过 slot 选择功能位置,如 memory(记忆引擎)、context-engine(上下文引擎)等。

开发 Agent 工具

插件可以注册自定义工具供 Agent 使用。工具使用 TypeBox Schema 定义参数:

// 基本工具注册
export function registerTools(ctx) {
  ctx.registerTool({
    name: "my_tool",
    description: "自定义工具",
    parameters: Type.Object({
      input: Type.String()
    }),
    execute: async ({ input }) => {
      return { result: "done" };
    }
  });
}

工具默认需要通过允许列表启用:

{
  agents: {
    defaults: {
      tools: {
        alsoAllow: ["my_tool"]
        // 或通过插件 ID: "plugin:my-plugin"
        // 或通过工具组: "group:custom"
      }
    }
  }
}

渠道与 Provider 插件

插件可以扩展 OpenClaw 支持新的渠道平台或模型供应商。内置插件包括:

  • @openclaw/feishu — 飞书/Lark 渠道(已内置)
  • @openclaw/voice-call — 语音通话
  • @openclaw/zalouser — Zalo 渠道

社区插件可通过 npm 包名安装。

开发注意

  • 工具名称建议使用 snake_case,避免与内置工具冲突
  • 有副作用的工具(发送消息、写入文件)应标记为需要审批
  • 配置验证在启动时执行,Schema 不匹配会阻止加载
  • 可选工具(opt-in)需要在允许列表中明确启用