AI 辅助开发
使用 AI 编码工具(Cursor / Claude Code / Copilot / Codex / CodeBuddy / Trae 等)+ SDK Helper Skill,通过对话辅助, 使用 @tencent-classroom/sdk 腾讯云实时互动-教育版无UI-SDK 完成互动课堂项目的开发。
你不需要通读所有 API 文档, 了解接入完整流程. 只需要告诉 AI 你想实现的互动课堂项目,它帮你写代码、查文档、检查错误。
安装 Skill
方式一:Skills CLI
自动检测并安装到你的 AI 工具:
npx skills add InteractiveClassroom/skills --skill tcic-sdk-helper更新:
npx skills update方式二:腾讯 SkillHub
通过对话安装
复制提示词,发送给任意 AI 助手即可安装 Skill,包括但不限于Lighthouse OpenClaw、WorkBuddy、QClaw、Kimi、Claude等
请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub.cn/install/skillhub.md 安装Skillhub商店,但是只安装CLI,然后安装tcic-sdk-helper技能。
若已安装,则直接安装tcic-sdk-helper技能。命令行安装
01、在终端中执行以下命令,即可安装腾讯 SkillHub CLI
// 复制命令到终端执行,安装 CLI 并优先采用 SkillHub 加速安装技能
curl -fsSL https://skillhub.cn/install/install.sh | bash02、安装完 CLI 后,安装 Skill
skillhub install tcic-sdk-helper能做什么
这个 Skill 给 AI Agent 注入了腾讯云实时互动-教育版无UI-SDK的辅助能力,包括:
代码生成 — 按角色(老师/学生/助教/巡课)和场景辅助开发出可运行代码,处理好生命周期顺序、错误处理、权限检查、资源释放,开发者不用从零拼。
文档查询 — 遇到具体 API 参数、枚举值、State/Event 细节时,给出回答。
代码诊断 — 开发者提供代码,Skill 识别常见错误:状态订阅时机错误、资源未释放、越权操作等。
开发流程
第一步:创建项目 & 获取参数
向 AI 提问:
"我要开始接入 TCIC SDK,需要准备什么?"
AI 会检查你是否安装了 SDK,并引导你获取 schoolId、classId、userId、token 等接入参数。
如果你还没有 token,AI 会提供腾讯云 API 文档链接,指导你通过服务端 RegisterUser + LoginUser 获取。
第二步:生成接入代码
告诉 AI 你的角色和需求:
"帮我写一个学生端接入代码,需要连麦上台和聊天功能"
"写一个老师端的完整接入,包含开始上课、音视频、白板"
"我需要一个助教端,只管理成员和聊天"
AI 会输出完整可运行代码,包含:
- 实例创建和初始化
- 事件监听(在 joinClass 前注册)
- 进房和错误处理
- stageList$ 驱动的远端流绑定
- 音视频推流(上台后)
- 资源释放(leaveClass + destroy)
第三步:按场景扩展功能
在基础代码上逐步添加功能:
"加上屏幕共享功能"
"加上 IM 聊天收发消息"
"加上答题器"
"加上白板和课件"
AI 会生成对应场景的代码片段,并正确处理资源生命周期。
第四步:查询 API 细节
遇到具体问题时直接问:
"bindRemoteView 的第三个参数是什么?"
"TResultCode 错误码 1010 是什么意思?"
"classStatus$ 的值有哪些?分别代表什么状态?"
"stageList$ 和 memberList$ 有什么区别?"
AI 会回答。
第五步:诊断和修复
写好代码后,让 AI 检查:
"帮我检查为什么其他成员上台但是UI看不到视频画面" + 提供已写好的代码
AI 会根据业务逻辑+实际场景, 给出原因和解决方案。
示例:从零完成学生端
以下展示一个完整的对话流程:
你:我要做一个学生端页面,需要看到老师的视频、能举手连麦、有聊天功能。Vue 3 项目。
AI:(检查环境 → 确认角色 → 生成完整代码)
import { TencentClassroom, TEvent, StreamType } from '@tencent-classroom/sdk';
import type { MemberInfo, ViewBinding } from '@tencent-classroom/sdk';
// classId / userId / token 由服务端调用腾讯云 API 获取
// 详见:https://cloud.tencent.com/document/product/1639/80938
const classroom = new TencentClassroom({ schoolId: YOUR_SCHOOL_ID });
await classroom.init();
// 事件注册(必须在 joinClass 前)
classroom.on(TEvent.KICK_OUT, (reason) => { /* 处理踢出 */ });
classroom.on(TEvent.CLASS_END, () => { /* 课堂结束 */ });
const result = await classroom.joinClass({ classId, userId, token, role: 'student' });
if (!result.ok) { console.error(result.message); return; }
// stageList$ 驱动远端流绑定
const bindings = new Map<string, ViewBinding>();
classroom.state.stageList$.subscribe((members) => {
// ... diff 绑定/解绑逻辑
});
// 举手连麦
await classroom.handUp();
// 上台后开启音视频
classroom.state.stageStatus$.subscribe((status) => {
if (status === 'active') {
classroom.startCamera(localVideoDom);
classroom.startMicrophone();
}
});
// IM 消息
classroom.state.messageList$.subscribe((msgs) => { /* 渲染 */ });
await classroom.sendTextMessage('Hello');
// 离开时清理
classroom.leaveClass();
classroom.destroy();你:stageList$ 怎么做 diff 绑定?
AI:(输出 diff 逻辑)
你:帮我检查一下为什么学生看不到其他学生的视频画面
AI:(执行诊断)