Files
zclaw_openfang/skills/classroom-generator/SKILL.md
iven 3ff08faa56 release(v0.2.0): streaming, MCP protocol, Browser Hand, security enhancements
## Major Features

### Streaming Response System
- Implement LlmDriver trait with `stream()` method returning async Stream
- Add SSE parsing for Anthropic and OpenAI API streaming
- Integrate Tauri event system for frontend streaming (`stream:chunk` events)
- Add StreamChunk types: Delta, ToolStart, ToolEnd, Complete, Error

### MCP Protocol Implementation
- Add MCP JSON-RPC 2.0 types (mcp_types.rs)
- Implement stdio-based MCP transport (mcp_transport.rs)
- Support tool discovery, execution, and resource operations

### Browser Hand Implementation
- Complete browser automation with Playwright-style actions
- Support Navigate, Click, Type, Scrape, Screenshot, Wait actions
- Add educational Hands: Whiteboard, Slideshow, Speech, Quiz

### Security Enhancements
- Implement command whitelist/blacklist for shell_exec tool
- Add SSRF protection with private IP blocking
- Create security.toml configuration file

## Test Improvements
- Fix test import paths (security-utils, setup)
- Fix vi.mock hoisting issues with vi.hoisted()
- Update test expectations for validateUrl and sanitizeFilename
- Add getUnsupportedLocalGatewayStatus mock

## Documentation Updates
- Update architecture documentation
- Improve configuration reference
- Add quick-start guide updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 03:24:24 +08:00

4.2 KiB

Classroom Generator Skill

根据主题或文档生成互动课堂内容,包括大纲、场景、测验等。

触发词

生成课堂、创建课程、制作课件、课堂生成、classroom、generate lesson、create course

能力

  • 大纲生成: 根据主题生成结构化课堂大纲
  • 场景创建: 为每个大纲条目生成丰富的教学场景
  • 测验生成: 自动生成测验题目评估学习效果
  • 多风格支持: 支持讲授式、讨论式、项目制学习 (PBL) 等教学风格
  • 多模态内容: 支持文本、图像、公式、图表等内容类型

工具依赖

  • whiteboard: 白板绘制能力
  • slideshow: 幻灯片控制能力
  • speech: 语音合成能力
  • quiz: 测验生成能力

输入参数

参数 类型 必需 描述
topic string 课堂主题
document string 参考文档内容或 URL
style string 教学风格: lecture/discussion/pbl
level string 难度级别: beginner/intermediate/advanced
duration number 预计时长(分钟)
language string 输出语言: zh-CN/en-US

输出格式

课堂大纲 (Stage 1)

{
  "title": "课堂标题",
  "summary": "课堂简介",
  "objectives": ["学习目标1", "学习目标2"],
  "outline": [
    {
      "id": "scene_1",
      "title": "场景标题",
      "type": "slide|quiz|interactive|discussion",
      "duration": 5,
      "key_points": ["要点1", "要点2"]
    }
  ]
}

场景内容 (Stage 2)

{
  "id": "scene_1",
  "type": "slide",
  "content": {
    "title": "幻灯片标题",
    "slides": [...]
  },
  "actions": [
    {"type": "speech", "text": "讲解内容..."},
    {"type": "whiteboard", "action": "draw_chart", "params": {...}},
    {"type": "slideshow", "action": "spotlight", "params": {...}}
  ],
  "notes": "教学备注"
}

工作流程

  1. 分析输入: 解析主题、文档、风格等参数
  2. 生成大纲: 创建结构化课堂大纲
  3. 展开场景: 为每个大纲条目生成详细场景
  4. 添加动作: 为每个场景添加白板、语音、幻灯片等动作
  5. 生成测验: 在适当位置插入测验题目
  6. 输出结果: 返回完整课堂 JSON

示例用法

用户: 生成一个关于 Rust 所有权的 30 分钟课堂
助手: 我来为您生成 Rust 所有权的互动课堂...

[分析主题]
[生成大纲]
[展开场景]

课堂已生成!包含:
- 5 个教学场景
- 1 个互动测验
- 预计时长 30 分钟

开始学习吗?

Agent 角色配置

生成课堂时,会创建以下 Agent 角色:

角色 职责 优先级
teacher 主讲教师,负责核心内容讲解 10
assistant 助教,负责补充说明和答疑 7
student_active 活跃学生,主动提问和互动 5
student_note 笔记员,整理和总结要点 4

提示模板

大纲生成提示

你是一位专业的课程设计师。请根据以下信息生成一个结构化的课堂大纲:

主题: {{topic}}
参考文档: {{document}}
教学风格: {{style}}
难度级别: {{level}}
预计时长: {{duration}} 分钟

请生成:
1. 课堂标题和简介
2. 3-5 个学习目标
3. 4-8 个教学场景(每个场景包含标题、类型、时长、关键点)

输出为 JSON 格式。

场景展开提示

你是一位经验丰富的教师。请根据以下大纲条目生成详细的教学场景:

场景标题: {{scene_title}}
场景类型: {{scene_type}}
关键点: {{key_points}}
前序内容: {{previous_content}}

请生成:
1. 场景的详细内容(幻灯片内容、讲解文本等)
2. 需要执行的动作(白板绘制、语音讲解、幻灯片控制等)
3. 教学备注

输出为 JSON 格式。

输出规范

  • 使用 JSON 格式输出结构化内容
  • 中文内容使用 UTF-8 编码
  • 动作参数需符合对应 Hand 的接口定义
  • 时长以分钟为单位
  • 所有 ID 使用 snake_case 格式

扩展能力

  • 导出 PPTX: 将课堂内容导出为 PowerPoint 演示文稿
  • 导出 HTML: 将课堂内容导出为交互式网页
  • 导入文档: 从 PDF/Word/Markdown 文档生成课堂
  • 自定义模板: 支持自定义课堂模板和风格