[{"data":1,"prerenderedAt":1547},["ShallowReactive",2],{"page-/post/zzao/openclaw-new-agent-feishu":3,"surrounding-page":1538},{"id":4,"title":5,"author":6,"body":7,"date":1524,"description":1525,"extension":1526,"group":1527,"lastmod":1527,"meta":1528,"navigation":268,"path":1530,"rawbody":1531,"seo":1532,"showTitle":1527,"stem":1533,"tags":1534,"versions":1527,"__hash__":1537},"content/post/zzao/openclaw-new-agent-feishu.md","给 OpenClaw 新增一个 Agent（以飞书机器人为例）","阿康",{"type":8,"value":9,"toc":1493},"minimark",[10,14,18,30,34,57,61,71,82,85,161,164,184,195,220,223,227,233,238,354,358,404,408,478,482,528,532,540,595,599,628,632,638,726,729,733,739,745,753,764,887,901,909,921,1020,1033,1041,1051,1107,1116,1120,1131,1156,1163,1174,1178,1275,1279,1282,1285,1310,1313,1316,1320,1325,1343,1355,1359,1366,1379,1383,1402,1408,1419,1423,1431,1453,1457,1472,1478,1481,1489],[11,12,5],"h1",{"id":13},"给-openclaw-新增一个-agent以飞书机器人为例",[15,16,17],"p",{},"想给自己的飞书加一个专属 AI 机器人？",[15,19,20,21,25,26,29],{},"这篇教程手把手教你从零开始，在 ",[22,23,24],"code",{},"OpenClaw"," 里新建一个独立的 ",[22,27,28],{},"Agent","，并接入飞书。跟着做就行，不需要懂内部原理。",[31,32,33],"h2",{"id":33},"你需要准备什么",[35,36,37,43,54],"ul",{},[38,39,40,41],"li",{},"已经装好并能正常运行的 ",[22,42,24],{},[38,44,45,46,53],{},"一个飞书开发者账号，并已经在飞书开放平台创建好了一个 App（没有的话先去 ",[47,48,52],"a",{"href":49,"rel":50},"https://open.feishu.cn/app",[51],"nofollow","open.feishu.cn/app"," 新建一个）",[38,55,56],{},"终端基本操作能力（会复制粘贴命令就够了）",[31,58,60],{"id":59},"第一步创建-agent-工作目录","第一步：创建 Agent 工作目录",[15,62,63,64,66,67,70],{},"每个 ",[22,65,28],{}," 都有自己的\"家\"，住在 ",[22,68,69],{},"~/.openclaw/agents/\u003Cagentname>/"," 下面。",[15,72,73,74,77,78,81],{},"把 ",[22,75,76],{},"agentname"," 换成你想取的名字，比如 ",[22,79,80],{},"mybot","。",[15,83,84],{},"打开终端，依次运行：",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-bash shiki shiki-themes github-light","mkdir -p ~/.openclaw/agents/mybot/workspace/skills\nmkdir -p ~/.openclaw/agents/mybot/workspace/tasks\nmkdir -p ~/.openclaw/agents/mybot/workspace/results\nmkdir -p ~/.openclaw/agents/mybot/workspace/memory\nmkdir -p ~/.openclaw/agents/mybot/agent\nmkdir -p ~/.openclaw/agents/mybot/sessions\n","bash","",[22,93,94,111,121,131,141,151],{"__ignoreMap":91},[95,96,99,103,107],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"s7eDp","mkdir",[95,104,106],{"class":105},"sYu0t"," -p",[95,108,110],{"class":109},"sYBdl"," ~/.openclaw/agents/mybot/workspace/skills\n",[95,112,114,116,118],{"class":97,"line":113},2,[95,115,102],{"class":101},[95,117,106],{"class":105},[95,119,120],{"class":109}," ~/.openclaw/agents/mybot/workspace/tasks\n",[95,122,124,126,128],{"class":97,"line":123},3,[95,125,102],{"class":101},[95,127,106],{"class":105},[95,129,130],{"class":109}," ~/.openclaw/agents/mybot/workspace/results\n",[95,132,134,136,138],{"class":97,"line":133},4,[95,135,102],{"class":101},[95,137,106],{"class":105},[95,139,140],{"class":109}," ~/.openclaw/agents/mybot/workspace/memory\n",[95,142,144,146,148],{"class":97,"line":143},5,[95,145,102],{"class":101},[95,147,106],{"class":105},[95,149,150],{"class":109}," ~/.openclaw/agents/mybot/agent\n",[95,152,154,156,158],{"class":97,"line":153},6,[95,155,102],{"class":101},[95,157,106],{"class":105},[95,159,160],{"class":109}," ~/.openclaw/agents/mybot/sessions\n",[15,162,163],{},"然后初始化 sessions 文件：",[86,165,167],{"className":88,"code":166,"language":90,"meta":91,"style":91},"echo '{\"sessions\":[]}' > ~/.openclaw/agents/mybot/sessions/sessions.json\n",[22,168,169],{"__ignoreMap":91},[95,170,171,174,177,181],{"class":97,"line":98},[95,172,173],{"class":105},"echo",[95,175,176],{"class":109}," '{\"sessions\":[]}'",[95,178,180],{"class":179},"sD7c4"," >",[95,182,183],{"class":109}," ~/.openclaw/agents/mybot/sessions/sessions.json\n",[15,185,186,187,190,191,194],{},"接着把 ",[22,188,189],{},"models.json"," 和 ",[22,192,193],{},"auth-profiles.json"," 从现有 Agent 复制过来（直接用主 Agent 的就行）：",[86,196,198],{"className":88,"code":197,"language":90,"meta":91,"style":91},"cp ~/.openclaw/agents/main/agent/models.json ~/.openclaw/agents/mybot/agent/\ncp ~/.openclaw/agents/main/agent/auth-profiles.json ~/.openclaw/agents/mybot/agent/\n",[22,199,200,211],{"__ignoreMap":91},[95,201,202,205,208],{"class":97,"line":98},[95,203,204],{"class":101},"cp",[95,206,207],{"class":109}," ~/.openclaw/agents/main/agent/models.json",[95,209,210],{"class":109}," ~/.openclaw/agents/mybot/agent/\n",[95,212,213,215,218],{"class":97,"line":113},[95,214,204],{"class":101},[95,216,217],{"class":109}," ~/.openclaw/agents/main/agent/auth-profiles.json",[95,219,210],{"class":109},[15,221,222],{},"目录结构建好了，接下来写配置文件。",[31,224,226],{"id":225},"第二步写核心配置文件","第二步：写核心配置文件",[15,228,229,230,232],{},"这些文件决定了你的 ",[22,231,28],{}," 是什么性格、干什么活、认识谁。挨个创建就行。",[234,235,237],"h3",{"id":236},"soulmd-agent-的灵魂","SOUL.md — Agent 的灵魂",[86,239,241],{"className":88,"code":240,"language":90,"meta":91,"style":91},"cat > ~/.openclaw/agents/mybot/workspace/SOUL.md \u003C\u003C 'EOF'\n# SOUL.md\n\n你是 MyBot，一个简洁高效的助手。\n\n## 性格\n- 回答简短直接，不废话\n- 友好但不过分热情\n- 不确定的事情说不确定，不瞎编\n\n## 职责\n- 回答用户问题\n- 协助处理日常任务\n\n## 禁止事项\n- 不发布任何外部消息（邮件、推文等）除非明确被要求\n- 不删除重要文件\nEOF\n",[22,242,243,259,264,270,275,279,284,290,296,302,307,313,319,325,330,336,342,348],{"__ignoreMap":91},[95,244,245,248,250,253,256],{"class":97,"line":98},[95,246,247],{"class":101},"cat",[95,249,180],{"class":179},[95,251,252],{"class":109}," ~/.openclaw/agents/mybot/workspace/SOUL.md",[95,254,255],{"class":179}," \u003C\u003C",[95,257,258],{"class":109}," 'EOF'\n",[95,260,261],{"class":97,"line":113},[95,262,263],{"class":109},"# SOUL.md\n",[95,265,266],{"class":97,"line":123},[95,267,269],{"emptyLinePlaceholder":268},true,"\n",[95,271,272],{"class":97,"line":133},[95,273,274],{"class":109},"你是 MyBot，一个简洁高效的助手。\n",[95,276,277],{"class":97,"line":143},[95,278,269],{"emptyLinePlaceholder":268},[95,280,281],{"class":97,"line":153},[95,282,283],{"class":109},"## 性格\n",[95,285,287],{"class":97,"line":286},7,[95,288,289],{"class":109},"- 回答简短直接，不废话\n",[95,291,293],{"class":97,"line":292},8,[95,294,295],{"class":109},"- 友好但不过分热情\n",[95,297,299],{"class":97,"line":298},9,[95,300,301],{"class":109},"- 不确定的事情说不确定，不瞎编\n",[95,303,305],{"class":97,"line":304},10,[95,306,269],{"emptyLinePlaceholder":268},[95,308,310],{"class":97,"line":309},11,[95,311,312],{"class":109},"## 职责\n",[95,314,316],{"class":97,"line":315},12,[95,317,318],{"class":109},"- 回答用户问题\n",[95,320,322],{"class":97,"line":321},13,[95,323,324],{"class":109},"- 协助处理日常任务\n",[95,326,328],{"class":97,"line":327},14,[95,329,269],{"emptyLinePlaceholder":268},[95,331,333],{"class":97,"line":332},15,[95,334,335],{"class":109},"## 禁止事项\n",[95,337,339],{"class":97,"line":338},16,[95,340,341],{"class":109},"- 不发布任何外部消息（邮件、推文等）除非明确被要求\n",[95,343,345],{"class":97,"line":344},17,[95,346,347],{"class":109},"- 不删除重要文件\n",[95,349,351],{"class":97,"line":350},18,[95,352,353],{"class":109},"EOF\n",[234,355,357],{"id":356},"identitymd-名字和角色","IDENTITY.md — 名字和角色",[86,359,361],{"className":88,"code":360,"language":90,"meta":91,"style":91},"cat > ~/.openclaw/agents/mybot/workspace/IDENTITY.md \u003C\u003C 'EOF'\n# IDENTITY.md\n\n- **Name:** MyBot\n- **Role:** 飞书助手\n- **Emoji:** 🤖\nEOF\n",[22,362,363,376,381,385,390,395,400],{"__ignoreMap":91},[95,364,365,367,369,372,374],{"class":97,"line":98},[95,366,247],{"class":101},[95,368,180],{"class":179},[95,370,371],{"class":109}," ~/.openclaw/agents/mybot/workspace/IDENTITY.md",[95,373,255],{"class":179},[95,375,258],{"class":109},[95,377,378],{"class":97,"line":113},[95,379,380],{"class":109},"# IDENTITY.md\n",[95,382,383],{"class":97,"line":123},[95,384,269],{"emptyLinePlaceholder":268},[95,386,387],{"class":97,"line":133},[95,388,389],{"class":109},"- **Name:** MyBot\n",[95,391,392],{"class":97,"line":143},[95,393,394],{"class":109},"- **Role:** 飞书助手\n",[95,396,397],{"class":97,"line":153},[95,398,399],{"class":109},"- **Emoji:** 🤖\n",[95,401,402],{"class":97,"line":286},[95,403,353],{"class":109},[234,405,407],{"id":406},"agentsmd-工作规范","AGENTS.md — 工作规范",[86,409,411],{"className":88,"code":410,"language":90,"meta":91,"style":91},"cat > ~/.openclaw/agents/mybot/workspace/AGENTS.md \u003C\u003C 'EOF'\n# AGENTS.md\n\n## 每次会话开始\n1. 读 SOUL.md\n2. 读 USER.md\n3. 读今天的 memory/YYYY-MM-DD.md（如果存在）\n\n## 记忆\n- 日常记录写到 memory/YYYY-MM-DD.md\n- 重要信息更新到 MEMORY.md\nEOF\n",[22,412,413,426,431,435,440,445,450,455,459,464,469,474],{"__ignoreMap":91},[95,414,415,417,419,422,424],{"class":97,"line":98},[95,416,247],{"class":101},[95,418,180],{"class":179},[95,420,421],{"class":109}," ~/.openclaw/agents/mybot/workspace/AGENTS.md",[95,423,255],{"class":179},[95,425,258],{"class":109},[95,427,428],{"class":97,"line":113},[95,429,430],{"class":109},"# AGENTS.md\n",[95,432,433],{"class":97,"line":123},[95,434,269],{"emptyLinePlaceholder":268},[95,436,437],{"class":97,"line":133},[95,438,439],{"class":109},"## 每次会话开始\n",[95,441,442],{"class":97,"line":143},[95,443,444],{"class":109},"1. 读 SOUL.md\n",[95,446,447],{"class":97,"line":153},[95,448,449],{"class":109},"2. 读 USER.md\n",[95,451,452],{"class":97,"line":286},[95,453,454],{"class":109},"3. 读今天的 memory/YYYY-MM-DD.md（如果存在）\n",[95,456,457],{"class":97,"line":292},[95,458,269],{"emptyLinePlaceholder":268},[95,460,461],{"class":97,"line":298},[95,462,463],{"class":109},"## 记忆\n",[95,465,466],{"class":97,"line":304},[95,467,468],{"class":109},"- 日常记录写到 memory/YYYY-MM-DD.md\n",[95,470,471],{"class":97,"line":309},[95,472,473],{"class":109},"- 重要信息更新到 MEMORY.md\n",[95,475,476],{"class":97,"line":315},[95,477,353],{"class":109},[234,479,481],{"id":480},"usermd-用户是谁","USER.md — 用户是谁",[86,483,485],{"className":88,"code":484,"language":90,"meta":91,"style":91},"cat > ~/.openclaw/agents/mybot/workspace/USER.md \u003C\u003C 'EOF'\n# USER.md\n\n- **Name:** 你的名字\n- **Timezone:** Asia/Shanghai\n- **Notes:** 根据实际情况填写\nEOF\n",[22,486,487,500,505,509,514,519,524],{"__ignoreMap":91},[95,488,489,491,493,496,498],{"class":97,"line":98},[95,490,247],{"class":101},[95,492,180],{"class":179},[95,494,495],{"class":109}," ~/.openclaw/agents/mybot/workspace/USER.md",[95,497,255],{"class":179},[95,499,258],{"class":109},[95,501,502],{"class":97,"line":113},[95,503,504],{"class":109},"# USER.md\n",[95,506,507],{"class":97,"line":123},[95,508,269],{"emptyLinePlaceholder":268},[95,510,511],{"class":97,"line":133},[95,512,513],{"class":109},"- **Name:** 你的名字\n",[95,515,516],{"class":97,"line":143},[95,517,518],{"class":109},"- **Timezone:** Asia/Shanghai\n",[95,520,521],{"class":97,"line":153},[95,522,523],{"class":109},"- **Notes:** 根据实际情况填写\n",[95,525,526],{"class":97,"line":286},[95,527,353],{"class":109},[234,529,531],{"id":530},"memorymd-长期记忆不能省","MEMORY.md — 长期记忆（不能省！）",[15,533,534,535,539],{},"这个文件",[536,537,538],"strong",{},"一定要创建","，哪怕内容很简单。原因后面踩坑部分会说。",[86,541,543],{"className":88,"code":542,"language":90,"meta":91,"style":91},"cat > ~/.openclaw/agents/mybot/workspace/MEMORY.md \u003C\u003C 'EOF'\n# MEMORY.md\n\n这是 MyBot 的长期记忆文件。\n\n## 基本信息\n- 我是 MyBot，运行在飞书频道的助手\n- 创建时间：2026-03-05\nEOF\n",[22,544,545,558,563,567,572,576,581,586,591],{"__ignoreMap":91},[95,546,547,549,551,554,556],{"class":97,"line":98},[95,548,247],{"class":101},[95,550,180],{"class":179},[95,552,553],{"class":109}," ~/.openclaw/agents/mybot/workspace/MEMORY.md",[95,555,255],{"class":179},[95,557,258],{"class":109},[95,559,560],{"class":97,"line":113},[95,561,562],{"class":109},"# MEMORY.md\n",[95,564,565],{"class":97,"line":123},[95,566,269],{"emptyLinePlaceholder":268},[95,568,569],{"class":97,"line":133},[95,570,571],{"class":109},"这是 MyBot 的长期记忆文件。\n",[95,573,574],{"class":97,"line":143},[95,575,269],{"emptyLinePlaceholder":268},[95,577,578],{"class":97,"line":153},[95,579,580],{"class":109},"## 基本信息\n",[95,582,583],{"class":97,"line":286},[95,584,585],{"class":109},"- 我是 MyBot，运行在飞书频道的助手\n",[95,587,588],{"class":97,"line":292},[95,589,590],{"class":109},"- 创建时间：2026-03-05\n",[95,592,593],{"class":97,"line":298},[95,594,353],{"class":109},[234,596,598],{"id":597},"heartbeatmd-和-toolsmd","HEARTBEAT.md 和 TOOLS.md",[86,600,602],{"className":88,"code":601,"language":90,"meta":91,"style":91},"echo '# HEARTBEAT.md\\n\\n# 暂无心跳任务' > ~/.openclaw/agents/mybot/workspace/HEARTBEAT.md\necho '# TOOLS.md\\n\\n# 工具备注（暂无）' > ~/.openclaw/agents/mybot/workspace/TOOLS.md\n",[22,603,604,616],{"__ignoreMap":91},[95,605,606,608,611,613],{"class":97,"line":98},[95,607,173],{"class":105},[95,609,610],{"class":109}," '# HEARTBEAT.md\\n\\n# 暂无心跳任务'",[95,612,180],{"class":179},[95,614,615],{"class":109}," ~/.openclaw/agents/mybot/workspace/HEARTBEAT.md\n",[95,617,618,620,623,625],{"class":97,"line":113},[95,619,173],{"class":105},[95,621,622],{"class":109}," '# TOOLS.md\\n\\n# 工具备注（暂无）'",[95,624,180],{"class":179},[95,626,627],{"class":109}," ~/.openclaw/agents/mybot/workspace/TOOLS.md\n",[31,629,631],{"id":630},"第三步软连接-skills可选","第三步：软连接 Skills（可选）",[15,633,634,635,637],{},"如果你希望新 ",[22,636,28],{}," 也能用全局的 skills，跑这段脚本：",[86,639,641],{"className":88,"code":640,"language":90,"meta":91,"style":91},"cd ~/.openclaw/agents/mybot/workspace/skills\nGLOBAL_SKILLS=~/.openclaw/workspace/skills\nfor skill in $(ls \"$GLOBAL_SKILLS\"); do\n  ln -sf \"$GLOBAL_SKILLS/$skill\" \"$skill\"\ndone\n",[22,642,643,650,662,694,721],{"__ignoreMap":91},[95,644,645,648],{"class":97,"line":98},[95,646,647],{"class":105},"cd",[95,649,110],{"class":109},[95,651,652,656,659],{"class":97,"line":113},[95,653,655],{"class":654},"sgsFI","GLOBAL_SKILLS",[95,657,658],{"class":179},"=",[95,660,661],{"class":109},"~/.openclaw/workspace/skills\n",[95,663,664,667,670,673,676,679,682,685,688,691],{"class":97,"line":123},[95,665,666],{"class":179},"for",[95,668,669],{"class":654}," skill ",[95,671,672],{"class":179},"in",[95,674,675],{"class":654}," $(",[95,677,678],{"class":101},"ls",[95,680,681],{"class":109}," \"",[95,683,684],{"class":654},"$GLOBAL_SKILLS",[95,686,687],{"class":109},"\"",[95,689,690],{"class":654},"); ",[95,692,693],{"class":179},"do\n",[95,695,696,699,702,704,706,709,712,714,716,718],{"class":97,"line":133},[95,697,698],{"class":101},"  ln",[95,700,701],{"class":105}," -sf",[95,703,681],{"class":109},[95,705,684],{"class":654},[95,707,708],{"class":109},"/",[95,710,711],{"class":654},"$skill",[95,713,687],{"class":109},[95,715,681],{"class":109},[95,717,711],{"class":654},[95,719,720],{"class":109},"\"\n",[95,722,723],{"class":97,"line":143},[95,724,725],{"class":179},"done\n",[15,727,728],{},"不需要的话这步跳过也没问题。",[31,730,732],{"id":731},"第四步修改-openclawjson","第四步：修改 openclaw.json",[15,734,735,736,81],{},"这是最重要的一步，",[536,737,738],{},"三个地方都要改，一个都不能漏",[15,740,741,742,81],{},"用编辑器打开 ",[22,743,744],{},"~/.openclaw/openclaw.json",[234,746,748,749,752],{"id":747},"_1-在-agentslist-数组里加入新-agent","1. 在 ",[22,750,751],{},"agents.list"," 数组里加入新 Agent",[15,754,755,756,759,760,763],{},"找到 ",[22,757,758],{},"agents"," → ",[22,761,762],{},"list"," 数组，在里面追加：",[86,765,769],{"className":766,"code":767,"language":768,"meta":91,"style":91},"language-json shiki shiki-themes github-light","{\n  \"id\": \"mybot\",\n  \"name\": \"mybot\",\n  \"workspace\": \"/Users/你的用户名/.openclaw/agents/mybot/workspace\",\n  \"agentDir\": \"/Users/你的用户名/.openclaw/agents/mybot/agent\",\n  \"model\": \"github-copilot/claude-sonnet-4.6\",\n  \"identity\": {\n    \"name\": \"MyBot\",\n    \"emoji\": \"🤖\"\n  },\n  \"account\": \"mybot\"\n}\n","json",[22,770,771,776,790,801,813,825,837,845,857,867,872,882],{"__ignoreMap":91},[95,772,773],{"class":97,"line":98},[95,774,775],{"class":654},"{\n",[95,777,778,781,784,787],{"class":97,"line":113},[95,779,780],{"class":105},"  \"id\"",[95,782,783],{"class":654},": ",[95,785,786],{"class":109},"\"mybot\"",[95,788,789],{"class":654},",\n",[95,791,792,795,797,799],{"class":97,"line":123},[95,793,794],{"class":105},"  \"name\"",[95,796,783],{"class":654},[95,798,786],{"class":109},[95,800,789],{"class":654},[95,802,803,806,808,811],{"class":97,"line":133},[95,804,805],{"class":105},"  \"workspace\"",[95,807,783],{"class":654},[95,809,810],{"class":109},"\"/Users/你的用户名/.openclaw/agents/mybot/workspace\"",[95,812,789],{"class":654},[95,814,815,818,820,823],{"class":97,"line":143},[95,816,817],{"class":105},"  \"agentDir\"",[95,819,783],{"class":654},[95,821,822],{"class":109},"\"/Users/你的用户名/.openclaw/agents/mybot/agent\"",[95,824,789],{"class":654},[95,826,827,830,832,835],{"class":97,"line":153},[95,828,829],{"class":105},"  \"model\"",[95,831,783],{"class":654},[95,833,834],{"class":109},"\"github-copilot/claude-sonnet-4.6\"",[95,836,789],{"class":654},[95,838,839,842],{"class":97,"line":286},[95,840,841],{"class":105},"  \"identity\"",[95,843,844],{"class":654},": {\n",[95,846,847,850,852,855],{"class":97,"line":292},[95,848,849],{"class":105},"    \"name\"",[95,851,783],{"class":654},[95,853,854],{"class":109},"\"MyBot\"",[95,856,789],{"class":654},[95,858,859,862,864],{"class":97,"line":298},[95,860,861],{"class":105},"    \"emoji\"",[95,863,783],{"class":654},[95,865,866],{"class":109},"\"🤖\"\n",[95,868,869],{"class":97,"line":304},[95,870,871],{"class":654},"  },\n",[95,873,874,877,879],{"class":97,"line":309},[95,875,876],{"class":105},"  \"account\"",[95,878,783],{"class":654},[95,880,881],{"class":109},"\"mybot\"\n",[95,883,884],{"class":97,"line":315},[95,885,886],{"class":654},"}\n",[888,889,890],"blockquote",{},[15,891,892,893,896,897,900],{},"记得把 ",[22,894,895],{},"你的用户名"," 换成你本机的实际用户名，可以用 ",[22,898,899],{},"whoami"," 命令查看。",[234,902,904,905,908],{"id":903},"_2-在-channelsfeishuaccounts-里加飞书账号","2. 在 ",[22,906,907],{},"channels.feishu.accounts"," 里加飞书账号",[15,910,755,911,759,914,759,917,920],{},[22,912,913],{},"channels",[22,915,916],{},"feishu",[22,918,919],{},"accounts","，加入：",[86,922,924],{"className":766,"code":923,"language":768,"meta":91,"style":91},"\"mybot\": {\n  \"appId\": \"cli_xxxxxxxx\",\n  \"appSecret\": \"xxxxxxxxxxxxxxxx\",\n  \"dmPolicy\": \"open\",\n  \"domain\": \"feishu\",\n  \"enabled\": true,\n  \"allowFrom\": [\"*\"],\n  \"groupPolicy\": \"open\"\n}\n",[22,925,926,932,944,956,968,980,992,1006,1016],{"__ignoreMap":91},[95,927,928,930],{"class":97,"line":98},[95,929,786],{"class":109},[95,931,844],{"class":654},[95,933,934,937,939,942],{"class":97,"line":113},[95,935,936],{"class":105},"  \"appId\"",[95,938,783],{"class":654},[95,940,941],{"class":109},"\"cli_xxxxxxxx\"",[95,943,789],{"class":654},[95,945,946,949,951,954],{"class":97,"line":123},[95,947,948],{"class":105},"  \"appSecret\"",[95,950,783],{"class":654},[95,952,953],{"class":109},"\"xxxxxxxxxxxxxxxx\"",[95,955,789],{"class":654},[95,957,958,961,963,966],{"class":97,"line":133},[95,959,960],{"class":105},"  \"dmPolicy\"",[95,962,783],{"class":654},[95,964,965],{"class":109},"\"open\"",[95,967,789],{"class":654},[95,969,970,973,975,978],{"class":97,"line":143},[95,971,972],{"class":105},"  \"domain\"",[95,974,783],{"class":654},[95,976,977],{"class":109},"\"feishu\"",[95,979,789],{"class":654},[95,981,982,985,987,990],{"class":97,"line":153},[95,983,984],{"class":105},"  \"enabled\"",[95,986,783],{"class":654},[95,988,989],{"class":105},"true",[95,991,789],{"class":654},[95,993,994,997,1000,1003],{"class":97,"line":286},[95,995,996],{"class":105},"  \"allowFrom\"",[95,998,999],{"class":654},": [",[95,1001,1002],{"class":109},"\"*\"",[95,1004,1005],{"class":654},"],\n",[95,1007,1008,1011,1013],{"class":97,"line":292},[95,1009,1010],{"class":105},"  \"groupPolicy\"",[95,1012,783],{"class":654},[95,1014,1015],{"class":109},"\"open\"\n",[95,1017,1018],{"class":97,"line":298},[95,1019,886],{"class":654},[15,1021,1022,190,1025,1028,1029,1032],{},[22,1023,1024],{},"appId",[22,1026,1027],{},"appSecret"," 在飞书开放平台你的 App 里找，位置：",[536,1030,1031],{},"凭证与基础信息"," → App ID / App Secret。",[234,1034,1036,1037,1040],{"id":1035},"_3-在顶层-bindings-数组里加路由规则","3. 在顶层 ",[22,1038,1039],{},"bindings"," 数组里加路由规则",[15,1042,1043,1044,1047,1048,1050],{},"⚠️ ",[536,1045,1046],{},"这是最容易漏掉的一步！"," 找到顶层的 ",[22,1049,1039],{}," 数组（不是某个 agent 里面的），加入：",[86,1052,1054],{"className":766,"code":1053,"language":768,"meta":91,"style":91},"{\n  \"agentId\": \"mybot\",\n  \"match\": {\n    \"channel\": \"feishu\",\n    \"accountId\": \"mybot\"\n  }\n}\n",[22,1055,1056,1060,1071,1078,1089,1098,1103],{"__ignoreMap":91},[95,1057,1058],{"class":97,"line":98},[95,1059,775],{"class":654},[95,1061,1062,1065,1067,1069],{"class":97,"line":113},[95,1063,1064],{"class":105},"  \"agentId\"",[95,1066,783],{"class":654},[95,1068,786],{"class":109},[95,1070,789],{"class":654},[95,1072,1073,1076],{"class":97,"line":123},[95,1074,1075],{"class":105},"  \"match\"",[95,1077,844],{"class":654},[95,1079,1080,1083,1085,1087],{"class":97,"line":133},[95,1081,1082],{"class":105},"    \"channel\"",[95,1084,783],{"class":654},[95,1086,977],{"class":109},[95,1088,789],{"class":654},[95,1090,1091,1094,1096],{"class":97,"line":143},[95,1092,1093],{"class":105},"    \"accountId\"",[95,1095,783],{"class":654},[95,1097,881],{"class":109},[95,1099,1100],{"class":97,"line":153},[95,1101,1102],{"class":654},"  }\n",[95,1104,1105],{"class":97,"line":286},[95,1106,886],{"class":654},[15,1108,1109,1110,1112,1113,1115],{},"没有这条规则，飞书消息会被路由到主 ",[22,1111,28],{},"，新 ",[22,1114,28],{}," 永远收不到消息。",[31,1117,1119],{"id":1118},"第五步重启-openclaw-gateway","第五步：重启 OpenClaw Gateway",[15,1121,1122,1123,1130],{},"配置文件改完之后，",[536,1124,1125,1126,1129],{},"必须重启 ",[22,1127,1128],{},"Gateway"," 才能生效","：",[86,1132,1134],{"className":88,"code":1133,"language":90,"meta":91,"style":91},"openclaw gateway restart\nopenclaw gateway status\n",[22,1135,1136,1147],{"__ignoreMap":91},[95,1137,1138,1141,1144],{"class":97,"line":98},[95,1139,1140],{"class":101},"openclaw",[95,1142,1143],{"class":109}," gateway",[95,1145,1146],{"class":109}," restart\n",[95,1148,1149,1151,1153],{"class":97,"line":113},[95,1150,1140],{"class":101},[95,1152,1143],{"class":109},[95,1154,1155],{"class":109}," status\n",[15,1157,1158,1159,1162],{},"看到 ",[22,1160,1161],{},"RPC probe: ok"," 就说明启动成功了。",[888,1164,1165],{},[15,1166,1043,1167,1170,1171,1173],{},[536,1168,1169],{},"顺序很重要","：必须先把 ",[22,1172,1128],{}," 跑起来，才能去飞书配置长连接。顺序反了飞书那边会报错。",[31,1175,1177],{"id":1176},"第六步飞书开发者后台配置","第六步：飞书开发者后台配置",[1179,1180,1181,1189,1245,1266,1272],"ol",{},[38,1182,1183,1184,1188],{},"进入 ",[47,1185,1187],{"href":49,"rel":1186},[51],"飞书开放平台","，找到你的 App",[38,1190,1191,1194,1195,1198,1199,1202,1203,1220,1222,1223,1239,1241,1242,1244],{},[536,1192,1193],{},"权限管理"," 这一步不要把 ",[22,1196,1197],{},"im:message"," 当成一个单独权限看。\n它在飞书后台里是一整组消息权限，不是点一个就完了。",[1200,1201],"br",{},"更稳的做法是，围绕下面这几类能力去开：",[35,1204,1205,1208,1211,1214,1217],{},[38,1206,1207],{},"机器人收消息",[38,1209,1210],{},"机器人发消息",[38,1212,1213],{},"单聊消息",[38,1215,1216],{},"群聊消息 / 被 @ 消息",[38,1218,1219],{},"用户 ID 读取",[1200,1221],{},"实际操作时，至少围绕这些关键词去确认：",[35,1224,1225,1229,1234],{},[38,1226,1227],{},[22,1228,1197],{},[38,1230,1231],{},[22,1232,1233],{},"im:message:send_as_bot",[38,1235,1236],{},[22,1237,1238],{},"contact:user.id:readonly",[1200,1240],{},"然后把 ",[22,1243,1197],{}," 下面那组和收消息相关的权限一起开好。\n别只开一个最短的名字就停。",[38,1246,1247,1250,1251,1254,1255],{},[536,1248,1249],{},"事件与回调"," → 消息与事件订阅 → 选择",[536,1252,1253],{},"长连接","模式 → 点击开启",[35,1256,1257],{},[38,1258,1043,1259,1265],{},[536,1260,1261,1262,1264],{},"此时 ",[22,1263,1128],{}," 必须已经在跑","，否则页面会提示\"未检测到应用连接信息\"，开启会失败",[38,1267,1268,1269],{},"订阅事件，搜索并添加：",[22,1270,1271],{},"im.message.receive_v1",[38,1273,1274],{},"保存配置，发布应用（版本管理 → 创建版本 → 发布）",[31,1276,1278],{"id":1277},"第七步验证","第七步：验证",[15,1280,1281],{},"在飞书里找到你的机器人，发一条消息，看它有没有正常回复。",[15,1283,1284],{},"如果没有反应，先检查：",[35,1286,1287,1293,1302],{},[38,1288,1289,1292],{},[22,1290,1291],{},"openclaw gateway status"," 是否正常",[38,1294,1295,1298,1299,1301],{},[22,1296,1297],{},"openclaw.json"," 里 ",[22,1300,1039],{}," 有没有加",[38,1303,1304,1306,1307,1309],{},[22,1305,1024],{}," / ",[22,1308,1027],{}," 填对了没有",[31,1311,1312],{"id":1312},"踩坑清单",[15,1314,1315],{},"做完之后最好过一遍这个清单，这几个坑我都踩过。",[234,1317,1319],{"id":1318},"️-坑一漏加-bindings","⚠️ 坑一：漏加 bindings",[15,1321,1322],{},[536,1323,1324],{},"最高频的坑。",[15,1326,1327,1328,1330,1331,1333,1334,1336,1337,1339,1340,1342],{},"很多人在 ",[22,1329,751],{}," 里加了新 ",[22,1332,28],{},"，以为就完事了。但消息路由靠的是顶层 ",[22,1335,1039],{}," 数组，不加这条，飞书消息会一直跑到主 ",[22,1338,28],{}," 那里去，新 ",[22,1341,28],{}," 根本不会被调用。",[15,1344,1345,1348,1349,1351,1352,1354],{},[536,1346,1347],{},"解决："," 确认 ",[22,1350,1297],{}," 顶层有 ",[22,1353,1039],{}," 数组，且里面有对应的路由规则。",[234,1356,1358],{"id":1357},"️-坑二飞书长连接顺序搞反了","⚠️ 坑二：飞书长连接顺序搞反了",[15,1360,1361,1362,1365],{},"去飞书开启长连接的时候，必须 ",[22,1363,1364],{},"OpenClaw Gateway"," 已经在运行。顺序反了，飞书检测不到连接，会提示错误。",[15,1367,1368,1370,1371,1374,1375,1378],{},[536,1369,1347],{}," 先 ",[22,1372,1373],{},"openclaw gateway restart","，确认 ",[22,1376,1377],{},"ok"," 之后，再去飞书点开启。",[234,1380,1382],{"id":1381},"️-坑三没有-memorymd-导致身份错乱","⚠️ 坑三：没有 MEMORY.md 导致身份错乱",[15,1384,1385,1386,1388,1389,1392,1393,1395,1396,1398,1399,1401],{},"如果 ",[22,1387,28],{}," 的 workspace 里没有 ",[22,1390,1391],{},"MEMORY.md","，",[22,1394,24],{}," 会 fallback 去读全局 workspace 的 ",[22,1397,1391],{},"，也就是主 ",[22,1400,28],{}," 的记忆文件。",[15,1403,1404,1405,1407],{},"结果新机器人一开口就报出主 ",[22,1406,28],{}," 的名字和身份，非常奇怪。",[15,1409,1410,1412,1413,1415,1416,1418],{},[536,1411,1347],{}," 每个 ",[22,1414,28],{}," 的 workspace 里都要有独立的 ",[22,1417,1391],{},"，哪怕内容只有两行。",[234,1420,1422],{"id":1421},"️-坑四改完配置忘了重启","⚠️ 坑四：改完配置忘了重启",[15,1424,1425,1427,1428,1430],{},[22,1426,1297],{}," 改完直接去测试，发现没效果。原因是 ",[22,1429,1128],{}," 还在跑旧配置。",[15,1432,1433,1435,1436,1438,1439,1441,1442,1306,1445,1448,1449,1452],{},[536,1434,1347],{}," 改完 ",[22,1437,1297],{}," 必须 ",[22,1440,1373],{},"。如果只改了 ",[22,1443,1444],{},"SOUL.md",[22,1446,1447],{},"AGENTS.md"," 等 workspace 文件，则需要在对话里执行 ",[22,1450,1451],{},"/new"," 重置会话。",[234,1454,1456],{"id":1455},"️-坑五以为-account-字段就是路由","⚠️ 坑五：以为 account 字段就是路由",[15,1458,1459,1461,1462,1465,1466,1468,1469,81],{},[22,1460,28],{}," 配置里有个 ",[22,1463,1464],{},"\"account\": \"mybot\""," 字段，这只是标记这个 ",[22,1467,28],{}," 关联哪个账号，",[536,1470,1471],{},"不是路由机制",[15,1473,1474,1475,1477],{},"真正的路由靠顶层 ",[22,1476,1039],{},"，两个地方都要配，缺一不可。",[15,1479,1480],{},"做完这七步，你的飞书机器人应该就能正常跑起来了。",[15,1482,1483,1484,190,1486,1488],{},"如果还有问题，优先检查 ",[22,1485,1039],{},[22,1487,1128],{}," 状态，90% 的问题都出在这两个地方。",[1490,1491,1492],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}",{"title":91,"searchDepth":113,"depth":113,"links":1494},[1495,1496,1497,1505,1506,1514,1515,1516,1517],{"id":33,"depth":113,"text":33},{"id":59,"depth":113,"text":60},{"id":225,"depth":113,"text":226,"children":1498},[1499,1500,1501,1502,1503,1504],{"id":236,"depth":123,"text":237},{"id":356,"depth":123,"text":357},{"id":406,"depth":123,"text":407},{"id":480,"depth":123,"text":481},{"id":530,"depth":123,"text":531},{"id":597,"depth":123,"text":598},{"id":630,"depth":113,"text":631},{"id":731,"depth":113,"text":732,"children":1507},[1508,1510,1512],{"id":747,"depth":123,"text":1509},"1. 在 agents.list 数组里加入新 Agent",{"id":903,"depth":123,"text":1511},"2. 在 channels.feishu.accounts 里加飞书账号",{"id":1035,"depth":123,"text":1513},"3. 在顶层 bindings 数组里加路由规则",{"id":1118,"depth":113,"text":1119},{"id":1176,"depth":113,"text":1177},{"id":1277,"depth":113,"text":1278},{"id":1312,"depth":113,"text":1312,"children":1518},[1519,1520,1521,1522,1523],{"id":1318,"depth":123,"text":1319},{"id":1357,"depth":123,"text":1358},{"id":1381,"depth":123,"text":1382},{"id":1421,"depth":123,"text":1422},{"id":1455,"depth":123,"text":1456},"2026-03-05T00:00:00.000Z","手把手教你在 OpenClaw 里新建一个独立的 Agent，并接入飞书机器人，含踩坑清单。","md",null,{"slug":1529},"openclaw-new-agent-feishu","/post/zzao/openclaw-new-agent-feishu","---\ntitle: 给 OpenClaw 新增一个 Agent（以飞书机器人为例）\ndate: 2026-03-05\ntags: [OpenClaw, 飞书, Agent, 教程]\nslug: openclaw-new-agent-feishu\nauthor: 阿康\ndescription: 手把手教你在 OpenClaw 里新建一个独立的 Agent，并接入飞书机器人，含踩坑清单。\n---\n\n# 给 OpenClaw 新增一个 Agent（以飞书机器人为例）\n\n想给自己的飞书加一个专属 AI 机器人？\n\n这篇教程手把手教你从零开始，在 `OpenClaw` 里新建一个独立的 `Agent`，并接入飞书。跟着做就行，不需要懂内部原理。\n\n\n## 你需要准备什么\n\n- 已经装好并能正常运行的 `OpenClaw`\n- 一个飞书开发者账号，并已经在飞书开放平台创建好了一个 App（没有的话先去 [open.feishu.cn/app](https://open.feishu.cn/app) 新建一个）\n- 终端基本操作能力（会复制粘贴命令就够了）\n\n\n## 第一步：创建 Agent 工作目录\n\n每个 `Agent` 都有自己的\"家\"，住在 `~/.openclaw/agents/\u003Cagentname>/` 下面。\n\n把 `agentname` 换成你想取的名字，比如 `mybot`。\n\n打开终端，依次运行：\n\n```bash\nmkdir -p ~/.openclaw/agents/mybot/workspace/skills\nmkdir -p ~/.openclaw/agents/mybot/workspace/tasks\nmkdir -p ~/.openclaw/agents/mybot/workspace/results\nmkdir -p ~/.openclaw/agents/mybot/workspace/memory\nmkdir -p ~/.openclaw/agents/mybot/agent\nmkdir -p ~/.openclaw/agents/mybot/sessions\n```\n\n然后初始化 sessions 文件：\n\n```bash\necho '{\"sessions\":[]}' > ~/.openclaw/agents/mybot/sessions/sessions.json\n```\n\n接着把 `models.json` 和 `auth-profiles.json` 从现有 Agent 复制过来（直接用主 Agent 的就行）：\n\n```bash\ncp ~/.openclaw/agents/main/agent/models.json ~/.openclaw/agents/mybot/agent/\ncp ~/.openclaw/agents/main/agent/auth-profiles.json ~/.openclaw/agents/mybot/agent/\n```\n\n目录结构建好了，接下来写配置文件。\n\n\n## 第二步：写核心配置文件\n\n这些文件决定了你的 `Agent` 是什么性格、干什么活、认识谁。挨个创建就行。\n\n### SOUL.md — Agent 的灵魂\n\n```bash\ncat > ~/.openclaw/agents/mybot/workspace/SOUL.md \u003C\u003C 'EOF'\n# SOUL.md\n\n你是 MyBot，一个简洁高效的助手。\n\n## 性格\n- 回答简短直接，不废话\n- 友好但不过分热情\n- 不确定的事情说不确定，不瞎编\n\n## 职责\n- 回答用户问题\n- 协助处理日常任务\n\n## 禁止事项\n- 不发布任何外部消息（邮件、推文等）除非明确被要求\n- 不删除重要文件\nEOF\n```\n\n### IDENTITY.md — 名字和角色\n\n```bash\ncat > ~/.openclaw/agents/mybot/workspace/IDENTITY.md \u003C\u003C 'EOF'\n# IDENTITY.md\n\n- **Name:** MyBot\n- **Role:** 飞书助手\n- **Emoji:** 🤖\nEOF\n```\n\n### AGENTS.md — 工作规范\n\n```bash\ncat > ~/.openclaw/agents/mybot/workspace/AGENTS.md \u003C\u003C 'EOF'\n# AGENTS.md\n\n## 每次会话开始\n1. 读 SOUL.md\n2. 读 USER.md\n3. 读今天的 memory/YYYY-MM-DD.md（如果存在）\n\n## 记忆\n- 日常记录写到 memory/YYYY-MM-DD.md\n- 重要信息更新到 MEMORY.md\nEOF\n```\n\n### USER.md — 用户是谁\n\n```bash\ncat > ~/.openclaw/agents/mybot/workspace/USER.md \u003C\u003C 'EOF'\n# USER.md\n\n- **Name:** 你的名字\n- **Timezone:** Asia/Shanghai\n- **Notes:** 根据实际情况填写\nEOF\n```\n\n### MEMORY.md — 长期记忆（不能省！）\n\n这个文件**一定要创建**，哪怕内容很简单。原因后面踩坑部分会说。\n\n```bash\ncat > ~/.openclaw/agents/mybot/workspace/MEMORY.md \u003C\u003C 'EOF'\n# MEMORY.md\n\n这是 MyBot 的长期记忆文件。\n\n## 基本信息\n- 我是 MyBot，运行在飞书频道的助手\n- 创建时间：2026-03-05\nEOF\n```\n\n### HEARTBEAT.md 和 TOOLS.md\n\n```bash\necho '# HEARTBEAT.md\\n\\n# 暂无心跳任务' > ~/.openclaw/agents/mybot/workspace/HEARTBEAT.md\necho '# TOOLS.md\\n\\n# 工具备注（暂无）' > ~/.openclaw/agents/mybot/workspace/TOOLS.md\n```\n\n\n## 第三步：软连接 Skills（可选）\n\n如果你希望新 `Agent` 也能用全局的 skills，跑这段脚本：\n\n```bash\ncd ~/.openclaw/agents/mybot/workspace/skills\nGLOBAL_SKILLS=~/.openclaw/workspace/skills\nfor skill in $(ls \"$GLOBAL_SKILLS\"); do\n  ln -sf \"$GLOBAL_SKILLS/$skill\" \"$skill\"\ndone\n```\n\n不需要的话这步跳过也没问题。\n\n\n## 第四步：修改 openclaw.json\n\n这是最重要的一步，**三个地方都要改，一个都不能漏**。\n\n用编辑器打开 `~/.openclaw/openclaw.json`。\n\n### 1. 在 `agents.list` 数组里加入新 Agent\n\n找到 `agents` → `list` 数组，在里面追加：\n\n```json\n{\n  \"id\": \"mybot\",\n  \"name\": \"mybot\",\n  \"workspace\": \"/Users/你的用户名/.openclaw/agents/mybot/workspace\",\n  \"agentDir\": \"/Users/你的用户名/.openclaw/agents/mybot/agent\",\n  \"model\": \"github-copilot/claude-sonnet-4.6\",\n  \"identity\": {\n    \"name\": \"MyBot\",\n    \"emoji\": \"🤖\"\n  },\n  \"account\": \"mybot\"\n}\n```\n\n> 记得把 `你的用户名` 换成你本机的实际用户名，可以用 `whoami` 命令查看。\n\n### 2. 在 `channels.feishu.accounts` 里加飞书账号\n\n找到 `channels` → `feishu` → `accounts`，加入：\n\n```json\n\"mybot\": {\n  \"appId\": \"cli_xxxxxxxx\",\n  \"appSecret\": \"xxxxxxxxxxxxxxxx\",\n  \"dmPolicy\": \"open\",\n  \"domain\": \"feishu\",\n  \"enabled\": true,\n  \"allowFrom\": [\"*\"],\n  \"groupPolicy\": \"open\"\n}\n```\n\n`appId` 和 `appSecret` 在飞书开放平台你的 App 里找，位置：**凭证与基础信息** → App ID / App Secret。\n\n### 3. 在顶层 `bindings` 数组里加路由规则\n\n⚠️ **这是最容易漏掉的一步！** 找到顶层的 `bindings` 数组（不是某个 agent 里面的），加入：\n\n```json\n{\n  \"agentId\": \"mybot\",\n  \"match\": {\n    \"channel\": \"feishu\",\n    \"accountId\": \"mybot\"\n  }\n}\n```\n\n没有这条规则，飞书消息会被路由到主 `Agent`，新 `Agent` 永远收不到消息。\n\n\n## 第五步：重启 OpenClaw Gateway\n\n配置文件改完之后，**必须重启 `Gateway` 才能生效**：\n\n```bash\nopenclaw gateway restart\nopenclaw gateway status\n```\n\n看到 `RPC probe: ok` 就说明启动成功了。\n\n> ⚠️ **顺序很重要**：必须先把 `Gateway` 跑起来，才能去飞书配置长连接。顺序反了飞书那边会报错。\n\n\n## 第六步：飞书开发者后台配置\n\n1. 进入 [飞书开放平台](https://open.feishu.cn/app)，找到你的 App\n\n2. **权限管理** 这一步不要把 `im:message` 当成一个单独权限看。\n   它在飞书后台里是一整组消息权限，不是点一个就完了。\n\n   更稳的做法是，围绕下面这几类能力去开：\n   - 机器人收消息\n   - 机器人发消息\n   - 单聊消息\n   - 群聊消息 / 被 @ 消息\n   - 用户 ID 读取\n\n   实际操作时，至少围绕这些关键词去确认：\n   - `im:message`\n   - `im:message:send_as_bot`\n   - `contact:user.id:readonly`\n\n   然后把 `im:message` 下面那组和收消息相关的权限一起开好。\n   别只开一个最短的名字就停。\n\n3. **事件与回调** → 消息与事件订阅 → 选择**长连接**模式 → 点击开启\n   - ⚠️ **此时 `Gateway` 必须已经在跑**，否则页面会提示\"未检测到应用连接信息\"，开启会失败\n\n4. 订阅事件，搜索并添加：`im.message.receive_v1`\n\n5. 保存配置，发布应用（版本管理 → 创建版本 → 发布）\n\n\n## 第七步：验证\n\n在飞书里找到你的机器人，发一条消息，看它有没有正常回复。\n\n如果没有反应，先检查：\n\n- `openclaw gateway status` 是否正常\n- `openclaw.json` 里 `bindings` 有没有加\n- `appId` / `appSecret` 填对了没有\n\n\n## 踩坑清单\n\n做完之后最好过一遍这个清单，这几个坑我都踩过。\n\n### ⚠️ 坑一：漏加 bindings\n\n**最高频的坑。**\n\n很多人在 `agents.list` 里加了新 `Agent`，以为就完事了。但消息路由靠的是顶层 `bindings` 数组，不加这条，飞书消息会一直跑到主 `Agent` 那里去，新 `Agent` 根本不会被调用。\n\n**解决：** 确认 `openclaw.json` 顶层有 `bindings` 数组，且里面有对应的路由规则。\n\n### ⚠️ 坑二：飞书长连接顺序搞反了\n\n去飞书开启长连接的时候，必须 `OpenClaw Gateway` 已经在运行。顺序反了，飞书检测不到连接，会提示错误。\n\n**解决：** 先 `openclaw gateway restart`，确认 `ok` 之后，再去飞书点开启。\n\n### ⚠️ 坑三：没有 MEMORY.md 导致身份错乱\n\n如果 `Agent` 的 workspace 里没有 `MEMORY.md`，`OpenClaw` 会 fallback 去读全局 workspace 的 `MEMORY.md`，也就是主 `Agent` 的记忆文件。\n\n结果新机器人一开口就报出主 `Agent` 的名字和身份，非常奇怪。\n\n**解决：** 每个 `Agent` 的 workspace 里都要有独立的 `MEMORY.md`，哪怕内容只有两行。\n\n### ⚠️ 坑四：改完配置忘了重启\n\n`openclaw.json` 改完直接去测试，发现没效果。原因是 `Gateway` 还在跑旧配置。\n\n**解决：** 改完 `openclaw.json` 必须 `openclaw gateway restart`。如果只改了 `SOUL.md` / `AGENTS.md` 等 workspace 文件，则需要在对话里执行 `/new` 重置会话。\n\n### ⚠️ 坑五：以为 account 字段就是路由\n\n`Agent` 配置里有个 `\"account\": \"mybot\"` 字段，这只是标记这个 `Agent` 关联哪个账号，**不是路由机制**。\n\n真正的路由靠顶层 `bindings`，两个地方都要配，缺一不可。\n\n\n做完这七步，你的飞书机器人应该就能正常跑起来了。\n\n如果还有问题，优先检查 `bindings` 和 `Gateway` 状态，90% 的问题都出在这两个地方。\n",{"title":5,"description":1525},"post/zzao/openclaw-new-agent-feishu",[24,1535,28,1536],"飞书","教程","oFDaqRq_c1H9oUmJXlYz7Y7uyZjaM2DnTwAkId2TLsk",[1539,1543],{"title":1540,"path":1541,"stem":1542,"children":-1},"OpenClaw 安装入门（Windows）","/post/zzao/openclaw/openclaw-install-windows","post/zzao/openclaw/openclaw-install-windows",{"title":1544,"path":1545,"stem":1546,"children":-1},"假设你是AI，你的Skill应该是什么样的","/post/zzao/ai-skill-structure","post/zzao/ai-skill-structure",1779005084793]