Install
openclaw skills install @yubinsheng/swarm-control-feishu一键配置飞书智能体集群,支持多 agent 并行、语音服务、全权限控制
openclaw skills install @yubinsheng/swarm-control-feishu版本: 2.0.0
作者: OpenClaw User
描述: 一键配置飞书智能体集群,支持多项目并行、语音服务、全权限控制
这个 Skill 可以帮助你:
加载 Skill
/skills load swarm-control-feishu~/.openclaw/skills/swarm-control-feishu/准备配置
files/openclaw-config.json,填入你的飞书账号信息channels.feishu.accounts.*.appId - 飞书 App IDchannels.feishu.accounts.*.appSecret - 飞书 App Secretmodels.providers.jmrzw.apiKey - LLM API Key应用配置
bash ~/.openclaw/skills/swarm-control-feishu/scripts/deploy.shapply-config启动语音服务
bash ~/.openclaw/skills/swarm-control-feishu/scripts/start-voice-service.sh完成!
swarm-control-feishu/
├── SKILL.md # 本文件
├── files/
│ ├── openclaw-config.json # OpenClaw 完整配置(带详细注释)
│ ├── AGENTS.md # Agent 共享配置
│ ├── AGENTS_TEMPLATE.md # Agent 配置模板
│ └── start-voice-service.sh # 语音服务启动脚本
├── scripts/
│ ├── deploy.sh # 一键部署脚本
│ ├── setup-workspaces.sh # 创建工作空间
│ ├── sync-config.sh # 同步配置到所有 agent
│ └── check-status.sh # 检查状态
└── README.md # 使用说明
核心配置项:
{
// ========== AGENTS 配置 ==========
"agents": {
"defaults": {
// 工作空间路径(主 agent)
"workspace": "/home/lehua/.openclaw/workspace",
// 模型配置(示例 2 个,可扩展)
"models": {
"jmrzw/glm-4.7": { "alias": "GLM" },
"jmrzw/deepseek-v3.2": { "alias": "DeepSeek" }
},
// 默认模型(必填)
"model": { "primary": "jmrzw/glm-4.7" },
// 沙箱模式(关闭 = 全权限)
"sandbox": { "mode": "off" },
// 子 Agent 配置(允许创建子 agent)
"subagents": {
"maxConcurrent": 10, // 最大并发数
"maxSpawnDepth": 5, // 最大嵌套深度
"maxChildrenPerAgent": 10, // 每个 agent 最多子 agent
"archiveAfterMinutes": 60, // 归档时间
"runTimeoutSeconds": 600 // 运行超时
}
},
// Agent 列表(必填)
"list": [
{
"id": "main", // Agent ID(必填)
"workspace": "/home/lehua/.openclaw/workspace", // 工作空间(必填)
"model": { "primary": "jmrzw/glm-4.7" }, // 模型(必填)
"sandbox": { "mode": "off" } // 沙箱模式
},
// ... 其他 agent
]
},
// ========== 渠道绑定(必填)==========
"bindings": [
{ "agentId": "main", "match": { "channel": "feishu", "accountId": "default" } },
// ... 其他绑定
],
// ========== 网关配置 ==========
"gateway": {
"mode": "local", // 运行模式
"auth": {
"mode": "token",
"token": "自动生成或填写" // 认证令牌
},
"port": 18789, // 端口号
"bind": "lan" // 绑定地址
},
// ========== 工具权限配置(核心)==========
"tools": {
"profile": "full", // 工具配置文件(full = 最大权限)
"exec": {
"host": "auto", // 执行主机
"security": "full", // 安全模式(full = 无限制)
"ask": "off" // 询问确认(off = 不询问)
},
"fs": {
"workspaceOnly": false // 文件系统权限(false = 全部)
},
"elevated": {
"enabled": true, // 启用提权
"allowFrom": { // 允许提权的渠道
"webchat": ["*"], // webchat 全部用户
"feishu": ["*"] // 飞书全部用户
}
},
"sessions": {
"visibility": "all" // session 可见性(all = 全部)
},
"agentToAgent": {
"enabled": true // 允许 agent 间通信
}
},
// ========== 模型配置(必填)==========
"models": {
"providers": {
"jmrwz": { // 提供商 ID(可自定义)
"baseUrl": "https://jmrai.net/v1", // API 地址
"apiKey": "sk-xxxxx", // API Key(必填)
"api": "openai-completions", // API 类型
"models": [ // 模型列表
{
"id": "glm-4.7", // 模型 ID
"name": "GLM 4.7", // 模型名称
"input": ["text"], // 输入类型
"contextWindow": 128000, // 上下文窗口
"maxTokens": 8192, // 最大 token
"cost": { // 成本(可选)
"input": 0.0028,
"output": 0.0028
}
},
// ... 其他模型
]
}
}
},
// ========== 飞书渠道配置(必填)==========
"channels": {
"feishu": {
"enabled": true, // 启用飞书
"connectionMode": "websocket", // 连接模式
"domain": "feishu", // 域名
"groupPolicy": "open", // 群组策略
"subagentSecurity": "full", // 子 agent 安全策略
"accounts": { // 飞书账号(必填)
"default": {
"appId": "cli_xxxxx", // 飞书 App ID(必填)
"appSecret": "xxxxx" // 飞书 App Secret(必填)
},
// ... 其他账号
}
}
},
// ========== Session 配置 ==========
"session": {
"dmScope": "per-channel-peer" // DM session 范围
}
}
语音服务基于 Python + FastAPI,使用 SenseVoice 模型进行语音识别。
启动脚本: start-voice-service.sh
依赖:
服务地址: http://localhost:8080
API 端点:
GET /health - 健康检查POST /transcribe - 语音转录这个配置创建了一个"集团式"的智能体集群:
用户 → main (小华)
├─→ xg (小古) - 项目 A
├─→ xc (小程) - 项目 B
└─→ xd (小鼎) - 项目 C
| Agent | 名称 | 职责 | 用户 |
|---|---|---|---|
| main | 小华 | 总控,分配任务 | 管理员 |
| xg | 小古 | 项目 A 专家 | 项目 A 成员 |
| xc | 小程 | 项目 B 专家 | 项目 B 成员 |
| xd | 小鼎 | 项目 C 专家 | 项目 C 成员 |
agentToAgent,可互相发送消息sessions.visibility: all,可查看所有 session所有 agent 都支持语音输入和输出:
处理流程:
POST http://localhost:8080/transcribe自动检测:
curl -s http://localhost:8080/health{"status":"ok"},自动启用语音| 配置项 | 值 | 说明 |
|---|---|---|
tools.profile | full | 最大工具权限 |
tools.exec.security | full | 命令执行无限制 |
tools.exec.ask | off | 不询问确认 |
tools.fs.workspaceOnly | false | 可访问所有文件 |
tools.sessions.visibility | all | 可见所有 session |
tools.agentToAgent.enabled | true | 允许 agent 间通信 |
tools.elevated.enabled | true | 允许提权 |
sandbox.mode | off | 无沙箱限制 |
| 配置项 | 值 | 说明 |
|---|---|---|
| sudo 免密 | 是 | lehua ALL=(ALL) NOPASSWD: ALL |
| elevated 提权 | 是 | webchat 和 feishu 都可用 |
# 应用配置
bash ~/.openclaw/skills/swarm-control-feishu/scripts/deploy.sh
# 启动语音服务
bash ~/.openclaw/skillsswarm-control-feishu/scripts/start-voice-service.sh
# 检查状态
bash ~/.openclaw/skills/swarm-control-feishu/scripts/check-status.sh
编辑 files/openclaw-config.json,在 agents.list 中添加:
{
"id": "xe",
"workspace": "/home/lehua/.openclaw/workspace-xe",
"model": { "primary": "jmrzw/glm-4.7" },
"sandbox": { "mode": "off" }
}
然后在 bindings 中添加:
{
"agentId": "xe",
"match": { "channel": "feishu", "accountId": "xe" }
}
在 channels.feishu.accounts 中添加账号信息。
检查:
# 检查网关状态
openclaw status
# 检查 session 列表
openclaw sessions list
# 查看日志
tail -f ~/.openclaw/logs/gateway.log
检查:
# 检查语音服务状态
curl http://localhost:8080/health
# 查看语音服务日志
tail -f /tmp/sensevoice.log
重启语音服务:
bash ~/.openclaw/skills/swarm-control-feishu/scripts/start-voice-service.sh
检查:
# 检查 sudo 配置
sudo whoami
# 检查 OpenClaw 配置
openclaw config get
欢迎提 Issue 和 PR!
MIT License
有问题? 查看故障排查章节或访问 OpenClaw 文档。
准备好了吗? 运行 deploy.sh 开始部署你的飞书智能体集群!🚀