长时英语会话导师,面向中国初中七年级学生(13‑14岁,B1)。触发条件:(1)学生开始新的口语练习...
英文口语教学——技能设计是一项面向实际任务的技能,主要用于A 完整、便携式设计,供长期英语口语练习辅导员使用;OpenClaw的代理;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
一个完整、可移植的长期运行英语口语练习辅导代理(agent)设计方案,基于 OpenClaw 构建。以北京一名七年级学生为原型设计,但所有规则与文件均配有详尽说明,便于适配任意 B1 水平学习者。
本文档是可共享的设计文档。OpenClaw 实际注入运行时的运行提示(runtime prompt)位于工作区(workspace)中的 .md 文件内,并在下方第 4 节中详细说明——该代理在运行时**从不读取**本 SKILL.md 文件。
| 目标 | 重要性说明 |
|---|---|
| 每节课均为 30 分钟英语教学 | 模拟真实课堂节奏;防止过早结束 |
| Frank 占比 70% / 辅导师占比 30% | 强调实践而非讲授 |
| 由插件强制执行的状态机 | 确保代理不会丢失“当前处于第几分钟”的上下文 |
| 默认使用开放式问题 | 避免陷入“是/否”式对话僵局;共 8 种轮换模板 |
| 跨会话主题去重 | 避免第三次重复讨论同一 RC-planes 话题 |
| 基于文件的连续性保障 | 对话历史持久化保存;不依赖“心理笔记”等不可靠机制 |
OpenClaw 不会将本 SKILL.md 的正文内容注入系统提示(system prompt)。实际流程如下:
name、description)→ 作为单行技能条目注入系统提示中的 skills 区块,约 250 字符。SOUL.md、AGENTS.md、USER.md、IDENTITY.md、TOOLS.md、HEARTBEAT.md)→ 每次请求时自动注入,约 12.8K 字符。[System Context] 区块 → 由 tutor-timing 插件在每次请求时注入,约 6 行。代理每轮可见约 13K 字符的相关上下文。本 SKILL.md 仅在人类(你、协作者或代码审查员)需要理解整体设计时才被加载。
对共享的意义:本文档是供阅读与适配的核心材料;而工作区文件才是代理实际遵循的权威规范。
START → WARM_UP(0–5 分钟) → MAIN_ACTIVITY(5–25 分钟) → WRAP_UP(25–30 分钟) → END(30+ 分钟)
| 阶段 | 时间 | 辅导师目标 | Frank 发言占比 |
|---|---|---|---|
| WARM_UP | 0–5 分钟 | 问候 + 1 个简单的生活/周度问题 | ~50% |
| MAIN_ACTIVITY | 5–25 分钟 | 主题引导 + 2–3 个词汇 + 语法纠错 | ~70% |
| WRAP_UP | 25–30 分钟 | 总结回顾 + 1 项优势 + 1 项改进建议 + 布置作业 | ~50% |
| END | 30+ 分钟 | 生成 conversation-history.md 和 teaching-transcript.md,随后告别 |
n/a |
为何需插件强制执行:代理无法在长时间会话及空闲间隔中可靠地自主追踪时间。tutor-timing 插件读取 lastMessageTime,计算已过分钟数,并在每次请求中注入当前所处阶段。插件源码详见 references/companion-files.md。
工作区中六个文件会被自动注入,它们是权威的运行时规范。本节说明各文件内容;若你 fork 此技能,请将这些文件复制至你的 workspace 并按需调整。
SOUL.md — 权威来源用途:定义身份、核心准则、状态机、响应规则、主题规则、交互日志记录。行为变更时应编辑此文件。
关键章节:
conversation-history.md 中重复选取已有主题,除非用于深入追问;提供“错误 vs 正确”类提问范例teaching-transcript.mdAGENTS.md — 运营索引(51 行,约 3K 字符)用途:为代理提供的快速参考索引。始终以 SOUL.md 为准。
关键章节:
USER.md — 学生档案Frank,13–14 岁,北京七年级,B1 水平。备注:“他遇到困难时可能切换为中文——请温和引导回英语;简短回答表明兴趣减弱——应及时切换主题。”
IDENTITY.md — 代理身份卡代理名称、角色、主要使用场景。
TOOLS.md — 本地环境配置Windows 路径、语音脚本位置等主机特有信息。
HEARTBEAT.md — 定时任务周期性检查(本代理默认无激活任务)。
BOOTSTRAP.md — 曾为向导的一次性初始化文件,现已归档MEMORY.md / memory/*.md — 未使用;代理依赖工作区文件 + conversation-history.md 维持连续性AGENT-SPEC.md — 面向人类的设计文档,存放于 ~/.openclaw/skills/english-oral-tutor/(不在工作区),确保其绝不会泄露至运行时提示中。plugin-skills/ 目录专供 OpenClaw 的 npm registry 镜像使用,Windows 下会清除非符号链接条目——请勿将其用于用户自定义技能。详见 references/companion-files.md:
openclaw.json 中的代理配置区块**官方共享包位于
D:English-trainingskill**(含本设计文档 + 工作区模板 + 插件 + 主题库 + 可选语音脚本)。将该目录打包为 ZIP 后发送给其他 OpenClaw 用户,接收方按其中README.md执行安装。
以下为标准安装步骤;共享包内的 README.md 将完整复现这些说明。
skill/ ← 整个共享包 ├── README.md ← 接收方从此开始 ├── plugin-design/ ← 设计文档(即本文档) ├── workspace/ ← 代理工作区模板 │ ├── SOUL.md │ ├── AGENTS.md │ ├── USER.md.template ← 接收方填写 │ ├── IDENTITY.md.template ← 接收方填写 │ ├── TOOLS.md │ └── HEARTBEAT.md ├── plugin/tutor-timing/ ← 会话阶段注入插件 ├── topic-library/topic-library.md └── voice/openclaw-voice-userscript.js ← 可选
conversation-history.md 和 teaching-transcript.md 属于原始学生的个人数据。接收方在使用辅导师过程中将自行累积其专属版本。BOOTSTRAP.archive.md 是原始开发者搭建环境时使用的单次向导文件,新安装无需此文件。将 workspace/ 复制至 ~/.openclaw/workspace/english-oral-teacher/。
将 USER.md.template 重命名为 USER.md,IDENTITY.md.template 重命名为 IDENTITY.md,并填写其中的 [PLACEHOLDERS]。
将 plugin/tutor-timing/ 复制至 ~/.openclaw/extensions/。
将 topic-library/topic-library.md 复制至
~/.openclaw/agents/english-oral-teacher/english-oral-tutor/references/。
编辑 ~/.openclaw/openclaw.json — 添加两个条目:
{
"plugins": {
"entries": { "tutor-timing": { "enabled": true } }
},
"agents": {
"list": [
{
"id": "english-oral-teacher",
"workspace": "C:\Users\\.openclaw\workspace\english-oral-teacher",
"agentDir": "C:\Users\\.openclaw\agents\english-oral-teacher",
"tts": { "auto": "off" }
}
]
}
}
重启服务:执行 openclaw gateway restart。验证方式:打开 http://127.0.0.1:18789/,选择该代理,确认提示顶部出现 [System Context] 区块。
(可选)语音支持:安装 Tampermonkey,加载 voice/openclaw-voice-userscript.js,访问控制 UI。
| 如需修改... | 请编辑... |
|---|---|
| 学生姓名/年龄/水平 | USER.md |
| 代理名称/人设 | IDENTITY.md |
| 铁律(例如允许中文) | SOUL.md 中的 Core Truths 章节 |
| 新增跟进提问模板 | SOUL.md 中的 Response Rules 章节 |
| 调整各阶段时长 | tutor-timing/index.js(及 references/companion-files.md) |
| 新增主题 | agent/english-oral-tutor/references/topic-library.md |
| 语音 / TTS 声音设置 | openclaw.json 中的 tts.providers.microsoft,或用户脚本 |
openclaw configure 和 openclaw doctor --fix 将静默覆盖工作区文件(问题 #27919)。执行任一命令前,请务必备份 workspace/english-oral-teacher/。event.context.agentId 为 {})。tutor-timing 插件采用模块级状态与无条件注入方式规避此问题。若你 fork 该插件,请保持此设计。[[audio_as_voice]]。 若发生,请在 SOUL.md 的 Core Truth #6 中强化约束。MEMORY.md 与 memory/*.md 未被使用。 请勿惊讶于它们未出现在提示中——本技能依赖工作区文件与 conversation-history.md 维持连续性。BOOTSTRAP.md 已在 v1.0 版本中删除。 它曾作为一次性初始化脚手架存在;向导完成即归档。请勿重新添加。D:English-trainingopenclaw-voice-userscript.jstutor-timing(仓库内实现,约 85 行)相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习