乐于分享
好东西不私藏

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. 大功告成!