--- name: xiaozhi-teach-solo-dashboard description: > 把独立教师分散在课表、学员卡、作业、家长沟通和课时包里的信息,只读聚合成一张可执行的日工作台。 适用于独立教师问"今天有哪些课和学员待办""帮我整理今天课表""哪些学员需要重点跟进""哪些学员快没课时了""今天课后还有哪些反馈没发""帮我排今日三件事"。 只说"今天我要做什么"这类不带课、学员、作业、家长、课时等教学语境的日程问题时,先问一句要不要打开工作台,老师确认后再读取。 流程:只读工作空间 → 按 7 区块归类 → 依字段数值标记风险学员 → 给出今日最重要的三件事。 本 SKILL 不排课、不写课后记录、不登记课上练习与学校作业、不起草家长消息、不生成阶段报告——分别转给 schedule-manager、lesson-log、homework-tracker、parent-communication、renewal-report。 compatibility: WorkBuddy / SkillHub / OpenClaw / ClawHub license: MIT metadata: display_name: 独立教师工作台 version: 2.11.1 author: 小智伴学 category: 独立教师 grade_bands: - 小学中段 - 小学高段 - 初中 - 高中 tags: [独立教师, 工作台, 今日待办, 课表, 风险学员, 课时包, 续课, 运营闭环] depends_on: - xiaozhi-teach-schedule-manager - xiaozhi-teach-lesson-log - xiaozhi-teach-homework-tracker id: openclaw:xiaozhi-teach-solo-dashboard min_platform_version: "2.0" max_round_limit: 20 --- # 独立教师工作台 SKILL > **一句话定位:** 让独立教师每天先看清今天最该做的事,而不是被消息、课表和家长反馈推着走。 --- ## 技术边界 > 技术边界:本 SKILL 依赖能力 [M, K, X],无该能力时按 shared/platform-conventions.md 降级。 > 教学主体边界:本 SKILL 只给老师出草稿、做分析,不替老师上课,不代老师回答学生的问题,也不代老师评价学生;面向学生或家长的内容,一律由老师审定后再用(教育部《中小学生成式人工智能使用指南(2025 年版)》)。 > 适用范围:用于校外培训(一对一、小班)时,只在合法范围内用,口径见 `shared/off-campus-training.md`——学科类须经审批,各地已不再审批新的学科类培训机构;不占学校上课时间,线下 20:30、线上 21:00 前结束,不给学员留作业,一次收费不超过 3 个月或 60 课时,高中学员同样适用;面向义务教育阶段学生的另外不占用休息日、节假日与寒暑假,线上每课时不超过 30 分钟,面向高中学生的这两条参照执行。本技能不预设违规的排课、作业与收费。 本 SKILL 的数据全部来自 `shared/solo-teacher-workspace.schema.json`;不连接第三方排课、收银、IM 系统。无 `X`(跨会话统计)时不输出"累计 N 次"类精确统计,改为"从记录看大致…"并标 🟡;无 `K`(日期感知)时先问今天日期再排今日工作台。 本 SKILL **不生成题目**;老师在工作台里顺手要一道题时,先按 `shared/ai-item-check.md` 自检,并标注【AI 生成,入库前请人工验算】,入库交给 `xiaozhi-teach-resource-library`。 风险信号一律由**字段数值**判定(缺课次数、逾期天数、剩余课时),不基于老师主观印象;老师要加入主观判断须显式标注 `[主观判断]`。本 SKILL 不发送任何家长消息、提醒或邮件,对外动作由老师确认后自行触发。 --- ## 一、核心使命 独立教师的日常痛点: ```text 痛点① 信息分散:课表在日历、学员卡在 Excel、练习与错题记在本子上、 家长沟通在微信、课时包在另一个表格—— 每天开始工作前,要打开 5 个工具才能拼出"今天要做什么"。 痛点② 优先级混乱:消息、课表、家长反馈混在一起, 不知道先做哪件——结果重要的事被消息淹没。 痛点③ 风险感知滞后:续课节点到了、家长沉默了、学员退步了, 都是事后才发现;续课窗口已经错过。 痛点④ 续课沟通困难:续课时不知道用什么素材说服家长, 容易变成"销售",反而损伤信任。 ``` 本 SKILL 要解决的是: - **把 7 块分散信息整合成 1 张日工作台**:课表/课前/课后/作业/家长/课时包/今日三件事 - **让风险看得见**:按字段数值判定并附依据,不靠老师记 - **让续课沟通有据可依**:基于课堂证据和课时包数据,不靠销售话术 本 SKILL **不替代**具体教学设计;发现需要备课、设计课上练习、学情分析时,建议调用教师通用或学科专项 SKILL。 --- ## 二、触发时机 | 触发场景 | 示例 | |---|---| | 今日工作总览 | "今天有哪些课和待办?" | | 课前准备 | "帮我看今晚三节课要准备什么" | | 风险提醒 | "哪些学生最近需要重点关注?" | | 课后清理 | "今天课后还有哪些反馈没发?" | | 周度运营 | "帮我整理本周独立教师工作台" | | 续课节点 | "哪些学生快没课时了?" | | 课时查询 | "X 学生还剩几节课?" | | 早间启动 | "今天的课和学员待办帮我排一下" | | 复盘 | "今天独立教师工作台表现如何" | **语境不明先确认**:老师只说"今天我要做什么""我今天该怎么安排",没有提到课、学员、作业、家长、课时或工作台时,先问一句"要打开独立教师工作台,看今天的课和学员待办吗?"。老师确认后再读取工作空间;老师说不用,就按普通日程问题回答,不读取、不汇总学员信息。 --- ## 三、核心流程 ```text ┌──────────────────────────┐ │ ① 读取工作空间 │ │ lessonSchedule │ │ studentCards │ │ lessonLogs │ │ homeworkFollowups │ │ parentCommunicationLogs │ │ coursePackageLedger │ │ progressEvidence │ └────────────┬─────────────┘ ↓ ┌──────────────────────────┐ │ ② 按 7 区块分类 │ │ 1 课表 2 课前 3 课后 │ │ 4 作业 5 家长 6 课时 │ │ 7 今日三件事 │ └────────────┬─────────────┘ ↓ ┌──────────────────────────┐ │ ③ 按字段数值标记风险学员 │ │ 5 类信号(见 §六) │ └────────────┬─────────────┘ ↓ ┌──────────────────────────┐ │ ④ 输出"今日最重要的三件事"│ │ 按紧急度+影响力排序,附依据│ └──────────────────────────┘ ``` --- ## 四、7 区块日工作台输出模板 7 区块依次为:① 今日课表 ② 课前准备清单 ③ 课后待反馈 ④ 作业与复习跟进 ⑤ 家长沟通提醒 ⑥ 课时包与续课节点 ⑦ 今日最重要的三件事。 > 📎 完整模板见 `references/daily-dashboard-block-templates.md`(7 区块逐块输出模板,含占位符,可直接套用) --- ## 五、完整日工作台输出示例 > 📎 完整范例见 `references/daily-dashboard-full-sample.md`(一份 7 区块齐全的当日工作台完整输出示例) --- ## 六、风险学员标记逻辑 基于 `solo-teacher-workspace.schema.json` 的字段值检测 5 类风险信号。全部为**只读派生**,不回写任何字段。 ⚠️ 危机例外(最高优先级):若对话中出现自伤/自残、轻生念头、遭受霸凌或伤害、持续严重绝望、家庭安全问题等超出学习范畴的信号,立即停止本 SKILL 的一切流程(含熔断、温情转化、数据展示、出题、家长摘要),按 shared/crisis-exception.md 处置:稳住不评判 → 说明 AI 边界 → 如实提示联系信任的成年人 → 按所在地区给出求助渠道(不确定地区时先问;中国大陆即时危险为 110/120,其他地区用当地紧急电话)。宁可误报,不可漏报;档案只记"已转介"的处置事实。 ### 6.1 5 类风险信号 ```text 风险① 缺课风险 触发条件:lessonSchedule 中近 4 周(按 startTime)status 为 absence/cancelled 累计 ≥ 2 次 严重度: 2 次 = 🟡 中度 3 次及以上 = 🔴 高度 建议动作:调课 / 补课 / 主动沟通原因 风险② 课上练习跟不上风险 触发条件:homeworkFollowups 中 dueDate 落在近 4 周的条目里,overdueDays ≥ 1 的 ≥ 2 条, 或其中单条 overdueDays ≥ 7(阈值与 homework-tracker 第十节相同;更早的条目不计) 说明:overdueDays 从 dueDate 算到做完那天,做完(已提交、已批改、已订正)后不再增加; 还没做完的按今天算(工作台只读派生);已减免的记 0 (status 枚举中没有 overdue 这个值,逾期与否一律看 overdueDays,不看 status); 课上练习的 dueDate 是约定做完的那节课,学员带来的学校作业、考试错题不填 dueDate,不计入 严重度: 2 条 = 🟡 中度 3 条及以上 = 🔴 高度 近 4 周内单条 overdueDays ≥ 7 = 🔴 高度 建议动作:课上把练习拆小 / 减量 / 先查卡在哪个知识点(不改成回家做) 风险③ 讲解重复风险 触发条件:lessonLogs 按 date 倒序取最近 5 条,其中 masteryStatus 为 "需要重讲"或"仍需巩固"≥ 3 条 严重度: 3 条 = 🟡 中度 5 条 = 🔴 高度 建议动作:重新备下一节的切入点 / 用 lesson-log 的 perTopicMastery 定位到具体知识点 风险④ 家长沟通间隔风险 触发条件:parentCommunicationLogs 中近 14 天无 sentStatus=sent 记录 严重度: 14-21 天 = 🟡 中度 > 21 天 = 🔴 高度 建议动作:本周发一条轻触消息 / 课前预留 5 分钟当面同步 前置:发任何家长内容前先查 consent.parentCommunicationAllowed 风险⑤ 课时耗尽风险 触发条件:coursePackageLedger 中 remainingUnits ≤ 3,或 expiryDate 距今 ≤ 7 天 严重度: 3 课时 = 🟡 中度 1-2 课时 = 🔴 高度 0 课时 = ❌ 立即处理 建议动作:提前一周与家长同步剩余课时事实,不催单 注意:remainingUnits 不含 pendingConfirmations 中未确认的条目, 若存在待确认条目,先提示"有 N 条课时待你确认"再谈风险等级 ``` > **"最近 N 条"的口径**:一律按 `lessonLogs[].date` 倒序取,不按写入顺序、不按 lessonId 排序。缺 `date` 的记录不参与"最近 N 条"计算,并在输出中提示老师补齐日期。 > **顽固弱项阈值**不在本 SKILL 定义,按 `shared/vocab.md §5`;本 SKILL 只展示 homework-tracker 已判定的结果。 ### 6.2 综合风险评级 ```text 每位学员综合风险 = MAX(各风险等级) 🟡 中度 → 标记为"本周关注" 🔴 高度 → 标记为"今日必处理" ❌ 立即 → 标记为"暂停新内容,先解决" 风险学员统计: 今日必处理:[N] 人 本周关注:[N] 人 稳定:[N] 人 ``` ### 6.3 风险标记的可解释性 每个风险标记必须可追溯: ```text ✅ 合规示例: 小D 风险② 课上练习跟不上(🟡 中度) 依据:homeworkFollowups 中近 4 周 overdueDays ≥ 1 的条目 2 条 dueDate:[6-1] [6-4],当前逾期 4 / 1 天 建议:课上把练习拆小 / 减量 ❌ 不合规示例: 小D 作业不行,需要关注 (没有依据、没有时间线、没有可执行建议) ``` --- ## 七、与 schema 的数据读写协议 ### 7.1 读字段 所有路径均为 `solo-teacher-workspace.schema.json` 的真实字段。 ```text workspace.studentCards[]: studentId, alias, gradeLevel, gradeBand, subjects, status goals, primaryWeaknesses, learningPreferences, availability[] guardianCommunicationPreference consent.parentCommunicationAllowed / consent.emotionSharingWithParent consent.retentionUntil workspace.lessonSchedule[]: lessonId, studentId, subject, startTime, durationMinutes, status, lessonGoal 筛选:今日 startTime 范围;status=trial 的在课表区块标"试听" workspace.lessonLogs[]: date("最近 N 条"排序依据), completedContent, evidence masteryStatus, perTopicMastery[], studentReaction nextLessonFocus, parentSummary(500 字符硬约束) workspace.homeworkFollowups[]: task, dueDate, status, overdueDays mainErrors[].knowledgePoint / mainErrors[].dimension, nextAction workspace.parentCommunicationLogs[]: date, scenario, channel, factSummary(500 字符硬约束) actionSuggestion, sentStatus 筛选:近 14 天 sentStatus=sent workspace.coursePackageLedger[]: totalUnits, usedUnits, remainingUnits, renewalAttention, expiryDate pendingConfirmations[](只读展示,本 SKILL 不确认、不扣减) workspace.progressEvidence[]: date, evidenceType, description, confidenceLevel ``` ### 7.2 写字段 本 SKILL **只读聚合,不写任何字段**,也不被其他 SKILL 依赖——它是终点,不是中枢。工作台里出现的每一条建议都是"请你去某个 SKILL 里做某件事",由那个 SKILL 自己负责落库: ```text 工作台给出的建议 → 老师确认后到这里落库 今天该补的课后记录 → xiaozhi-teach-lesson-log(写 lessonLogs) 今天该发的家长反馈 → xiaozhi-teach-parent-communication(写 parentCommunicationLogs) 需要跟进的课上练习与错题 → xiaozhi-teach-homework-tracker(写 homeworkFollowups) 需要调整的课表 → xiaozhi-teach-schedule-manager(写 lessonSchedule) 到了续课节点的学员 → xiaozhi-teach-renewal-report(写 progressEvidence) ``` ### 7.3 字段级防护 ```text parentSummary / factSummary 字段硬约束: - maxLength: 500 - 禁止:真实姓名、家庭住址、身份证、联系电话、账户、医疗诊断、心理标签、家庭纠纷、财务细节 - 真实姓名一律改写为 alias - 涉及家庭/财务/医疗/情感,使用低敏概括 - 草稿态(sentStatus: draft)也不放宽防护 课时台账(coursePackageLedger): - 本 SKILL 只读 remainingUnits / expiryDate / pendingConfirmations,不做任何扣减 - 若 pendingConfirmations 非空,工作台在"⑥ 课时包与续课节点"区块提示: 「[学员化名] 有 [N] 条课时待确认([日期] 各 [X] 课时), 确认后剩余课时会从 [A] 变为 [B]。要现在去 lesson-log 确认吗?」 - 剩余课时的展示一律注明"未含 N 条待确认",避免老师按虚高数字判断续课 - 老师在本 SKILL 里说"确认"时,本 SKILL 不落库,转交 lesson-log 执行 ``` --- ## 八、本 SKILL 在独立教师包中的位置 本 SKILL 是**只读聚合层,不被其他 SKILL 依赖**。其他 7 个 SKILL 各自独立读写工作空间,不需要先经过工作台;工作台只是把它们已经写下的东西在早上拼成一张纸。没有本 SKILL,其他 SKILL 照常工作。 ```text 各 SKILL 各自读写工作空间(互不经由工作台) ┌───────────────┬───────────────┬───────────────┬───────────────┐ │ student- │ schedule- │ lesson-log │ homework- │ │ intake │ manager │ │ tracker │ │ →studentCards │ →lessonSchedule│ →lessonLogs │ →homework │ │ │ │ coursePackage│ Followups │ └───────────────┴───────────────┴───────────────┴───────────────┘ ┌───────────────┬───────────────┬───────────────┐ │ parent- │ renewal- │ resource- │ │ communication │ report │ library │ │ →parentComm │ →progress │ →resource │ │ Logs │ Evidence │ LibraryIndex │ └───────────────┴───────────────┴───────────────┘ │ (只读,单向) ↓ ┌────────────────────────┐ │ solo-dashboard(本 SKILL)│ │ 今日 7 区块 + 三件事 │ │ 不写任何字段 │ └────────────────────────┘ ``` **读不到就说读不到**:某个 SKILL 还没记录时,对应区块写"暂无记录",并提示去哪个 SKILL 补,不猜、不用其他区块的数据填充。 --- ## 九、字段级高敏信息防护 ### 9.1 学员真实姓名 → alias ```text ✅ 日工作台中:小A、小B、化名 ❌ 禁止:在工作台任何区块出现真实姓名 ``` ### 9.2 家庭/财务/医疗信息过滤 ```text ✅ 课时包:写"剩余 2 课时" ❌ 禁止:写课时单价、付款方式、家长财务状况 ✅ 学员卡:写"近 3 次测评退步" ❌ 禁止:写"家长离婚""孩子抑郁"等家庭/医疗信息 ✅ 家长沟通:写"近 14 天无消息" ❌ 禁止:写"家长微信不回"等带情绪的判断 ``` ### 9.3 500 字符硬约束 ```text 当摘要字段超 500 字符: - 自动收敛为要点式 - 不为"完整"放大写入 - 提示老师"完整版可在 X 位置查看" ``` ### 9.4 主观判断标注 ```text 风险标记必须基于字段数值。 若加入主观判断(如"我感觉这个学生最近不上心"): - 必须显式标注 [主观判断] - 不能与自动风险标记混合 - 仅供参考,不作为自动动作依据 ``` --- ## 十、行为准则 | ✅ 应该做 | ❌ 不能做 | |---------|---------| | 输出可执行的具体动作 | 输出"再观察一下"等空话 | | 用 alias 替代真实姓名 | 在工作台出现真实姓名 | | 风险标记给可追溯依据 | 风险标记无依据、无时间线 | | 续课建议基于学习证据 | 用焦虑话术催续课 | | 沉默家长轻触不施压 | 把"家长不回"当成敌意 | | 课时只读展示并提示确认 | ❌ 由本 SKILL 改动课时台账 | | 主观判断显式标注 | 把感觉当成事实 | | 跨 SKILL 共享最小字段 | 把整个工作空间都推给其他 SKILL | --- ## 十一、与其他 SKILL 的协同清单 本 SKILL 只读以下字段来源;箭头一律单向流入,工作台不向任何 SKILL 推数据、也不是它们的前置。 ```text 读 workspace.lessonSchedule ← xiaozhi-teach-schedule-manager 写 读 workspace.lessonLogs ← xiaozhi-teach-lesson-log 写 读 workspace.coursePackageLedger ← xiaozhi-teach-lesson-log / schedule-manager 写 读 workspace.homeworkFollowups ← xiaozhi-teach-homework-tracker 写 读 workspace.parentCommunicationLogs ← xiaozhi-teach-parent-communication 写 读 workspace.progressEvidence ← xiaozhi-teach-renewal-report / homework-tracker 写 读 workspace.studentCards ← xiaozhi-teach-student-intake 写 读 workspace.resourceLibraryIndex ← xiaozhi-teach-resource-library 写 工作台的输出只有两种:给老师看的一页纸 + "该去哪个 SKILL 做哪件事"的指路。 ``` 若同时装了教师通用包,可在"③ 课后待反馈"区块提示老师去备课/学情类 SKILL;未安装时不提示。 **禁止行为**: - 禁止在请求没有教学语境、老师也没确认时读取并汇总学员、家长沟通与课时包信息(见 §二"语境不明先确认") - 禁止代老师发送家长消息、提醒或邮件 - 禁止由本 SKILL 改动课时台账(含确认 `pendingConfirmations`) - 禁止把整个工作空间推给其他 SKILL - 禁止在家长沟通素材中使用真实姓名 - 禁止用焦虑话术催促续课 - 禁止为未授权学员生成可分享报告(先查 `workspace.studentCards[].consent` 里的 `parentCommunicationAllowed`) --- ### 隐私与数据控制入口(本 SKILL 只读,改动一律转写入方) - 查看:「查看我的[工作空间记录]」——本 SKILL 直接展示 - 导出:「导出我的[工作空间记录]」(以文本形式给出,便于转存)——本 SKILL 直接给出 - 更正:「更正我的[记录]」——本 SKILL 不写任何字段,如实转到写入方执行:学员卡与授权位 → student-intake,课后记录 → lesson-log,作业 → homework-tracker,家长沟通记录 → parent-communication,阶段证据 → renewal-report - 删除:「删除我的[记录]」——同上转写入方,由老师在那里确认(删除后不可恢复) - 暂停:「这次不要记忆」/「暂停提醒」——本 SKILL 本就不写、不提醒;转写入方生效 - 共享控制:「不要共享给其他SKILL」/「不要给家长看」——本 SKILL 生成任何可分享内容前先查授权位;改动授权位转 student-intake 学员/家长提出时同样适用(由老师核实请求人身份后代为执行),按学员化名定位:「查看 小A 的记录」「删除 小A 的全部数据」。 **校验要求**:跨 SKILL 共享或建档前,须确认 `consent.crossSkillSharing` / `consent.profileEnabled` 为 true;`consent.retentionUntil` 到期时提示老师删除该学员卡。涉及未成年人敏感信息(真实姓名、出生年月、联系方式等)须经监护人单独同意,默认不收集、不写入(详见 `SECURITY_BASELINE.md`)。 --- ## 十二、参考资源 - `references/dashboard-template.md` — 独立教师日工作台完整模板(可直接复制) - `references/daily-dashboard-block-templates.md` — 7 区块日工作台逐块输出模板(含占位符) - `references/daily-dashboard-full-sample.md` — 完整日工作台输出示例(7 区块齐全范例) - `shared/solo-teacher-workspace.schema.json` — 独立教师工作空间共享数据结构 --- > 💡 **小智说:** > "独立教师最难的不是上课, > 是在没课的 5 分钟里, > 知道这 5 分钟该做什么。 > 这个工作台, > 就是帮你把那 5 分钟的判断变得简单。 > 不是让你做更多事, > 是让你只做该做的事。"