实时 WebRTC 视频课程,具有 Tailscale 安全的 P2P 连接、集成支付和 Kameleon Presenter — 所有这些都在一个应用程序中。
适合 4 人或以上团体的低延迟全网状 WebRTC 视频和音频 — 无需中央媒体服务器,无需每月付费。 Chameleon 信号服务器(chameleon_signal.py)处理 SDP 和 ICE 中继(端口 8766),也可以在 Android 上的 Termux 上运行。 Companion 应用程序显示一个自适应网格,该网格会随着学生的加入而自动增长:1 = 全屏、2 = 并排、3 = 2+1、4 = 2×2、5+ = 可滚动自动调整网格 — 教师的本地提要始终显示在画中画中。
所有对等点都通过您的 Tailscale 网格进行连接 — 没有公共 IP,没有端口转发。 IDE 无需离开应用程序即可管理 ACL、设备授权和身份验证密钥生成。
在课程中使用完整的 Kameleon 阶段进行教学。学生可以将答案、绘图和图像直接推送到舞台模式堆栈 - 实时调整和显示,无需切换应用程序。
内置发音辅导小部件(pronunciation_widget.py)具有音素级反馈——非常适合精确发音很重要的语言教学。
当 Tailscale 不可用时, lan_video.py 通过 UDP(端口 47732)传输视频,通过 UDP(端口 47733)传输音频,并通过 WebSocket(端口 47731)传输协作差异 — 全部都在本地网络上。
将应用程序通话和真正的 SIM 电话通话直接从 Companion 应用程序连接到单个多方对话中
Companion 应用程序支持两个并行呼叫通道: 应用程序调用 (WebRTC,Tailscale 上的点对点,免费)和 SIM卡通话 (标准移动网络,任何电话号码)。您可以与同伴进行 WebRTC 通话 和 同时向第三方拨打 SIM 卡呼叫,然后将他们聚集在一起进行多方对话 - 无需离开应用程序。
Companion 应用程序顶部的持久状态栏显示两个通道的实时状态:空闲、响铃、通话中或静音。只需看一眼即可知道哪些呼叫处于活动状态。每个通道都有独立的静音和结束控制 - 结束 SIM 通话不会断开应用程序通话,反之亦然。
对于语言课程很有用:让学生进行 WebRTC 应用通话,然后通过 SIM 拨打母语人士的电话,进行自发的现实对话。三方都能听到对方的声音。教师通过应用程序进行主持,而 Kameleon Presenter 继续在 IDE 上运行。
根据 RIPA 2000 和电信(合法商业惯例)条例,录音一方可以在未经另一方同意的情况下为自己的合法用途进行录音,但录音必须 法庭可受理 录音开始前必须通知所有各方。配套应用程序会显示一个突出的 🔴录音 每当录制处于活动状态时,都会向所有连接的参与者显示横幅。对于 SIM 卡呼叫者,需要在通话开始时进行口头通知。根据 GDPR,语音数据属于个人数据,必须进行相应处理。
在授予课程访问权限之前接受世界各地学生的付款
课程和学生注册存储在 ~/.chameleon/courses.db。人工智能可以创建课程、列出注册情况、检查付款状态和撤销访问权限——所有这些都通过 IDE 命令进行。
Stripe 处理英国和国际学生的英镑付款。支付宝的目标客户是用人民币付款的中国学生。 PayPal 提供覆盖广泛国家的通用后备方案。
对于没有刷卡权限的学生,接受微信支付付款证明截图。人工智能读取图像,提取金额和参考,并根据注册记录手动付款。
为任何课程生成 Stripe 托管的付款链接。分享链接 — 学生付款 — 注册会自动创建。无需构建或托管结账页面。
| 人工智能指令 | 描述 |
|---|---|
payment_create_course | 创建包含价格、标题和说明的新课程 |
payment_links | 生成课程的 Stripe 付款链接 |
payment_status | 检查学生的付款和注册状态 |
payment_enrol | 手动注册学生(例如现金付款后) |
payment_revoke | 删除学生的注册访问权限 |
payment_unpaid | 列出所有未结余额的学生 |
payment_screenshot | 记录微信支付截图作为付款证明 |