这些只需要做一次。所有学生共用同一个 DeepSeek API Key。
🔑 DeepSeek API Key
- 打开 platform.deepseek.com
- 注册 → 充值 50 元(够 50-100 个学生上 6 节课)
- 创建 API Key → 保存好
⚡ 一个 Key 全班共用。DeepSeek 没有严格并发限制,10 个学生同时发请求不会触发限流。
☁️ 腾讯云 COS
- 打开 console.cloud.tencent.com/cos
- 创建 Bucket:名称
vibecoding,地域选最近的
- 访问权限:公有读私有写
- 开启静态网站托管 → 索引文档设为
index.html
- 记录访问域名
⚠️ 第五课需要用到。提前测试:上传一个 index.html 确认浏览器能打开。
📦 Git 班级仓库
$ mkdir vibe-coding-class && cd vibe-coding-class
$ git init
$ mkdir -p templates/initial students/ materials/
创建空白模板 index.html 放到 templates/initial/,然后 git commit。
🌐 课堂文件服务器
- 在 Trae 中对 AI 描述需求(约 100 行 Node.js 代码)
- 保存为
classroom-server.js
- 创建
templates/ 和 uploads/ 文件夹
- 每次上课前运行:
node classroom-server.js
- 把显示的 IP 地址写在白板上
⚡ 学生用浏览器访问 → 下载模板 → 课上在 Trae 改 → 下课拖拽上传。你从头到尾不用离开座位。
🖥️ 学生电脑配置
- 每台电脑安装 Trae(trae.ai)
- 设置 → 模型提供商 → 添加自定义:
- API 地址:
https://api.deepseek.com/v1
- API Key:粘贴共享 Key
- 默认模型:
deepseek-chat
🖨️ 第六课物料
- 结课证书(设计模板 → 彩色打印)
- 二维码卡片(每生一张)
- 分享海报(彩色打印)
- 传播之星奖状(前 3 名)
- 课前录好每生 15 秒游戏录屏
- 提前 2 天通知家长
每节课前核对。打勾即就绪。点击每一项来标记完成/未完成。刷新页面后状态会重置——这只是速查表。
🔁 通用(每次上课前)
U盘在包里
node classroom-server.js 启动成功
IP 地址写在白板上
📖 第一课:一句话变出一个世界
所有学生电脑装了 Trae + 配好 DeepSeek
模板 index.html 在课堂服务器下载区
教师机投屏测试通过
演示游戏已部署到 COS(用于破冰扫码)
课后:学生通过网页上传 → git commit
📖 第二课:我的游戏有敌人了
上节课作品在服务器下载区(丢失可重下)
教师机跑过今日 4 步 prompt
课后:学生上传 → git commit
📖 第三课:设计我的第一关
A4 纸 + 彩笔到位
白板示范关卡画好
课后:学生上传 → git commit
📖 第四课:这是我的风格
即梦/通义万相账号登录好
课后:学生上传 → git commit
📖 第五课:扫码就能玩(操作量最大)
COS 上传脚本写好并测试通过
备选 CDN 地址准备好(bootcdn)
班级群建好
课后:确认所有 COS 链接可访问 → git commit
📖 第六课:发布会
证书打印
二维码卡片打印
每生 15 秒录屏
家长通知发出(提前 2 天)
投屏切换方案确认
传播包整理(链接+海报+录屏+证书)
建议每节课后都 commit,这样任何学生文件丢了都能恢复。
初始化(一次性)
mkdir vibe-coding-class && cd vibe-coding-class
git init
mkdir -p templates/initial students/ materials/
echo '
我的游戏' > templates/initial/index.html
git add -A
git commit -m "初始化 Vibe Coding 课程仓库"
每节课后存档
# 第一课课后
cp -r uploads/* students/lesson1/
git add students/lesson1/
git commit -m "第一课:所有学生产出"
# 第二课课后
cp -r uploads/* students/lesson2/
git add students/lesson2/
git commit -m "第二课:敌人+金币+生命系统"
# 第三课课后
cp -r uploads/* students/lesson3/
git add students/lesson3/
git commit -m "第三课:关卡设计+卷轴+通关画面"
# 第四课课后
cp -r uploads/* students/lesson4/
git add students/lesson4/
git commit -m "第四课:个人美术素材+开始画面"
# 第五课课后
cp -r uploads/* students/lesson5/
git add students/lesson5/
git commit -m "第五课:部署链接+二维码+分享海报"
# 第六课课后
git add students/lesson6/ materials/certificates/
git commit -m "第六课:发布会+结营存档"
恢复学生丢失的文件
git checkout HEAD~1 -- students/lesson2/学生姓名/
把恢复的文件放到课堂服务器 templates 下,让学生重新下载。
预案的价值在于提前读过。上课遇到问题,Ctrl+F 搜这个页面。
| 问题 | 处理 |
| WiFi 挂了 |
掏 U盘(永远装在包里)。拷模板到学生桌面。如果外网也断 → 进入"离线模式":学生打开上节课 HTML 用浏览器试玩、互玩,或者在 Trae 里手动改 HTML 参数。 |
| 课堂服务器启动失败 |
lsof -i :3000 检查端口占用,有就 kill 掉。不行就 brew install node。实在跑不起来 → 切 U盘方案,下节课再修。 |
| DeepSeek API 挂了 |
先查 status.deepseek.com。备选:通义千问 API(dashscope.aliyun.com),在 Trae 改模型为 qwen-turbo。 |
| 学生把文件全删了 |
从 Git 仓库恢复上节课版本 → 放到服务器让学生重下。 |
| Trae 崩溃/闪退 |
重启 Trae(有自动保存)。项目打不开就新建空白项目,把 index.html 拖进去继续。 |
| 生成的代码打不开 |
让学生清空 Trae 对话,重新发一模一样的 prompt。第二次通常就对了。 |
| 加完敌人游戏卡死了 |
通常是碰撞检测写了死循环。让学生把代码 + 报错一起贴给 AI。 |
| 加了多个功能后互相冲突 |
回退到上一个能跑的版本(另存为的 _v1、_v2),从那里重新加。 |
| 游戏越来越慢 |
新开一个对话,把 index.html 内容贴进去,说"帮我优化帧率到 60fps"。 |
| COS 上传后链接打不开 |
检查文件是否设为公有读:COS 控制台 → 文件详情 → 权限 → 公有读。 |
| 二维码扫了打不开 |
先把链接贴到浏览器地址栏测试,确认能打开再生成二维码。 |
| jsdelivr CDN 加载失败 |
换 bootcdn:https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js |
| 学生不会打字 |
让同桌帮忙打,或用 macOS 自带听写(语音输入转文字)。 |
| 某学生一直跑不起来,开始焦躁 |
不要再让他试 prompt。把你的演示文件复制给他,让他改背景色、改小人的话开始。重点是让他有"这东西是我的"的感觉。 |
| 学生被别的窗口分心 |
不要训斥。走到旁边问"你的游戏现在能玩吗?给我看看。"把注意力拉回来。跑起来了就让他自由迭代。 |
| 学生上台不敢说话 |
不要逼。让他就做一件事:投屏二维码,说"这是《XX》,大家扫码玩。" |
| 画的关卡太复杂,AI 做不出来 |
让他先做"简化版":只有地面 + 1个平台 + 1个坑 + 旗子。其他的以后再改。 |
| 生图花了太久,没时间替换素材 |
让他先替换主角,地面和背景下节课再说。先保证每个人都有可展示的东西。 |