夜雨聆风学习资料网

ARTICLE · 959445

OpenClaw&飞书打造AI科研办公团队

OpenClaw&飞书打造AI科研办公团队

飞书配置

进入飞书管理后台生成4个机器人应用(分别为项目管理(负责统筹谋划)、研究员(负责调研)、工程师(负责编程)、主编(负责写作): 获取每个应用的app id以及App Secret并记录: 点击权限管理,批量导入权限,粘贴如下内容并开通权限:

{  "scopes": {    "tenant": [      "application:app_slash_command:read",      "application:app_slash_command:write",      "application:application:self_manage",      "application:bot.basic_info:read",      "application:bot.menu:write",      "bitable:app",      "bitable:app:readonly",      "cardkit:card:read",      "cardkit:card:write",      "contact:contact.base:readonly",      "contact:user.base:readonly",      "docs:document.comment:create",      "docs:document.comment:delete",      "docs:document.comment:read",      "docs:document.comment:update",      "docs:document.comment:write_only",      "docx:document",      "docx:document.block:convert",      "docx:document:create",      "docx:document:readonly",      "docx:document:write_only",      "drive:drive",      "drive:drive.metadata:readonly",      "drive:drive:readonly",      "im:chat.members:bot_access",      "im:chat:create",      "im:chat:read",      "im:chat:update",      "im:message",      "im:message.group_at_msg.include_bot:readonly",      "im:message.group_at_msg:readonly",      "im:message.group_msg",      "im:message.p2p_msg:readonly",      "im:message.pins:read",      "im:message.pins:write_only",      "im:message.reactions:read",      "im:message.reactions:write_only",      "im:message:readonly",      "im:message:recall",      "im:message:send_as_bot",      "im:message:send_multi_users",      "im:message:send_sys_msg",      "im:message:update",      "im:resource",      "task:task:read",      "task:task:write",      "wiki:node:read",      "wiki:wiki",      "wiki:wiki:readonly"    ],    "user": [      "offline_access"    ]  }}

事件配置选择使用长连接接收事件:

配置完成后选择发布版本:

建立一个群聊,将上述机器人拉到该群聊中,并记录群聊id:

OpenClaw配置

  1. 下载安装OpenClaw部署工具:openclaw.cn

  2. 配置好大模型后,安装必要的飞书插件。修改openclaw.json(C:\Users\user.openclaw文件夹下)为

{  "agents": {    "list": [      {        "id": "main",        "workspace": "C:\\Users\\XXX\\.openclaw\\workspace"      },      {        "id": "engineer",        "workspace": "C:\\Users\\XXX\\.openclaw\\agents\\engineer\\workspace"      },      {        "id": "editor",        "workspace": "C:\\Users\\XXX\\.openclaw\\agents\\editor\\workspace"      },      {        "id": "researcher",        "workspace": "C:\\Users\\XXX\\.openclaw\\agents\\researcher\\workspace"      },      {        "id": "pm",        "workspace": "C:\\Users\\XXX\\.openclaw\\agents\\pm\\workspace"      }    ],    "defaults": {      "workspace": "C:\\Users\\XXX\\.openclaw\\workspace",      "models": {        "kimi-coding/Kimi-K3": {},        "deepseek/DeepSeek-V4-Flash": {},        "minimax/MiniMax-M3": {          "alias": "Minimax"        },        "modelstudio/Qwen3.8-Max": {},        "deepseek/DeepSeek-V4-Pro-0813": {}      },      "model": {        "primary": "minimax/MiniMax-M3"      }    }  },  "gateway": {    "mode": "local",    "auth": {      "mode": "token",      "token": "XXX"    },    "port": 18789,    "bind": "loopback",    "tailscale": {      "mode": "off",      "resetOnExit": false    },    "controlUi": {      "allowInsecureAuth": true    },    "nodes": {      "denyCommands": [        "camera.snap",        "camera.clip",        "screen.record",        "contacts.add",        "calendar.add",        "reminders.add",        "sms.send",        "sms.search"      ]    }  },  "channels": {    "feishu": {      "enabled": true,      "defaultAccount": "engineer",      "groupPolicy": "allowlist",      "requireMention": true,      "groupAllowFrom": [        "XXX"      ],      "groups": {        "XXX": {          "requireMention": true        }      },      "accounts": {        "engineer": {          "appId": "XXX",          "appSecret": "XXX",          "name": "工程师"        },        "editor": {          "appId": "XXX",          "appSecret": "XXX",          "name": "编辑"        },        "researcher": {          "appId": "XXX",          "appSecret": "XXX",          "name": "研究员"        },        "pm": {          "appId": "XXX",          "appSecret": "XXX",          "name": "项目管理"        }      }    }  },  "bindings": [    {      "agentId": "engineer",      "match": {        "channel": "feishu",        "accountId": "engineer"      }    },    {      "agentId": "editor",      "match": {        "channel": "feishu",        "accountId": "editor"      }    },    {      "agentId": "researcher",      "match": {        "channel": "feishu",        "accountId": "researcher"      }    },    {      "agentId": "pm",      "match": {        "channel": "feishu",        "accountId": "pm"      }    }  ],  "session": {    "dmScope": "per-channel-peer"  },  "tools": {    "profile": "coding"  },  "wizard": {    "securityAcknowledgedAt": "2026-08-22T00:39:25.119Z",    "lastRunAt": "2026-08-22T01:05:59.217Z",    "lastRunVersion": "2026.7.1-2",    "lastRunCommand": "onboard",    "lastRunMode": "local"  },  "meta": {    "lastTouchedVersion": "2026.7.1-2",    "lastTouchedAt": "2026-08-22T08:09:01.079Z"  },  "skills": {    "install": {      "nodeManager": "npm"    },    "entries": {      "1password": {        "enabled": false      },      "blogwatcher": {        "enabled": false      },      "blucli": {        "enabled": false      },      "camsnap": {        "enabled": false      },      "coding-agent": {        "enabled": false      },      "eightctl": {        "enabled": false      },      "gemini": {        "enabled": false      },      "gh-issues": {        "enabled": false      },      "gifgrep": {        "enabled": false      },      "github": {        "enabled": false      },      "gog": {        "enabled": false      },      "goplaces": {        "enabled": false      },      "himalaya": {        "enabled": false      },      "mcporter": {        "enabled": false      },      "nano-pdf": {        "enabled": false      },      "obsidian": {        "enabled": false      },      "openai-whisper": {        "enabled": false      },      "openai-whisper-api": {        "enabled": false      },      "openhue": {        "enabled": false      },      "oracle": {        "enabled": false      },      "ordercli": {        "enabled": false      },      "sag": {        "enabled": false      },      "session-logs": {        "enabled": false      },      "sherpa-onnx-tts": {        "enabled": false      },      "songsee": {        "enabled": false      },      "sonoscli": {        "enabled": false      },      "spotify-player": {        "enabled": false      },      "summarize": {        "enabled": false      },      "trello": {        "enabled": false      },      "video-frames": {        "enabled": false      },      "xurl": {        "enabled": false      }    }  },  "hooks": {    "internal": {      "entries": {        "session-memory": {          "enabled": true        }      }    }  },  "plugins": {    "entries": {      "deepseek": {        "enabled": true      },      "kimi": {        "enabled": true      },      "minimax": {        "enabled": true      },      "qwen": {        "enabled": true      },      "firecrawl": {        "enabled": true      },      "feishu": {        "enabled": true      },      "feishu-bot-chat": {        "enabled": true,        "config": {},        "hooks": {          "allowPromptInjection": true,          "allowConversationAccess": true,          "timeoutMs": 30000        }      }    }  },  "auth": {    "profiles": {      "deepseek:default": {        "provider": "deepseek",        "mode": "api_key"      },      "kimi:default": {        "provider": "kimi",        "mode": "api_key"      },      "minimax:global": {        "provider": "minimax",        "mode": "api_key"      },      "qwen:default": {        "provider": "qwen",        "mode": "api_key"      }    }  },  "models": {    "mode": "merge",    "providers": {      "minimax": {        "baseUrl": "XXX",        "api": "anthropic-messages",        "apiKey": "XXX",        "models": [          {            "id": "MiniMax-M3",            "name": "MiniMax-M3",            "api": "anthropic-messages"          }        ]      },      "deepseek": {        "baseUrl": "XXX",        "api": "openai-completions",        "apiKey": "XXX",        "models": [          {            "id": "DeepSeek-V4-Flash",            "name": "DeepSeek-V4-Flash",            "api": "openai-completions"          },          {            "id": "DeepSeek-V4-Pro-0813",            "name": "DeepSeek-V4-Pro-0813",            "api": "openai-completions"          }        ]      },      "kimi-coding": {        "baseUrl": "XXX",        "api": "anthropic-messages",        "apiKey": "XXX",        "models": [          {            "id": "Kimi-K3",            "name": "Kimi-K3",            "api": "anthropic-messages"          }        ]      },      "modelstudio": {        "baseUrl": "XXX",        "api": "openai-completions",        "apiKey": "XXX",        "models": [          {            "id": "Qwen3.8-Max",            "name": "Qwen3.8-Max",            "api": "openai-completions"          }        ]      }    }  },  "commands": {    "ownerAllowFrom": [      "XXX"    ]  }}

上述代码可发给openclaw让其根据自己的实际情况进行修改(如API、文件地址、插件设置等等) 3. 安装飞书聊天机器人插件:https://github.com/Leochens/feishu-bot-chat-plugin,并让OpenClaw基于该插件修改上述四个agent的soul.md等文件

飞书与OpenClaw连接建立

  1. 将上述代码中的app id、app secret、群聊id等修改为自己的

  2. 向飞书机器人随便发送一个信息,机器人会向你发送配对码:

  3. 将下方的配对指令发送给该机器人对应的agent,然后OpenClaw会帮你配对成功,配对成功后,就可以@不同的机器人并发送信息了,但在正式使用之前,还需进一步配置每个角色的功能(见第四步):

  4. 在群里发送下述提示词,让项目管理配置好每一个机器人的角色:

你是【项目管理 Agent】(open_id: <PM_OPEN_ID>),飞书科研协作群的统筹者,请根据角色配置说明在群里@各个成员,完成角色配置。负责对接用户(导师/PI)、拆解任务、分配给对应角色机器人、跟踪进度、汇总结果、汇报风险。【群内机器人】- 项目管理(PM):<PM_OPEN_ID>- 研究员(Researcher):<RESEARCHER_OPEN_ID>- 工程师(Engineer):<ENGINEER_OPEN_ID>- 主编(Editor-in-Chief):<EDITOR_OPEN_ID>【核心职责】接收用户的科研任务,做任务拆解,判断任务类型,精准分配给研究员/工程师/主编。跟踪任务进度,汇总各 Agent 输出,把控整体方向。串行链:研究员输出方案 → 工程师仿真实现 → 主编撰写论文。任务流转全程由 PM 完成,用户无需重复粘贴资料。遇到信息不足,直接向用户提问,不自行编造。【输出规范】- 分配任务时清晰写明:【分配对象】【任务目标】【交付物要求】。- 汇报时区分:✅ 已完成 / ⚠️ 待处理 / ❓ 需要用户确认。- @ 规则:回复任务型 @ 必须 @ 回发起者;只用通知不需回复加 🔕仅通知;单条回复最多 @ 1 个机器人;收到结果回传时整理后只回用户,不再 @ 对方。【红线】- 不输出无关闲聊。- 不编造实验数据、文献、理论。- 改配置前先 read 现状,preserve & merge by default。角色配置说明:研究员你是【研究员 Agent】(open_id: <RESEARCHER_OPEN_ID>),信息与通信工程方向科研专家。【职责】文献调研、前沿技术梳理、理论推导、方案设计、可行性分析梳理研究痛点与创新点,整理文献摘要输出科研思路与技术方案初稿【不做】不写代码不做论文终稿润色【协作接口】上游:用户 / 项目管理下游:工程师(接收方案)、主编(接收综述/方案文档)【输出规范】结构化 Markdown,中文学术风格。引用文献标注来源 PDF 文件名,禁止编造文献/数据。完成后回复"✅ 已交付"。工程师你是【工程师 Agent】(open_id: <ENGINEER_OPEN_ID>),算法编程实现。【职责】代码编写、仿真、调试算法复现、实验方案设计、实验结果分析输出可运行代码、实验数据解读【不做】不做文献综述不负责论文文字润色【协作接口】上游:研究员(接收技术方案)下游:主编(接收实验结果与代码说明)【输出规范】代码附运行说明、依赖版本、可复现实验步骤。实验结果含指标表格与图表说明。完成后回复"✅ 已交付"。主编你是【主编 Agent】(open_id: <EDITOR_OPEN_ID>),学术论文专职撰写(主编级)。【职责】论文框架搭建撰写摘要、引言、正文、实验、结论语法校对、学术措辞润色、格式调整参考文献整理【不做】不做代码开发不做深度理论创新【协作接口】上游:研究员(接收理论方案)、工程师(接收实验结果)下游:用户 / 项目管理【输出规范】符合目标期刊/会议模板(IEEE / 中文核心 等)。公式、图表、参考文献统一格式。完成后回复"✅ 已交付"。
  1. 测试验证,@项目管理,让其在群里@各个成员,看能否正确回复

 6. 大功告成!

相关学习资料