沟通平台:飞书怎么接入、孩子账号怎么隔离、家长怎么做管理员视角
前两篇,我把这套全科辅导系统最底下的两层先拆开了。
第一篇讲的是地基:怎么搭工作区,怎么用 SOUL.md、USER.md、目录结构,把“辅导员是谁、孩子是谁、数据往哪放”先定义清楚。
第二篇讲的是系统真正开始运转的部分:怎么把三个核心 Skill 跑起来——接作业、复习调度、错题追踪。也就是:作业进来以后怎么拆,错题怎么沉淀,复习怎么形成节奏。
写到这里,很多人自然会进入下一个问题:
这些东西在本地都能跑了,那孩子平时到底怎么用?家长又怎么参与进去,而且还不互相打扰?
这个问题非常关键。因为真正影响一套系统能不能长期用下去的,往往不是 Skill 写得漂不漂亮,而是:
入口顺不顺手
孩子会不会用。家长愿不愿意看。每天发作业、收反馈、看结果,是不是足够自然。如果每次都要打开终端、切窗口、找文件、复制粘贴,那哪怕系统再强,最后大概率也会烂尾。
所以到这一步,重点已经不再是“系统会不会做事”,而是:
这套系统怎么进入日常生活
我后来选的方案是 飞书。
不是因为它最酷,也不是因为它最“AI”,而是因为它在这个场景里有几个特别现实的优点:
iPad 上能直接用,孩子操作门槛低 消息、文档、表格是同一套环境 数据沉淀天然方便 最重要的是:账号隔离和视角隔离很容易做
这点真的非常重要。
因为孩子的使用体验,和家长的管理体验,本来就不应该是一个界面。孩子只需要看到:
今天要做什么 做完了有什么反馈 下一步是什么
而家长需要看到的是:
今天整体做了什么 哪些地方卡住了 错题有没有进入复习池 最近哪一科波动大 规则是不是要调整
这两种视角混在一起,系统就会很难用。
所以这一篇,我就专门讲三件事:
飞书为什么适合做这个入口 孩子账号怎么隔离 家长怎么做管理员视角
如果说前两篇是在搭“系统本体”,那这一篇,就是把它真正接到孩子和家长每天会碰到的沟通场景里。
飞书接入 OpenClaw:路线选择与基础接入
你要先理解一件事:飞书接入有两种“插件路线”
路线 A:OpenClaw 内置飞书 Channel(@openclaw/feishu)
主要把飞书当“聊天入口”,安装简单。
路线 B:飞书官方插件(LarkSuite 官方维护)
更偏“以你本人身份操作飞书文档/日历/任务”等高级能力,但安装/授权更重。
你这个“全科辅导系统”场景,大多数人用路线 A 就够了(稳定、步骤少)。下面我先写 路线 A(推荐),最后补一段“如果你要高级操作再选路线 B”。
Part 1:飞书接入 OpenClaw
(路线 A:内置飞书 Channel,推荐)
Step 1:在飞书开放平台创建“企业自建应用(机器人)”
打开 飞书开放平台 → 创建 企业自建应用
进入应用后,找到:
应用能力 → 机器人 → 开启机器人能力
去 凭证与基础信息 页面,记下两样东西:
- App ID
(形如 cli_xxx) - App Secret
(非常重要,不要发给任何人)
这是飞书机器人接入的基础步骤。
Step 2:配置权限(先按最小可用)
在 权限管理 里至少保证机器人具备 IM 消息相关权限(读取/发送)。不同企业后台的权限项显示略有差异,但目标是让机器人能够:接收消息事件 + 发送消息。
**小白建议:**先按文档/向导默认推荐的权限跑通“收发消息”,后面再加文档/表格权限。
Step 3:事件订阅选“WebSocket 长连接”
(关键点:不需要公网 webhook)
在 事件与回调 / 事件订阅 中,把接收方式选成:使用 WebSocket(长连接),并订阅消息接收事件(例如 im.message.receive_v1)。
这样 OpenClaw 网关通过 WebSocket 直接收事件,不需要你买域名/配 https webhook。
Step 4:发布应用并把机器人添加到飞书
去 版本管理与发布:
创建版本 → 提交/发布
在飞书里把机器人添加到:
家长的群(管理群) 孩子的私聊(或孩子所在群)
Step 5:在 OpenClaw 里添加飞书 Channel
(macOS / Windows)
官方文档给了两条路:新手向导 openclaw onboard 或 CLI openclaw channels add。小白我建议用 channels add,更直观。
macOS 操作
打开「终端」
先确认 gateway 能跑:
openclaw gateway status
添加飞书渠道(按提示选择 Feishu,并输入 App ID / App Secret):
openclaw channels add
重启网关生效:
openclaw gateway restart
追日志看是否连上:
openclaw logs --follow
Windows 操作
打开 PowerShell
同样执行:
openclawgatewaystatusopenclawchannelsaddopenclawgatewayrestartopenclawlogs--follow
飞书频道文档明确提到:配置好后用 gateway status / logs --follow 排查。
Step 6:飞书里验证“能收能回”
在飞书里私聊机器人:发一句 在吗 或 请把这句话总结成一句话
或在群里 @机器人 发送:请输出今天的学习计划模板
如果不回复:先去文末【排错清单】看“能连但不回”。
Part 2:孩子账号怎么隔离
(两种方案:轻隔离 / 强隔离)
你要的“隔离”,本质是:**不同人说话不要串记忆、不要串文件、不要串输出。**OpenClaw 的官方思路是用 多 Agent 路由(bindings) 来做隔离:每个 Agent 有独立 workspace、独立状态目录、独立会话。
方案 1(轻隔离,最省事):一个 Agent + 私聊自动分桶
适合:只有 1 个孩子、家长偶尔问问,不需要严格权限边界。
做法:
所有人都跟同一个机器人聊 主要在“私聊”使用(群里尽量只让家长发指令) 让机器人每次输出都落盘到同一个工作区,但文件命名里带上“孩子标识/日期”
优点:
快,几乎不用配置。
缺点:
隔离不绝对(多人/多孩子容易串)。
方案 2(强隔离,推荐):两个 Agent(孩子 Agent / 家长管理员 Agent)+ 路由绑定
适合:你这个“全科辅导系统”长期用,而且要让家长/孩子看到的内容不同。
做法是最标准的:
- Agent A:child-coach
(孩子视角:只发闯关任务、鼓励、一步一步) - Agent B:parent-admin
(家长视角:看汇总、看趋势、看错题回流、看计划执行)
每个 Agent 用不同工作区:
~/openclaw-workspaces/study-child~/openclaw-workspaces/study-parent-admin
然后用 bindings 把飞书来源路由过去(“谁发的消息 → 去哪个 Agent”)。多 Agent 路由是官方推荐的隔离方式。
macOS:创建第二个工作区(家长管理员)
mkdir-p
~/openclaw-workspaces/study-parent-admin/{data/reports/{daily,weekly},data/mistakes/review_queue,logs,skills}touch
~/openclaw-workspaces/study-parent-admin/SOUL.md
~/openclaw-workspaces/study-parent-admin/USER.md
~/openclaw-workspaces/study-parent-admin/AGENTS.md ~/openclaw-workspaces/study-parent-admin/TOOLS.md
Windows:创建第二个工作区(家长管理员)
$base="$HOME\openclaw-workspaces\study-parent-admin"New-Item-ItemTypeDirectory-Force-Path `"$base\data\reports\daily","$base\data\reports\weekly","$base\data\mistakes\review_queue","$base\logs","$base\skills"|Out-NullNew-Item-ItemTypeFile-Force-Path `"$base\SOUL.md","$base\USER.md","$base\AGENTS.md","$base\TOOLS.md"|Out-Null
然后在 OpenClaw Control 里新建第二个 Agent,并把 workspace 指向这个目录(你第 1 篇已经做过一次,这里同样操作即可)。
路由绑定怎么做
(新手能懂的方式)
你不需要一上来就手写复杂配置。最容易落地的方式是:
孩子只在“私聊机器人”里发消息 → 默认路由到 child-coach家长只在“家长管理群 @机器人”里发命令 → 路由到 parent-admin群里只允许家长发管理指令(比如“生成周计划、导出日报、查看错题队列”)
如果你已经会配置 bindings,再进阶到“按发送者 user_id 路由”即可(属于进阶篇,这里不展开写代码,避免新手劝退)。多 Agent 路由机制本身在官方文档里有完整概念说明。
Part 3:家长怎么做“管理员视角”
(建议做成 3 个固定指令)
管理员视角的关键不是“多说”,而是固定三类输出,家长一眼能看懂:
管理员指令 1:每日学习记录(日报)
家长在飞书群里发:
“生成今日学习记录(日报):完成了什么/卡点/明天计划,并保存到 data/reports/daily/”
输出应包含:
今日完成清单(是否完成) 1 个最卡点 明天 1 个重点 (可选)家长一句话建议(不指责)
落盘路径:
data/reports/daily/YYYY-MM-DD_daily.md
管理员指令 2:每周复盘(周报)
家长发:
“生成本周复盘(周报):薄弱点趋势、错题回流完成度、下周建议,并保存到 data/reports/weekly/”
落盘路径:
data/reports/weekly/YYYY-Wxx_weekly.md
管理员指令 3:错题队列与回流计划
家长发:
“输出当前错题复习队列(含回流日期),并给出接下来 3 天的复习安排”
读取路径:
data/mistakes/review_queue/
这样家长不用懂系统结构,也能像“看仪表盘”一样看孩子学习。
飞书接入常见问题与解决办法
(按现象对号入座)
1)机器人收不到消息 / 不回复
优先排这三件事:
事件订阅是不是 WebSocket 长连接(不是 webhook) OpenClaw gateway 是否在运行(很多人配完就关了) openclaw logs --follow里有没有飞书连接/鉴权报错
解决顺序:
先 openclaw gateway restart再看 openclaw logs --follow再回飞书开放平台检查事件订阅方式与权限
2)提示 App ID / Secret 不对
确认复制的是应用“凭证与基础信息”里的 App ID / App Secret Secret 不要有空格/换行 改完后重启 gateway
3)群里 @了机器人,但它不理你
有些配置需要确保机器人已加入群,并且该群允许机器人发言 确认你 @ 的是正确机器人(企业里可能有多个机器人)
4)隔离失败:孩子问的内容跑到家长视角里
先用“运营策略”解决:孩子只走私聊;家长只走管理群 真要彻底隔离:上 双 Agent + 路由绑定(方案 2)
到这里,你再进入下一步:账号隔离。
三、孩子账号隔离,别只做“聊天隔离”
要做的是四层隔离
这里是这一篇最关键的部分。
很多人一开始会觉得:
“给孩子一个单独聊天框不就行了?”
不够。
真正有效的隔离,不只是分聊天窗口,而是要做到:
不串记忆 不串文件 不串任务结果 不串输出视角
所以最稳的做法,是做 四层隔离:
1. App 隔离
一个孩子一个飞书机器人 App。
2. Channel 隔离
一个飞书 App 对应一个 OpenClaw Channel。
3. Agent 隔离
一个孩子一个 Agent,独立会话、独立状态目录。
4. workspace 隔离
一个孩子一个工作区,作业、错题、日报全部分开放。
最稳的公式就一句话:
一个孩子 = 一个飞书机器人 App = 一个 OpenClaw Channel = 一个 Agent = 一个独立 workspace
这就是最不容易串台的强隔离方案。
如果你只有一个孩子,前期可以稍微简化。但如果你准备长期跑,或者未来可能不止一个孩子,我非常建议你一开始就按这个思路搭。
四、为什么我不推荐“所有人共用一个机器人”?
因为这种方案只在非常轻量的场景下勉强成立:
只有一个孩子 家长只是偶尔问问 不怎么做数据沉淀 不怎么做管理员视角
一旦你认真跑起来,共用一个机器人的问题会非常明显:
多个孩子容易串文件 家长和孩子的输出视角会混 错题、日报、复习计划容易写到一起 后面做趋势统计时,数据会越来越脏
所以如果你是认真想把它做成一套长期可用的系统,共用一个机器人,通常不是好主意。
五、命名规则一定要统一
这是最土,但最有效的防串台方法
我后来总结下来,最稳的命名方式其实很简单:
给每个孩子一个固定代号
比如:
kid1kid2kid3
然后所有东西都跟着这个代号走:
工作区: kid1-coachAgent: kid1-coach-agent飞书应用: 学习辅导-kid1飞书机器人: kid1辅导员
别嫌这个土。它最大的价值不是好看,而是:
能少掉大部分串台和管理错误
系统一多,最怕的不是功能不够,而是你自己都分不清谁是谁。
六、真正不串台的做法:
目标
多个孩子 / 多个账号同时用,完全不串台
原理
一个孩子 = 一个飞书机器人(App) = 一个 OpenClaw Channel = 一个 Agent(独立工作区)
你要准备什么
一台运行 OpenClaw 的电脑(macOS 或 Windows 都行) 一个飞书企业 / 组织(能进飞书开放平台创建“企业自建应用”) 每个孩子都有一个“对话入口”(私聊机器人或孩子群)
总体结构(先看懂你在搭什么)
假设有 3 个孩子(你可以是 2 个、5 个……都一样):
kid1:飞书 App1(机器人1)→ OpenClaw Channel1 → Agent1(kid1 专属 workspace) kid2:飞书 App2(机器人2)→ OpenClaw Channel2 → Agent2(kid2 专属 workspace) kid3:飞书 App3(机器人3)→ OpenClaw Channel3 → Agent3(kid3 专属 workspace)
另外再加一个:
家长管理员:飞书 AppAdmin(管理员机器人)→ ChannelAdmin → AgentAdmin(汇总视角 workspace)
Part 0:命名规则(强烈建议照做,能少 80% 的串台)
给每个孩子一个代号(不要用真名也行):
kid1 kid2 kid3
你后面所有东西都按这个代号命名:
工作区:kid1-coach Agent:kid1-coach-agent 飞书应用:学习辅导-kid1 飞书机器人名称:kid1辅导员
这样你永远不会搞混。
Part 1:在电脑上给每个孩子创建独立工作区(文件隔离)
Step 1.1:创建 3 个孩子的工作区(macOS / Windows)
macOS(终端)
1)打开「终端」2)复制粘贴执行(一次建好 3 个孩子的目录和四个规则文件):
# 你有几个孩子就把 kidX-coach 加几个for k in kid1-coach kid2-coach kid3-coach; domkdir-p ~/openclaw-workspaces/$k/{memory,logs,skills,assets/{attachments,screenshots},data/{homework/{inbox,parsed,done},mistakes/{inbox,subjects,review_queue},plans/{weekly,daily},reports/{daily,weekly},rubrics}}touch ~/openclaw-workspaces/$k/{SOUL.md,USER.md,AGENTS.md,TOOLS.md}done
Windows(PowerShell)
1)开始菜单搜索 PowerShell → 打开2)复制粘贴执行:
$base="$HOME\openclaw-workspaces"$kids=@("kid1-coach","kid2-coach","kid3-coach")foreach($kin$kids){New-Item-ItemTypeDirectory-Force-Path `"$base\$k\memory","$base\$k\logs","$base\$k\skills","$base\$k\assets\attachments","$base\$k\assets\screenshots","$base\$k\data\homework\inbox","$base\$k\data\homework\parsed","$base\$k\data\homework\done","$base\$k\data\mistakes\inbox","$base\$k\data\mistakes\subjects","$base\$k\data\mistakes\review_queue","$base\$k\data\plans\weekly","$base\$k\data\plans\daily","$base\$k\data\reports\daily","$base\$k\data\reports\weekly","$base\$k\data\rubrics"|Out-NullNew-Item-ItemTypeFile-Force-Path `"$base\$k\SOUL.md","$base\$k\USER.md","$base\$k\AGENTS.md","$base\$k\TOOLS.md"|Out-Null}
Step 1.2:把“规则文件”复制进去(每个孩子都要有)
你之前写过 SOUL.md / USER.md / AGENTS.md / TOOLS.md 的模板。现在做法是:
kid1-coach 里:写 kid1 的年级、特点、可用时间等 kid2-coach 里:写 kid2 的信息 kid3-coach 里:写 kid3 的信息
新手简化:先把同一份模板复制 3 份,后面再慢慢改细节也行。
macOS(复制模板到每个孩子)
假设你原模板在 ~/openclaw-workspaces/study-coach/:
for k in kid1-coach kid2-coach kid3-coach; docp ~/openclaw-workspaces/study-coach/SOUL.md ~/openclaw-workspaces/$k/SOUL.mdcp ~/openclaw-workspaces/study-coach/USER.md ~/openclaw-workspaces/$k/USER.mdcp ~/openclaw-workspaces/study-coach/AGENTS.md ~/openclaw-workspaces/$k/AGENTS.mdcp ~/openclaw-workspaces/study-coach/TOOLS.md ~/openclaw-workspaces/$k/TOOLS.mddone
Windows(复制模板到每个孩子)
$src="$HOME\openclaw-workspaces\study-coach"$kids=@("kid1-coach","kid2-coach","kid3-coach")foreach($kin$kids){Copy-Item"$src\SOUL.md""$HOME\openclaw-workspaces\$k\SOUL.md"-ForceCopy-Item"$src\USER.md""$HOME\openclaw-workspaces\$k\USER.md"-ForceCopy-Item"$src\AGENTS.md""$HOME\openclaw-workspaces\$k\AGENTS.md"-ForceCopy-Item"$src\TOOLS.md""$HOME\openclaw-workspaces\$k\TOOLS.md"-Force}
Part 2:把 3 个 Skill 分发到每个孩子工作区(能力隔离)
你已经做好的 3 个 Skill:
homework-intake review-scheduler mistake-tracker
Step 2.1:复制 skills 到每个孩子的工作区
macOS
for k in kid1-coach kid2-coach kid3-coach; domkdir-p ~/openclaw-workspaces/$k/skillscp-R ~/openclaw-workspaces/study-coach/skills/* ~/openclaw-workspaces/$k/skills/done
Windows
$src="$HOME\openclaw-workspaces\study-coach\skills\*"$kids=@("kid1-coach","kid2-coach","kid3-coach")foreach($kin$kids){New-Item-ItemTypeDirectory-Force-Path"$HOME\openclaw-workspaces\$k\skills"|Out-NullCopy-Item$src"$HOME\openclaw-workspaces\$k\skills"-Recurse-Force}
✅ 检查点(新手一定要看一眼):任意一个孩子目录里应该存在:kid1-coach/skills/homework-intake/SKILL.md(另外两个 skill 同理)
Part 3:在 OpenClaw Control 里创建“每个孩子一个 Agent”(记忆隔离)
Step 3.1:创建 3 个 Agent(在网页里操作)
你在 OpenClaw Control(管理网页)里依次创建:
kid1-coach-agent → workspace 指向 .../kid1-coach kid2-coach-agent → workspace 指向 .../kid2-coach kid3-coach-agent → workspace 指向 .../kid3-coach
工作区路径示例:
macOS: /Users/你的用户名/openclaw-workspaces/kid1-coachWindows: C:\Users\你的用户名\openclaw-workspaces\kid1-coach
Step 3.2:验证 3 个 Agent 真的不串(必须做)
分别进入三个 Agent 的聊天窗口,分别发送:
“请在 data/reports/daily/ 下创建 test.md,写入:我是 kid1(或 kid2/kid3)。”
然后去各自目录确认:
macOS 检查
cat ~/openclaw-workspaces/kid1-coach/data/reports/daily/test.mdcat ~/openclaw-workspaces/kid2-coach/data/reports/daily/test.mdcat ~/openclaw-workspaces/kid3-coach/data/reports/daily/test.md
Windows 检查
type$HOME\openclaw-workspaces\kid1-coach\data\reports\daily\test.mdtype$HOME\openclaw-workspaces\kid2-coach\data\reports\daily\test.mdtype$HOME\openclaw-workspaces\kid3-coach\data\reports\daily\test.md
✅ 看到各自写各自的内容,说明“文件隔离 + agent隔离”已经成功。
Part 4:飞书侧——为每个孩子创建一个独立机器人 App(入口隔离)
这一步是方案 A 的核心:每个孩子一个 App,天然不会串台。
对每个孩子重复一次(kid1 / kid2 / kid3 都要做一遍):
Step 4.1:创建企业自建应用
飞书开放平台 → 创建应用 → 选择“企业自建应用”
建议命名:
学习辅导-kid1 学习辅导-kid2 学习辅导-kid3
Step 4.2:启用机器人能力
应用内 → 应用能力 → 机器人 → 开启
Step 4.3:配置权限(先最小权限)
在权限管理里,确保机器人具备:
接收消息事件 发送消息
新手建议:先只开 IM 消息相关,跑通后再加文档 / 表格权限。
Step 4.4:事件订阅选择 WebSocket(推荐)
事件与回调 / 事件订阅:
选择 WebSocket(长连接) 订阅消息接收事件(消息事件)
Step 4.5:发布应用
版本管理与发布 → 创建版本 → 发布(不发布很多情况下机器人无法正常工作)
Step 4.6:把机器人加入“该孩子”的对话入口
kid1 的机器人只加到 kid1 的私聊或 kid1 群 kid2 的机器人只加到 kid2 的私聊或 kid2 群 kid3 同理
⚠️ 不要把 kid1 机器人加到 kid2 群,否则你自己也会混。
Part 5:OpenClaw 侧——为每个孩子添加一个 Feishu Channel(通道隔离)
现在你有 3 个飞书 App,每个 App 都有:
App ID App Secret
你要在 OpenClaw 里把这 3 组凭证分别加进去(3 次 channel add)。
Step 5.1:确保 gateway 在跑(mac / win 一样)
openclaw gateway status
Step 5.2:添加第 1 个孩子(kid1)的飞书渠道
执行:
openclaw channels add
按提示选择 Feishu,然后填 kid1 的 App ID / App Secret。
Step 5.3:添加第 2、3 个孩子(重复)
再执行两次:
openclaw channels addopenclaw channels add
分别填 kid2、kid3 的 App ID / Secret。
Step 5.4:重启 gateway 并看日志
openclaw gateway restartopenclaw logs --follow
✅ 检查点:日志里不应持续报鉴权错误 / 连接失败。如果有,先看文末排错。
Part 6:把“每个飞书机器人”绑定到“对应孩子 Agent”(关键:不串台)
不同版本 OpenClaw 的 UI / 配置入口会不同,但方案 A 有一个新手最稳绑定法:
一个飞书机器人 App 只对应一个 Channel,并在控制台里把该 Channel 的默认 Agent 指向对应的 kidX Agent。
你可以这样做(两种方式任选其一):
方式 6A(推荐):在 OpenClaw Control 里设置“Channel → Default Agent”
1)打开 OpenClaw Control2)进入 Channels(频道)3)找到 kid1 的 feishu channel4)设置 Default Agent = kid1-coach-agent5)kid2 / kid3 同理
方式 6B(如果 UI 找不到绑定项):用“物理隔离”确保不串
kid1 的机器人只加入 kid1 的群 / 私聊 kid2 的机器人只加入 kid2 的群 / 私聊 你在 OpenClaw 里分别用不同会话窗口测试回复
这种方式也能做到“用户侧不串”,但管理上不如 6A 优雅。
Part 7:家长管理员视角(一个管理员机器人 + 一个管理员 Agent)
Step 7.1:创建家长管理员工作区(macOS / Windows)
macOS
mkdir-p ~/openclaw-workspaces/parent-admin/{memory,logs,skills,data/{reports/{daily,weekly},mistakes/review_queue,plans/{weekly,daily}}}touch ~/openclaw-workspaces/parent-admin/{SOUL.md,USER.md,AGENTS.md,TOOLS.md}
Windows
$base="$HOME\openclaw-workspaces\parent-admin"New-Item-ItemTypeDirectory-Force-Path `"$base\memory","$base\logs","$base\skills","$base\data\reports\daily","$base\data\reports\weekly","$base\data\mistakes\review_queue","$base\data\plans\weekly","$base\data\plans\daily"|Out-NullNew-Item-ItemTypeFile-Force-Path `"$base\SOUL.md","$base\USER.md","$base\AGENTS.md","$base\TOOLS.md"|Out-Null
Step 7.2:创建 parent-admin-agent
在 OpenClaw Control 新建 parent-admin-agent,workspace 指向 parent-admin。
Step 7.3:创建“管理员飞书 App”(跟孩子一样流程)
再在飞书开放平台创建一个应用:
学习辅导-admin
按 Part 4 完成机器人、权限、WebSocket、发布、加入“家长管理群”。
Step 7.4:在 OpenClaw 添加 admin channel 并绑定到 admin agent
openclaw channels addopenclaw gateway restart
然后在 Control 里把这个 admin channel 默认 agent 设为 parent-admin-agent。
家长管理群固定 3 条指令(让家长像看仪表盘)
家长在群里 @ 管理员机器人输入:
1)日报
生成今日日报:各孩子完成了什么 / 卡点 / 明天1个重点;保存到 data/reports/daily/
2)周报
生成本周周报:各孩子薄弱点趋势、错题回流完成度、下周建议;保存到 data/reports/weekly/
3)错题趋势
统计最近7天各孩子新增错题数、主要错因分布(审题 / 计算 / 概念 / 习惯),并给出3条改进建议
建议:admin agent 只做汇总,不直接辅导做题,体验会清晰很多。
方案 A 排错清单(新手最常见问题 → 直接解决)
1)某个孩子机器人不回复
按顺序检查:
飞书应用是否“已发布版本”(没发布常见:无响应) 事件订阅是否 WebSocket OpenClaw gateway 是否在运行 openclaw logs --follow是否报 AppID / Secret 鉴权失败(填错最常见)
2)三个机器人只有一个能用
通常是:
你只在 OpenClaw 里 add 了一个 channel(或后两个 add 时没保存) 或者后两个 App 的权限 / 发布没做完
解决:
逐个在飞书里私聊机器人发“在吗” 哪个不回,就去 logs 看它对应的 channel 是否在线
3)串台(kid1 回到了 kid2 的内容)
串台在方案 A 里几乎只会因为:
机器人被加错群(kid1 机器人跑去 kid2 群) channel 默认 agent 绑定错
解决:
按代号检查机器人所在群 在 Control 里重新设置 Channel → Default Agent
4)Windows 目录里文件变成 .txt 导致规则不生效
解决:
打开“显示文件扩展名” 确认是 SOUL.md 不是 SOUL.md.txt
八、家长管理员视角,最好的做法不是“看得更多”
而是“固定看 3 类东西”
这一部分也是整篇里特别关键的一块。
很多家长一听“管理员视角”,会下意识觉得:
可以实时看所有对话 可以随时插手 可以逐题监控 可以不断给指令
但这样做,系统最后很容易变成一个更高级的“监工后台”。
这其实违背了你搭这套系统的初衷。
所以我现在更推荐的做法是:
家长管理员视角固定成 3 类指令
指令 1:日报
家长在管理群里固定发:
生成今日日报:各孩子完成了什么 / 卡点 / 明天 1 个重点;保存到
data/reports/daily/
理想输出应该包括:
今日完成清单 一个最卡点 明天一个重点 一句不指责的家长建议
指令 2:周报
家长固定发:
生成本周周报:各孩子薄弱点趋势、错题回流完成度、下周建议;保存到
data/reports/weekly/
这一条特别适合每周固定看一次。家长看完之后,心里会很清楚:
哪一科最近在波动 哪类错题一直没收住 下周重点应该放哪
指令 3:错题趋势
家长固定发:
统计最近 7 天各孩子新增错题数、主要错因分布(审题 / 计算 / 概念 / 习惯),并给出 3 条改进建议
这条指令的价值很大。因为它会让家长从“感觉孩子最近老错”变成“我知道孩子最近到底在错什么”。
九、管理员 Agent 应该只做汇总
不要直接下场辅导做题
这是我后来特别坚持的一条设计原则。
最清晰的分工应该是:
孩子 Agent
负责:
接作业 出当天任务 给一步一步反馈 跟踪错题回流
家长管理员 Agent
负责:
看日报 看周报 看错题趋势 看规则是否需要调整
家长管理员 Agent 最好不要直接下场辅导做题。一旦它又开始讲题、出题、追着孩子跑,孩子视角和家长视角就会重新混在一起。
十、实际使用链路,跑起来应该是什么样?
如果你把前面这些都搭好,那这套系统真正进入日常之后,链路大概是这样的:
孩子端
1. 发作业
可以发:
文字 拍照 老师消息截图 课本作业页
2. OpenClaw 接住后
走“接作业”Skill:
拆任务 排顺序 给出孩子版清单
3. 做题过程中如果出错
系统会:
触发错题追踪 写入错题目录 放进复习池
4. 每天结束后
自动生成:
学习记录 简短反馈 明日建议
家长端
1. 不需要全过程盯着
家长不必每做一题都介入。
2. 固定看管理群里的汇总
比如:
日报 周报 错题趋势
3. 看到异常再介入
比如:
某类题连续 3 天都错 某一科明显掉状态 某周作业执行率很低
这时候再调整规则、改节奏。
这会让家长从“盯作业的人”,慢慢变成“看系统节奏的人”。
十一、飞书接入里最常见的坑
这一部分建议你保留着,后面排错会很有用。
1)机器人不回复
优先检查:
飞书应用有没有发布版本 事件订阅是不是 WebSocket OpenClaw gateway 是否在运行 openclaw logs --follow里有没有鉴权报错
2)只有一个孩子的机器人能用
常见原因是:
只 add 了一个 channel 后两个 App 权限没开全 后两个 App 没发布
最笨但有效的排查方式就是:
逐个私聊机器人发“在吗” 哪个不回,就查哪个 channel 的日志
3)串台
最常见的来源就两类:
机器人被加错群 Channel 默认 Agent 绑定错了
4)Windows 下 .md 其实是 .txt
这个坑特别隐蔽。
你以为自己写的是:
SOUL.mdUSER.md
实际上可能是:
SOUL.md.txtUSER.md.txt
所以 Windows 用户一定要打开“显示文件扩展名”,确认文件后缀真的是 .md。
十二、这一篇最重要的结论
如果你只记住一句话,我希望是这个:
飞书在这套全科辅导系统里,最重要的不是“能聊天”,而是“能把不同角色放进不同入口”
孩子只看到任务。家长只看到汇总。孩子的机器人只进孩子的入口。家长的管理员机器人只进家长管理群。每个孩子有自己独立的 App、Channel、Agent、workspace。
这样做的结果不是系统更复杂了,而是:
它终于能长期跑,而且不容易乱
结尾总结
前两篇解决的是:
这套系统能不能搭起来,能不能跑起来
这一篇解决的是:
这套系统能不能真的进入孩子和家长的日常生活
如果你前两篇已经把工作区和三个核心 Skill 跑通了,那这一篇最推荐你优先做的,就是:
先把飞书接上 先跑通最基本的收发消息 再把孩子视角和家长视角分开 最后再去做更完整的后台管理和数据看板
一步一步来,不要一开始就想把一切都自动化。
真正好用的学习系统,从来不是“功能最多”的那个,而是放进日常以后:
孩子愿意打开 家长看得明白 数据自然沉淀 双方都不觉得累
这才是最难、也最值钱的部分。
下一篇预告(第 4 篇)
下一篇,我会继续讲这套系统最后一个特别关键的部分:
数据沉淀:每天自动写学习记录、错题怎么归类、薄弱项趋势怎么看
也就是:
每天的学习记录到底怎么自动生成 错题分类怎么做才有价值 家长怎么从“感觉孩子最近不稳”,变成“看得见地知道哪里不稳”
到那一步,这套系统就真正从“能用”走向“越来越懂你的孩子”。
夜雨聆风