360 Secure SkillHub
360 安全技能中心

Feishu AllAllow

提供飞书开放平台权限与事件订阅配置、OpenClaw 单网关多飞书账号及多层子 Agent 配置示例,并附带 feishu-allallow CLI 辅助脚本与 FunASR 语音转文字部署说明;文档明确提示该配置开放最大权限,仅在受信任环境使用。

yubinsheng
yubinsheng
热度 19.51
最近更新 2026-04-03 03:26:49
分类:开发依赖:代码执行 / 读写文件 / 第三方 API应用场景:API 集成 / 工作流 / DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add feishu-allallow
Metadata
name
feishu-allallow
description
Feishu AllAllow Skill - 飞书全权限配置指南 版本: 1.0.0 | 最低 OpenClaw: 2026.3.31 本 Skill 提供完整的飞书 + OpenClaw 全权限配置,包括: - 飞书开放平台权限配置(权限 + 订阅事件) - OpenClaw 全权限配置(只改 JSON,不改底层) - 单网关 + 多飞书 + 多层子 Agent 架构(无限层级) - 飞书 CLI 命令参考 ⚠️ 安全警告:本配置开放最大权限,仅在受信任环境使用!
version
1.0.0
minOpenClawVersion
2026.3.31

Feishu AllAllow Skill v1.0.0

概述

本 Skill 专为手机远程操作 OpenClaw设计,通过飞书机器人实现完整的控制权限。

核心架构:

  • 🎯 单网关 - 一个 OpenClaw Gateway 服务所有需求
  • 📱 多飞书 - 多个飞书账号对接不同项目
  • 🤖 多层子 Agent - 无限层级:主 Agent → 子 Agent → 孙 Agent → ...
  • 🔌 飞书对接 - 飞书仅作为对接入口,子 Agent 独立运行
功能模块 说明
飞书权限配置 开放平台所需的所有权限和订阅事件
OpenClaw 全权限 单网关配置,不改动底层代码
多飞书架构 多个飞书账号绑定不同项目
多层子 Agent 无限层级创建子 Agent 执行独立任务
飞书 CLI 完整的命令参考

1. 核心架构设计

1.1 单网关 + 多飞书 + 多层子 Agent 架构(无限层级)

┌─────────────────────────────────────────────────────────────┐
│                        用户层                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │ 手机飞书 A  │  │ 手机飞书 B  │  │ 手机飞书 C  │         │
│  │  (项目 1)   │  │  (项目 2)   │  │  (项目 3)   │         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘         │
└─────────┼────────────────┼────────────────┼────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────┐
│                      飞书开放平台                             │
│              (消息中转、语音转文字、文件存储)                   │
└─────────────────────────┬───────────────────────────────────┘
                          │ WebSocket / HTTPS
                          ▼
┌─────────────────────────────────────────────────────────────┐
│                   OpenClaw Gateway                          │
│                    【单网关 - 核心】                          │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  飞书通道层 (Feishu Channels)                        │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │   │
│  │  │  飞书账号 A  │  │  飞书账号 B  │  │  飞书账号 C  │ │   │
│  │  │  (项目 1)   │  │  (项目 2)   │  │  (项目 3)   │ │   │
│  │  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │   │
│  │         │                │                │        │   │
│  │         ▼                ▼                ▼        │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │   │
│  │  │  主 Agent A │  │  主 Agent B │  │  主 Agent C │ │   │
│  │  │  (项目 1)   │  │  (项目 2)   │  │  (项目 3)   │ │   │
│  │  │  【第1层】   │  │  【第1层】   │  │  【第1层】   │ │   │
│  │  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │   │
│  │         │                │                │        │   │
│  │    ┌────┴────┐      ┌────┴────┐      ┌────┴────┐  │   │
│  │    ▼    ▼    ▼      ▼    ▼    ▼      ▼    ▼    ▼  │   │
│  │  ┌──┐ ┌──┐ ┌──┐   ┌──┐ ┌──┐ ┌──┐   ┌──┐ ┌──┐ ┌──┐ │   │
│  │  │子│ │子│ │子│   │子│ │子│ │子│   │子│ │子│ │子│ │   │
│  │  │A1│ │A2│ │A3│   │B1│ │B2│ │B3│   │C1│ │C2│ │C3│ │   │
│  │  │【│ │【│ │【│   │【│ │【│ │【│   │【│ │【│ │【│ │   │
│  │  │第│ │第│ │第│   │第│ │第│ │第│   │第│ │第│ │第│ │   │
│  │  │2 │ │2 │ │2 │   │2 │ │2 │ │2 │   │2 │ │2 │ │2 │ │   │
│  │  │层│ │层│ │层│   │层│ │层│ │层│   │层│ │层│ │层│ │   │
│  │  └──┘ └──┘ └──┘   └──┘ └──┘ └──┘   └──┘ └──┘ └──┘ │   │
│  │         │                │                │        │   │
│  │    ┌────┴────┐      ┌────┴────┐      ┌────┴────┐  │   │
│  │    ▼    ▼    ▼      ▼    ▼    ▼      ▼    ▼    ▼  │   │
│  │  ┌──┐ ┌──┐ ┌──┐   ┌──┐ ┌──┐ ┌──┐   ┌──┐ ┌──┐ ┌──┐ │   │
│  │  │孙│ │孙│ │孙│   │孙│ │孙│ │孙│   │孙│ │孙│ │孙│ │   │
│  │  │A11      │   │   │   │   │   │   │   │   │   │ │   │
│  │  │【第3层】 │   │   │   │   │   │   │   │   │   │ │   │
│  │  └──┘ └──┘ └──┘   └──┘ └──┘ └──┘   └──┘ └──┘ └──┘ │   │
│  │         │                │                │        │   │
│  │    ┌────┴────┐      ┌────┴────┐      ┌────┴────┐  │   │
│  │    ▼    ▼    ▼      ▼    ▼    ▼      ▼    ▼    ▼  │   │
│  │  (无限层级... 根据需要继续创建)                      │   │
│  │                                                    │   │
│  │  【每层都可以创建多个子 Agent,并行执行任务】          │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  共享工具层 (Tools)                                  │   │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │   │
│  │  │   exec   │ │    fs    │ │ browser  │ │feishu_*│ │   │
│  │  │ (执行命令)│ │(文件操作) │ │ (浏览器)  │ │(飞书工具)│ │   │
│  │  └──────────┘ └──────────┘ └──────────┘ └────────┘ │   │
│  └─────────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  语音转文字 (Docker)                                 │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │  FunASR SenseVoice Small (ONNX int8)        │   │   │
│  │  │  - Docker 容器运行                            │   │   │
│  │  │  - 所有飞书共享同一服务                        │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

1.2 架构说明

层级 说明 职责
单网关 一个 OpenClaw Gateway 统一入口,工具共享
多飞书 多个飞书账号 不同项目隔离
第1层 主 Agent 接收指令,管理子 Agent
第2层 子 Agent 执行任务,可再创建孙 Agent
第3层 孙 Agent 执行子任务,可继续创建...
第N层 无限层级 根据需要继续创建
FunASR Docker 运行的语音服务 所有飞书共享

关键原则:

  • 飞书只是对接入口,不负责具体任务执行
  • 无限层级:主 Agent → 子 Agent → 孙 Agent → ...
  • 每层都可以创建多个子 Agent 并行工作
  • 子 Agent 独立运行,你不需要管理子 Agent 内部
  • 所有飞书共享同一套工具和语音转文字服务
  • 单网关架构,无需多网关

1.3 多层子 Agent 工作模式

用户通过手机飞书 A 发送复杂任务
           │
           ▼
    主 Agent A (第1层) 接收任务
           │
    ┌──────┼──────┐
    │      │      │
    ▼      ▼      ▼
 子A1    子A2    子A3  ← 第2层:并行执行
    │      │      │
    │   ┌──┴──┐   │
    │   ▼     ▼   │
    │  孙A21 孙A22 │  ← 第3层:子A2 创建孙 Agent
    │   │     │   │
    │   ▼     ▼   │
    │  曾孙...    │  ← 第4层:根据需要继续创建
    │             │
    └──────┬──────┘
           │
           ▼
    汇总结果返回用户

特点:

  • 无限层级:根据需要可以创建任意多层
  • 每层多子 Agent:每层都可以创建多个子 Agent 并行
  • 独立生命周期:子 Agent 完成后自动释放资源
  • 权限继承:子 Agent 继承父 Agent 的权限

2. 飞书开放平台配置

2.1 创建多个飞书应用

为每个项目创建一个飞书应用:

项目 飞书应用 App ID 用途
项目 1 飞书机器人 A cli_xxx_a 项目 1 对接
项目 2 飞书机器人 B cli_xxx_b 项目 2 对接
项目 3 飞书机器人 C cli_xxx_c 项目 3 对接

2.2 权限配置

每个飞书应用都需要添加以下权限:

# 消息权限
im:chat:readonly
im:message:send
im:message.group_msg
im:message.p2p_msg

# 文档权限
docx:document
docx:document:readonly
drive:drive
drive:file:read
drive:file:write
wiki:wiki
wiki:wiki:readonly

# 多维表格
bitable:app
bitable:app:readonly

# 用户权限
contact:user.department:readonly
application:scope

2.3 订阅事件

im.message.receive_v1

3. OpenClaw 配置

3.1 单网关 + 多飞书 + 多层子 Agent 配置

{
  "acp": {
    "defaultAgent": "xc",
    "allowedAgents": ["xc", "claude", "codex", "gemini"]
  },
  
  "agents": {
    "defaults": {
      "workspace": "/home/user/.openclaw/workspace",
      "sandbox": { "mode": "off" },
      "model": { "primary": "kimi/kimi-2.5" }
    },
    "list": [
      {
        "id": "project1-main",
        "workspace": "/home/user/.openclaw/workspace-project1",
        "label": "project1-main",
        "sandbox": { "mode": "off" }
      },
      {
        "id": "project2-main",
        "workspace": "/home/user/.openclaw/workspace-project2",
        "label": "project2-main",
        "sandbox": { "mode": "off" }
      },
      {
        "id": "project3-main",
        "workspace": "/home/user/.openclaw/workspace-project3",
        "label": "project3-main",
        "sandbox": { "mode": "off" }
      }
    ]
  },
  
  "bindings": [
    {
      "agentId": "project1-main",
      "match": { "channel": "feishu", "accountId": "project1" }
    },
    {
      "agentId": "project2-main",
      "match": { "channel": "feishu", "accountId": "project2" }
    },
    {
      "agentId": "project3-main",
      "match": { "channel": "feishu", "accountId": "project3" }
    }
  ],
  
  "channels": {
    "feishu": {
      "enabled": true,
      "connectionMode": "websocket",
      "domain": "feishu",
      "groupPolicy": "open",
      "subagentSecurity": "full",
      "accounts": {
        "project1": {
          "appId": "cli_xxxxxxxxxxxx_a",
          "appSecret": "xxxxxxxxxxxxxxxx_a",
          "tools": {
            "doc": true,
            "chat": true,
            "wiki": true,
            "drive": true,
            "perm": true,
            "scopes": true
          }
        },
        "project2": {
          "appId": "cli_xxxxxxxxxxxx_b",
          "appSecret": "xxxxxxxxxxxxxxxx_b",
          "tools": {
            "doc": true,
            "chat": true,
            "wiki": true,
            "drive": true,
            "perm": true,
            "scopes": true
          }
        },
        "project3": {
          "appId": "cli_xxxxxxxxxxxx_c",
          "appSecret": "xxxxxxxxxxxxxxxx_c",
          "tools": {
            "doc": true,
            "chat": true,
            "wiki": true,
            "drive": true,
            "perm": true,
            "scopes": true
          }
        }
      }
    }
  },
  
  "tools": {
    "profile": "full",
    "exec": {
      "host": "auto",
      "security": "full",
      "ask": "off"
    },
    "fs": {
      "workspaceOnly": false
    },
    "sessions": {
      "visibility": "all"
    },
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "feishu": ["ou_xxxxxxxxxxxxxxxx"]
      }
    }
  },
  
  "gateway": {
    "bind": "lan",
    "port": 18789,
    "nodes": {
      "denyCommands": []
    },
    "controlUi": {
      "allowInsecureAuth": true,
      "allowedOrigins": [
        "http://127.0.0.1:18789",
        "http://localhost:18789"
      ]
    }
  },
  
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "transcription": {
          "enabled": true,
          "provider": "funasr",
          "config": {
            "baseUrl": "http://localhost:10095",
            "model": "sensevoice-small-onnx",
            "modelType": "onnx-int8",
            "language": "auto",
            "quantize": true
          }
        }
      }
    }
  }
}

3.2 配置说明

配置项 说明
agents.list 每个项目一个主 Agent(第1层)
bindings 飞书账号绑定到对应主 Agent
channels.feishu.accounts 多个飞书账号配置
subagentSecurity: full 允许创建无限层级子 Agent
sessions.visibility: all 父 Agent 可以管理所有子 Agent

4. 多层子 Agent 工作流程

4.1 三层 Agent 工作流程示例

用户通过手机飞书 A 发送复杂项目任务
           │
           ▼
┌─────────────────────┐
│  主 Agent A         │ ← 第1层:项目总控
│  (project1-main)    │
│  职责:任务分解      │
└──────────┬──────────┘
           │
    ┌──────┼──────┐
    │      │      │
    ▼      ▼      ▼
┌──────┐ ┌──────┐ ┌──────┐
│子A1  │ │子A2  │ │子A3  │ ← 第2层:模块执行
│(架构)│ │(后端)│ │(前端)│
└──┬───┘ └──┬───┘ └──┬───┘
   │        │        │
   │    ┌───┴───┐    │
   │    ▼       ▼    │
   │ ┌─────┐ ┌─────┐ │
   │ │孙A21│ │孙A22│ │ ← 第3层:子任务
   │ │(API)│ │(DB) │ │
   │ └──┬──┘ └──┬──┘ │
   │    │       │    │
   │    ▼       ▼    │
   │ (可根据需要继续创建第4层...) │
   │
   └──────┬──────────┘
          │
          ▼
   汇总结果返回用户

4.2 多层子 Agent 创建示例

// ========== 第1层:主 Agent ==========
// 主 Agent 接收到复杂项目任务

// 创建第2层子 Agent:架构设计
const archAgent = await sessions_spawn({
  task: "设计系统架构",
  label: "project1-arch",
  mode: "session"
});

// 创建第2层子 Agent:后端开发
const backendAgent = await sessions_spawn({
  task: "开发后端服务",
  label: "project1-backend",
  mode: "session"
});

// 创建第2层子 Agent:前端开发
const frontendAgent = await sessions_spawn({
  task: "开发前端页面",
  label: "project1-frontend",
  mode: "session"
});

// ========== 第2层:子 Agent 创建第3层 ==========
// 后端 Agent (backendAgent) 可以创建孙 Agent

// 创建第3层孙 Agent:API 开发
const apiAgent = await sessions_spawn({
  task: "开发 REST API",
  label: "project1-api",
  mode: "session"
});

// 创建第3层孙 Agent:数据库设计
const dbAgent = await sessions_spawn({
  task: "设计数据库模型",
  label: "project1-db",
  mode: "session"
});

// ========== 第3层:孙 Agent 创建第4层 ==========
// API Agent 可以继续创建曾孙 Agent...

// 创建第4层曾孙 Agent:用户模块
const userModuleAgent = await sessions_spawn({
  task: "开发用户模块 API",
  label: "project1-user-api",
  mode: "session"
});

// 创建第4层曾孙 Agent:订单模块
const orderModuleAgent = await sessions_spawn({
  task: "开发订单模块 API",
  label: "project1-order-api",
  mode: "session"
});

// 无限层级... 每层都可以创建多个子 Agent
// 你不需要管理子 Agent 内部细节

4.3 多层子 Agent 优势

优势 说明
无限层级 主 → 子 → 孙 → 曾孙 → ... 无限创建
每层多子 Agent 每层都可以创建多个子 Agent 并行
任务分解 复杂任务逐层分解,每层处理不同粒度
并行执行 同层多个子 Agent 同时工作
权限继承 子 Agent 继承父 Agent 的权限
独立生命周期 子 Agent 完成后自动释放资源

5. 语音转文字配置(所有飞书共享)

5.1 部署 FunASR(所有飞书共享)

所有飞书共享同一个语音转文字服务:

# 1. 创建模型目录
mkdir -p ~/.funasr/models

# 2. 启动 FunASR 服务(自动下载模型)
docker run -d \
  --name funasr-sensevoice \
  -p 10095:10095 \
  -v ~/.funasr/models:/workspace/models \
  registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-cpu-0.4.5

# 3. 查看日志,等待模型下载完成
docker logs -f funasr-sensevoice

模型来源:

说明:

  • Docker 镜像会自动下载模型
  • 模型下载完成后服务自动启动
  • 所有飞书账号共享同一个语音转文字服务

5.2 模型信息

项目 说明
模型 SenseVoice Small
格式 ONNX int8 量化
大小 约 229 MB
语言 中文、英文、粤语、日语、韩语
共享 所有飞书账号共享

6. 飞书 CLI 命令参考

# 检查飞书配置
openclaw config get channels.feishu

# 配置项目 1 飞书
openclaw config set channels.feishu.accounts.project1.appId "cli_xxx_a"
openclaw config set channels.feishu.accounts.project1.appSecret "xxx_a"

# 重启网关
openclaw gateway restart

7. 系统要求

项目 要求 说明
操作系统 Linux / macOS / WSL2 推荐环境
OpenClaw >= 2026.3.31 核心平台
Node.js >= 22.16 (推荐 24.x LTS) OpenClaw 运行环境
Docker >= 20.10 语音转文字必需
内存 >= 2GB RAM 模型占用约 300MB

环境支持:

环境 支持状态
Linux (原生) ✅ 完全支持
macOS ✅ 完全支持
Windows (WSL2) ✅ 完全支持
Windows (原生) ⚠️ 部分支持
Android (Termux) ✅ 支持

8. 版本历史

1.0.0 (2026-04-03)

  • ✅ 初始版本
  • ✅ 单网关 + 多飞书 + 多层子 Agent(无限层级)架构
  • ✅ 飞书开放平台完整权限配置
  • ✅ OpenClaw 2026.3.31 全权限配置
  • ✅ 所有飞书共享 FunASR 语音转文字
  • ✅ 多环境支持(Linux、macOS、WSL2、Android)

9. 参考链接