Skip to content

Latest commit

 

History

History
322 lines (250 loc) · 23.5 KB

github-open-source-gap-analysis.md

File metadata and controls

322 lines (250 loc) · 23.5 KB

GitHub 同类开源项目与云奕学差距分析

状态:研究基线,不构成实施授权
检索日期:2026-08-27(Asia/Shanghai)
云奕学基线:codex/milestone-7f@fbda1d9
适用范围:后续产品规划、技术选型、竞品跟踪和上游维护
不适用范围:收入预测、许可证法律意见、未经确认的代码引入或外部服务启用

1. 结论摘要

没有发现一个成熟开源项目同时覆盖云奕学的完整闭环:

诊断 → 版本化计划 → 学习执行 → 隔离练习 → 六维证据 → 延迟保持 → 目标与市场实验

现有项目通常只覆盖其中一部分:

  • LearnHouse、Open edX 擅长课程生产、运营和平台扩展;
  • Bloom、OpenTutor、ChatTutor 擅长 AI 辅导、材料导入或交互呈现;
  • Oppia 擅长带分支和即时反馈的交互式教学;
  • freeCodeCamp、Exercism 擅长编程练习、项目和可观察成果;
  • Kolibri 擅长离线优先的内容分发和低连接环境运行。

云奕学当前的主要优势不是内容数量或 AI 对话,而是证据边界、不可变技能包、受限 Runner、 隐私与费用门禁以及单用户私有部署。最明显的差距是:

  1. 算法内容仍是纵向切片,尚未形成足够深的共同主干和四个分支;
  2. 诊断和复习仍采用固定规则,尚未形成经过校准的个体自适应闭环;
  3. 缺少成熟的内容导入、编辑、笔记、检索和知识组织工作流;
  4. 首批真实 AI 学习适配器尚未进入可用闭环;
  5. 强证据数据尚未形成易理解、可导出、可供真人评审使用的能力档案;
  6. 缺少长期学习分析、策略校准和上游竞品跟踪机制。

后续不应优先照搬多租户、支付、公开社区、证书或 SEO。这些功能与当前“仅项目所有者本人、 免费验证、不得把完成等同于掌握”的决定不匹配。

2. 研究方法和边界

2.1 样本选择

样本分为四组:

组别 选择目的 项目
综合学习平台 比较课程生产、运营、分析和扩展能力 LearnHouse、Open edX、Kolibri
自适应或 AI 辅导 比较个性化讲解、材料导入和学习交互 Bloom、OpenTutor、ChatTutor、Oppia
编程掌握证明 比较练习、项目、测试和成果呈现 freeCodeCamp、Exercism
云奕学 作为被比较基线 本仓库

检索曾出现大量名称包含 “AI personalized learning platform” 的低星演示仓库。它们通常只有 聊天、课程生成或测验页面,缺少持续维护、许可证、迁移、测试和证据边界,因此没有作为主要 标杆。仓库热度只用于发现候选,不作为产品质量或教育效果证据。

2.2 核验方式

  • 读取 GitHub 仓库页面、原始 README 和 LICENSE;
  • 记录检索时可观察的默认分支、提交和最近提交日期;
  • 只把公开说明能够支持的功能标为“明确具备”;
  • “未见证据”不等于项目一定没有该能力;
  • 没有安装、运行、复制或引入任何候选项目代码;
  • GitHub 公共 API 当时受到共享出口限流,提交信息通过 Git、GitHub 提交页和只读页面镜像 交叉核验。动态数字可能变化,因此不把星标数写入决策条件。

2.3 许可证边界

本仓库自有代码和文档使用 PolyForm Noncommercial License 1.0.0。下表中的许可证只表示候选 仓库根级声明,不代表其所有内容、依赖、模型、数据集或企业功能都采用同一许可。

特别注意:

  • AGPL 项目的网络使用和衍生作品义务需要单独评估,不能直接复制进本仓库;
  • freeCodeCamp 的软件和课程内容不是同一许可边界,不能因为代码采用 BSD-3-Clause 就复制课程;
  • Exercism 的网站仓库明确称其为内部仓库,不鼓励 fork 或复用,且未发现根级开源许可证, 因此只作为公开源码产品参照,不作为可复用开源代码来源;
  • 本文不是法律意见。任何代码、设计资产、课程或数据引入前仍需逐文件核验和项目所有者确认。

3. 候选项目清单

3.1 第一层:最接近云奕学当前方向

项目 检索时基线 根级许可 可比较能力 与云奕学的关键差异
LearnHouse dev@e103541;最近提交 2026-08-24 AGPL-3.0;企业功能另有许可 Next.js + FastAPI;课程、块编辑器、作业、讨论、分析、AI、30+ 语言代码执行、证书、自托管 CLI、备份和诊断 平台生产与运营能力远强;面向组织和多用户。公开说明未展示云奕学式证据等级、延迟保持、不可变技能包和市场实验门禁
OpenTutor main@baf2dc4;最近提交 2026-08-25 MIT 本地优先、自托管、PDF 导入、结构化笔记、闪卡、测验、AI 导师、FSRS、知识图谱、认知负荷提示;Next.js 16 + Python 材料到学习工作区的闭环更完整;云奕学的证据审计、隔离代码验证、来源版本锁和目标实验更严格
Bloom main@31718b9;最近提交 2026-06-08 MIT 生成教学大纲,逐课教学,读取批注和反馈后调整下一课,包含评价与总结;Web 使用 React + FastAPI AI 个性化教学路径更直接;公开说明未展示确定性能力证据、受限 Runner、内容来源治理和延迟保持门禁
Oppia develop@cdb7bd0;最近提交 2026-08-27 Apache-2.0 可创作并分享交互式 exploration,以分支对话模拟一对一辅导,让学习者边做边获得反馈 交互式课程创作和反馈模型成熟;不是以外部 AI、个人技能证据或就业实验为核心

3.2 第二层:关键能力标杆

项目 检索时基线 根级许可 可比较能力 与云奕学的关键差异
freeCodeCamp main@6b17123;最近提交 2026-08-27 软件 BSD-3-Clause;课程另有内容边界 大规模结构化编程课程、交互练习、workshop、lab、review、quiz、必做项目、考试和认证 内容规模、项目链和公开成果远强;认证主要面向课程完成与考试,不等同于云奕学的细粒度时效、独立性和保持证据
Kolibri develop@501ade7;最近提交 2026-08-27 MIT 离线优先、自托管、面向无稳定网络环境的教学和内容分发 离线包、同步和部署成熟度更强;不是 AI 个体规划、算法练习或变现准备系统
Open edX master@bae59d9;最近提交 2026-08-27 AGPL-3.0,部分文件可能例外 成熟 LMS/CMS、微前端、插件钩子、LTI 等平台集成、课程运营和大规模部署 生态、标准和运营能力远强,但复杂度、多用户假设和运维成本不适合直接移植到当前单用户产品
ChatTutor main@7d9e905;最近提交 2026-01-09 AGPL-3.0 AI 电子白板、数学画布、思维导图和多模型配置 STEM 可视化交互更强;不是完整的诊断、课程、证据和保持系统

3.3 公开源码但不能当作可复用开源平台

项目 检索时基线 结论 仍值得观察的原因
Exercism website 与 C++ track 网站 main@16bb79f;最近提交 2026-08-21 网站仓库明确是公开的内部仓库,不接受 PR、不支持本地运行且不鼓励复用;不得把“能看到源码”误写成“可复用开源” C++ track 使用版本化 canonical tests、示例解和主题元数据;产品还提供语言轨道、自动分析与导师反馈,是算法练习和真人评审流程的重要产品参照

4. 能力对比矩阵

图例:● 为公开材料明确支持;◐ 为部分支持、目标不同或当前受门禁限制;— 为本次核验 材料未见明确证据,不能据此断言项目完全没有。

项目 本地/自托管 AI 个性化 内容生产/导入 自适应诊断/复习 可执行编程练习 可追溯能力证据 来源/内容版本治理 目标/市场闭环
云奕学 ● ◐ ◐ ◐ ● ● ● ◐
LearnHouse ● ● ● ◐ ● ◐ — —
OpenTutor ● ● ● ● — ◐ — —
Bloom ● ● ● ● — ◐ — —
Oppia ◐ — ● ● — ◐ — —
freeCodeCamp ◐ — ● ◐ ● ● ◐ ◐
Kolibri ● — ● — — ◐ ◐ —
Open edX ● ◐ ● ◐ ◐ ◐ ◐ —
ChatTutor ● ● ◐ ◐ — — — —
Exercism ◐ — ● ◐ ● ● ● ◐

云奕学表中四个 ◐ 的含义:

  • AI 个性化:已有供应商档案、隐私和会话锁边界,但学习流程仍以本地确定性适配器为主;
  • 内容生产:已有版本化技能包和来源目录,但内容编辑、文件导入、笔记和检索能力不足;
  • 自适应:诊断是固定问题序列,复习是 1、2、4、7、15 天固定策略;
  • 目标/市场:框架和受限就业实验已实现,但当前真实求职动作证据仍阻塞,真实市场模型验证也 受费用、30 天间隔和逐次确认约束。

5. 云奕学当前独有或更严格的能力

以下能力在候选项目的公开说明中没有形成同样完整的组合,应继续保留,不要为了追赶功能数量而 削弱:

  1. 证据等级与边界:自述、结构校验、确定性 Runner、真人评审和延迟保持不会被混为一谈;
  2. 不可变技能包:版本首次被持久化记录引用后锁定 manifest 和受管内容摘要;
  3. Runner 协议防伪:服务端独立验证运行时、镜像、完整测试、退出码、输出和安全声明, 不信任顶层 passed;
  4. 对话锁定和外发最小化:供应商、模型、凭据引用在对话内不静默切换,外发可关闭;
  5. 费用和停止条件:市场研究有日、月、单次预算、价格变化停止和禁止自动充值规则;
  6. 目标非默认变现:用户可选择纯学习、考试或自定义目标,不被强制进入就业或收入路径;
  7. 真实动作边界:系统只生成本地材料并记录用户在外部手动执行的结果;
  8. 单用户私有部署:Tailscale、精确账号白名单、加密备份和远程 Runner 的权限隔离已经过 真实验证。

这些能力是云奕学的产品护城河,也是未来引入 AI、导入内容或插件时必须继续满足的回归条件。

6. 差距清单与优先级

优先级含义:

  • P0:直接影响“能否真正学会算法”的核心闭环;
  • P1:明显提升日常效率和学习质量,但应在核心闭环稳定后推进;
  • P2:有价值,但当前单用户阶段不应抢占核心资源;
  • 不建议:与已确认产品方向冲突,除非项目所有者以后改变决定。

6.1 P0:先补学习效果,不先补平台规模

编号 差距 参照项目 当前事实 建议验收方向
GAP-P0-01 算法内容深度和覆盖不足 freeCodeCamp、Exercism algorithm@0.2.2 仍是共同主干入口纵向切片,工程、面试、竞赛、理论四分支尚未形成完整路径 先完成共同主干的能力图、足量确定性练习、迁移任务和阶段门禁,再逐支解锁;不得复制第三方课程内容
GAP-P0-02 诊断仍是固定序列 Oppia、Bloom、OpenTutor 支持回答修正和补救映射,但不会按信息价值动态选题或提前停止 版本化选题协议、信息增益或确定性替代规则、停止条件、解释审计、回退路径和离线测试全部通过后才启用
GAP-P0-03 复习仍是固定间隔 OpenTutor 的 FSRS 方向 当前固定 1、2、4、7、15 天;仓库已把自适应遗忘模型列为待确认 先积累真实复习数据,再确认目标回忆率、冷启动、参数更新、校准指标、隐私和回退;不能直接宣称 FSRS 对算法技能最优
GAP-P0-04 证据强,但面向用户的解释和迁移价值不足 freeCodeCamp、Exercism 有六维证据、时效、独立性和阻断标记,但缺少统一的范围化能力档案 生成可导出的“能力范围—任务—验证者—运行时—日期—限制”报告;不得用完成证书替代保持或整体掌握
GAP-P0-05 缺少学习效果分析与策略校准 Oppia、成熟 LMS 已保存大量事件和证据,但主要用于状态门禁,尚未形成趋势、错误模式和策略效果分析 先定义不夸大的指标:按能力范围的尝试、纠错、间隔、保持、过期和复核状态;禁止用停留时长冒充学习效果

6.2 P1:补足个人学习工作台

编号 差距 参照项目 风险或门禁 建议方向
GAP-P1-01 缺少材料导入和结构化工作区 OpenTutor、LearnHouse 文件内容、版权、恶意文档、提示注入和来源可信度 先做只读受限导入研究:文件类型、大小、解析隔离、来源记录、内容摘要、人工确认和删除;未经授权不开放任意路径读取
GAP-P1-02 缺少块编辑、笔记、标注和全文检索 LearnHouse、Bloom 新依赖、数据迁移、富文本安全和移动端复杂度 先实现纯文本/Markdown 笔记和受管检索,再评估富文本协作编辑器;单用户阶段无需实时协作
GAP-P1-03 真实 AI 学习辅导尚未闭环 Bloom、OpenTutor、ChatTutor 首批模型清单、费用、隐私、供应商差异、会话异常和内容正确性 复用已有供应商适配器与会话锁,按一次对话一个供应商/模型运行;AI 只能建议和解释,不能越过确定性或真人证据门禁
GAP-P1-04 缺少知识图谱式导航和前置依赖可视化 OpenTutor、Exercism track 自动抽取可能产生虚假依赖 以技能包中受管能力图为真值,AI 只生成待审候选;展示“为什么现在学这个”和阻塞路径
GAP-P1-05 来源变化尚不能形成实质影响分析 云奕学自身 4A/5B 边界 自动改写内容会破坏不可变版本和历史可追溯性 变化只进入待审差异;人工接受后发布新技能包补丁版本,并生成旧计划影响范围和显式迁移选择
GAP-P1-06 真人反馈入口较弱 Exercism mentoring、Oppia 社区创作 当前仅记录外部真人评审结果;上传敏感证明不被允许 优先改进受管量表、可复制评审包和结果导入,不建设公开社区;继续禁止身份证明等敏感附件
GAP-P1-07 自托管升级体验仍偏工程化 LearnHouse CLI、Kolibri 自动升级可能破坏数据库、技能包锁和回滚点 在现有启动器、预检和加密备份上增加“检查更新—备份—迁移演练—人工确认—回滚”流程,不做静默升级

6.3 P2:按真实使用痛点再决定

编号 差距 参照项目 为什么不是当前优先级
GAP-P2-01 离线 Web/PWA 与断网同步 Kolibri 当前主要场景是个人电脑和 Tailnet 私有访问;先确认真实断网需求和冲突处理规则
GAP-P2-02 教育标准和插件生态 Open edX LTI、SCORM、xAPI 等主要解决机构系统集成;当前没有机构客户或外部 LMS 门禁
GAP-P2-03 更丰富的 STEM 画布和可视化 ChatTutor 有助于解释,但不能替代算法练习和证据;优先复用轻量、可访问的代码原生图示
GAP-P2-04 公开作品页或可验证分享链接 freeCodeCamp 当前是私有单用户系统;公开分享会引入身份、撤回、隐私和部署边界
GAP-P2-05 多技能市场和技能包生态 Open edX、LearnHouse 已确认要先完整做好算法,不应在首个技能未成熟时扩张

6.4 当前不建议追赶

功能 主要参照项目 不建议原因
多租户、班级、组织和复杂 RBAC LearnHouse、Open edX、Kolibri 当前仅项目所有者本人使用,会显著增加权限、迁移和测试成本
支付、课程售卖和企业版功能 LearnHouse 当前免费验证且不得擅自设计付费功能
自动发证书 LearnHouse、freeCodeCamp “完成”不能被包装成“掌握”;如未来需要,只能输出范围、日期和证据限制明确的证明
公开论坛、排行榜和社交游戏化 freeCodeCamp、Exercism、成熟 LMS 当前没有社区运营目标,还会引入内容治理、骚扰、隐私和作弊风险
SEO、公开落地页和开放注册 LearnHouse 当前只允许 Tailnet 私有访问和精确单账号白名单
直接接入任意第三方插件或课程包 Open edX 生态 第三方输入不可信,且可能破坏许可证、内容锁、Runner 和外发边界

7. 推荐的后续更新顺序

本节只给出决策顺序,不代表代码实施已获授权。

阶段 A:学习内核完整化

  1. 发布新的算法技能包版本,扩充共同主干,不修改已引用的 0.2.2;
  2. 为每个能力范围增加确定性练习、迁移任务、错误分类和明确完成标准;
  3. 建立范围化能力档案和学习效果指标;
  4. 用真实使用数据验证固定复习策略的不足,再决定自适应模型。

阶段 B:自适应和 AI 辅导

  1. 先实现可解释、可回退的自适应诊断;
  2. 再接入经确认的真实 AI 学习适配器;
  3. AI 输出只能生成解释、候选计划或待审内容,不能直接提升证据等级;
  4. 每次调用继续执行最少外发、费用估算、逐次确认和供应商/模型锁定。

阶段 C:个人知识工作台

  1. 从受管笔记、标注和检索开始;
  2. 再研究文件导入和结构化提取;
  3. 最后评估知识图谱、富文本编辑和可视化画布;
  4. 每一步都要保留来源、版本、删除和提示注入防护。

阶段 D:按需求扩展互操作性

只有在出现真实跨设备、外部 LMS、作品公开或第二技能需求后,再分别评估 PWA、教育标准、 分享链接和技能包生态。

8. 持续跟踪和维护机制

8.1 观察分组

频率 项目 重点观察
每月快速检查 LearnHouse、OpenTutor、Bloom、Oppia 内容工作区、AI 辅导、自适应路径、编辑器、学习分析和部署体验
每季度深入检查 freeCodeCamp、Kolibri、Open edX 课程/项目结构、离线能力、标准、插件、迁移、可访问性和大规模运维
每季度参照检查 ChatTutor、Exercism STEM 交互、语言轨道、测试版本、自动分析和真人反馈;不直接复用网站代码

每月检查只需判断是否出现与当前 P0/P1 差距直接相关的变化。没有相关变化时不应为了“保持同步” 而升级依赖或改动产品。

8.2 每次复核应记录的字段

字段 示例或规则
checked_at 使用 Asia/Shanghai 的完整日期
repository 精确 owner/repo,跟随重命名但保留旧名
default_branch 不假设一定是 main
observed_commit 记录完整 SHA;研究正文可显示短 SHA
license_observed 根级许可证及内容/企业功能例外;许可证改变时停止复用评估
maintenance_signal 最近提交、release、归档状态、维护者公告,不以 star 单独判断
relevant_change 只记录与云奕学差距编号相关的变化
evidence_url README、文档、release、PR 或 commit 的稳定链接
decision watch、research、prototype_requested、rejected、adopted
reason 对应差距、收益、风险、依赖、费用和授权状态

8.3 引入任何上游实现前的门禁

  1. 固定精确提交或 release,不能依赖浮动默认分支;
  2. 核验根级和目标文件许可证、NOTICE、模型/数据许可证及商标限制;
  3. 检查新增依赖、安装脚本、网络访问、遥测、密钥和供应链风险;
  4. 说明会发送、保存和删除哪些用户数据;
  5. 验证与 Python 3.14.3、Node.js 24、pnpm、uv 和现有契约是否兼容;
  6. 不得让上游代码进入 FastAPI 进程执行用户代码或不可信评分器;
  7. 设计迁移、回滚和历史内容锁策略;
  8. 由项目所有者确认范围后,才允许建立隔离原型或实施分支;
  9. 完成相称的本地检查、桌面/移动 E2E、契约漂移和敏感信息扫描;
  10. 在本文维护记录中写明“采用、拒绝或继续观察”的原因。

8.4 建议的维护记录格式

YYYY-MM-DD | owner/repo@commit | GAP-P?-?? | watch/research/rejected/adopted
变化:一句可核验事实
证据:稳定 URL
影响:对云奕学的收益、风险和是否需要新授权

9. 本次基线来源

以下链接是本次判断的主要依据。项目功能和许可证可能变化,复核时应重新读取目标提交:

10. 维护记录

  • 2026-08-27:建立首个 GitHub 同类项目基线;完成 8 个开源样本和 1 个公开源码参照的 README、许可证、默认分支或提交页核验;未引入代码、依赖或外部服务。