发布于 2026-01-06 4 阅读
0

EduBox - 人工智能学生中心

EduBox - 人工智能学生中心

这是KendoReact 免费组件挑战赛的参赛作品。

简而言之;适用于职场人士

生活难免会遇到各种状况:截止日期变更、任务堆积如山,校园生活也充满了意想不到的变数。EduBox 的宗旨是平衡一切——让所有事情都井然有序,从而让你事半功倍,减少烦恼。无论你是被课程表压得喘不过气的大一新生,还是身兼数职、忙于各种事务的大四学生,EduBox 都能助你轻松应对,避免精疲力竭。

我建造的

我创建 EduBox 的初衷是厌倦了学生时代在各种应用程序和工具之间疲于奔命。你肯定也经历过——笔记散落在 Google 云端硬盘里,作业记录杂乱地堆放在某个电子表格中,校园活动也只能偶尔听说,还有那种时刻担心错过截止日期的焦虑。所以我创建了这个智能学生中心,把所有东西都集中在一个地方。

EduBox 利用人工智能帮助学生保持学习效率,掌控学习生活。它拥有智能文件管理功能,支持语义搜索(让你在需要时轻松找到笔记),智能规划器能够学习你的学习习惯,帮你避免临时抱佛脚,校园生活中心让你与社团和活动保持联系,甚至还有一个人工智能助手,可以回答你关于学习资料的问题,还能通过工具调用创建新的作业/学习计划等等。它就像一个真正了解你学习内容的私人学习助手。此外,它还具备人工智能内容生成、Markdown 快速编辑器(感谢 Kendo)、学习助手、海量上下文存储空间、数据导入/导出功能以及个人资料管理空间等功能。

技术栈(概览):

  • 前端:Next.js + TypeScript,使用 Tailwind 进行样式设计,以实现响应式、易于访问的用户界面。
  • 身份验证:用于安全用户登录和个人资料的管理员。
  • 同步/存储:Convex 用于实时同步和简单的无服务器数据操作。
  • AI 和代理:使用 CopilotKit 构建多代理编排,通过 Vertex/Gemini 使用 Tools 托管 LLM,以及 Kendo RAG(检索增强生成)将模型答案建立在用户笔记和文档之上。
  • UI/UX 组件:KendoUI - 加速开发的强大组件。
  • 部署:前端 - Vercel 设置,后端 - Render,两者都具有环境驱动的密钥和提供程序配置。

还想了解更多?看看这个应用吧——里面肯定还有更多内容,我一直在不断地完善它 :)

演示

演示太疯狂了,我感觉会出问题(但还好没出问题):YouTube 上的演示视频

该应用程序已在 Vercel 网站上线:网站

源代码:源代码

注意:由于目前处于试用阶段,某些功能可能在部署后无法正常工作。在这种情况下,请尝试使用您的 .env 文件和本地环境。

屏幕截图(部分截图为开发过程中截取)

着陆页

带有 threejs 组件的美观着陆页
着陆页

仪表盘和概览

仪表盘概览

学业进度跟踪与分析
分析仪表盘

用户个人资料和设置
个人资料页面

AI助手和聊天

AI助手主页界面
AI聊天主页

与拥有工具的人工智能助手进行对话
人工智能聊天会话

人工智能辅助学习
人工智能学习助手

AI内容生成功能
内容生成

搜索与 RAG

检索增强生成使用情况
RAG演示

NucliaDB 中的知识库和文档处理
RAG数据库

计划与日程安排

智能规划和进度管理
规划中心

文件管理

文件组织和管理界面
文件中心 1

高级文件操作和搜索
文件中心 2

数据导入和导出功能
进出口

后端服务

Nuclia 文档同步服务
后端同步

凸实时数据库管理
凸数据库

示意图计费和功能门控系统
示意图计费

附加功能

高级功能访问控制组件
已锁定功能

使用的 KendoReact 组件

我在 EduBox 项目中完全使用了 KendoReact 组件!以下是我使用的组件:

  • KendoReact 按钮——这些按钮赋予了我所有的 UI 按钮专业、精致的外观,并带有流畅的涟漪效果。
  • KendoReact 指示器——完美的加载指示器,我把它们巧妙地分布在应用程序的各个角落,用于显示“请稍候”的提示。
  • KendoReact PDF - 让导出分析报告为 PDF 文件变得无比轻松
  • KendoReact进度条- 非常适合在文件管理部分显示上传进度
  • KendoReact Ripple——为按钮、开关和下拉菜单添加了令人满意的涟漪效果——让一切都更具互动性。
  • KendoReact ScrollView——通过添加无限滚动截图部分,使着陆页更加美观。
  • KendoReact Sortable - 实现了用于整理文件的拖放功能
  • KendoReact Taskboard——围绕它构建了整个计划器界面
  • KendoReact Upload - 处理所有文件上传
  • KendoReact 编辑器- 为学生提供富文本编辑功能,方便他们格式化笔记。
  • Kendo主题默认设置- 使得两种主题中的组件配色方案切换过于容易

这些组件为我节省了大量时间,并且使用户界面看起来比我从头开始构建要专业得多。

使用 Kendo AI 编码助手编写更智能的代码

天哪,Kendo AI Assistant 对 EduBox 的开发来说简直是颠覆性的!在整个开发过程中,我多次使用它作为我的 AI 代码助手。它不仅仅是编写代码的工具——它成了我的代码伙伴,帮助我思考问题并实现解决方案。

它对我的帮助是这样的:

  • 组件创建简直太疯狂了:它真的可以在几秒钟内创建一个非常非常复杂的组件。我之前遇到了一个难题——我原本想自己创建一个逻辑比较复杂的 React 组件,来实现我设想的用户体验。但我转而向 Kendo AI 寻求帮助,令我惊讶的是,它给出的答案竟然是“Sortable”(可排序组件)。这正是我想要创建的组件,Kendo 本身就有,但这个 AI 助手让集成变得异常简单。它帮了我好几次忙。它帮助我构建复杂的组件,并创建了 TypeScript 接口。
  • 调试伙伴:当我在前端组件和页面与各种 AI 服务和数据获取集成时遇到问题,它帮助我识别并解决了这些问题。
  • 架构建议:它为我提供了关于如何组织现有组件结构以及如何使用 Kendo 组件集成所有这些不同服务的绝妙建议。

人工智能助手在以下方面尤其有用:

  • 制造复杂组件和处理正确的数据方法
  • 修改现有组件以提升用户体验。
  • 搭建多服务架构
  • 使用正确的 TypeScript 类型创建响应式 UI 组件
  • 优化组件性能

如果没有 Kendo AI Assistant,这个项目会耗时更长,而且可能存在更多 bug。快速挑战——尽可能多地找出 bug 并提交问题报告。

Progress/Kendo NucliaDB RAG 集成

我整合了 Nuclia RAG 作为 EduBox 搜索功能的核心,它彻底改变了学生与学习资料的互动方式。学生不再局限于关键词搜索,而是可以提出自然的问题,并根据自己的文档获得智能答案。你可以询问照片、聊天记录、作业、文件、内容、日程安排、用餐、活动——几乎任何内容。你不仅能获得答案,还能获得来源信息。所有内容都通过他们的同步 API 持续更新,检索速度更是惊人。不得不说,他们开发出如此实用的服务真是太棒了!不过,正式版可能还需要一段时间才能提供这项功能——目前它还在试用阶段。

该集成主要包含两个部分:

后端服务:我构建了一个自定义的 Node.js 服务来处理所有文档。它会自动为每个用户创建个性化的知识库,在后台处理文件上传,并为前端提供简洁的 API 接口。它会将你的用户上下文同步到 NucliaDB,NucliaDB 会对其进行操作,例如量化查找相似项等等。我们可以使用他们的组件进行查询,响应生成则通过 ChatGpt + Azure 模型实现(我的案例中是这样——他们的网站上有很多选项)。超级酷炫又简单易用。

前端集成:Nuclia 提供了一个弹出式组件,它本质上是一个搜索组件(更像是一个小部件),由 Nuclia 自身提供,用于查询 Nuclia 以语义化地搜索用户的所有文档。当您上传 PDF 或其他文档时,它会立即被索引,以便您可以立即进行搜索。人工智能可以从您的文档中提取相关信息,并提供符合上下文的答案。当 userContext 的哈希值发生变化时,前端会触发后端请求。后端随后通过 Nuclia API 进行同步。

它的特别之处在于,学生可以提出诸如“我的微积分笔记的重点是什么?”或“查找下周作业的相关信息”之类的问题,并根据他们自己上传的资料获得准确、有用的答案。这就像拥有一个了解你所学或想要了解的一切的人工智能导师一样 :|

整个设置也保证了隐私——每个用户在 Nuclia KB 中都有自己的哈希值,因此他们的学术资料保持私密和安全。

EduBox——人工智能学生中心——的下一步是什么?

  • 改进了新用户引导和初始设置流程,以便新用户能够快速从 Obsidian/Notion/Joplin 等软件导入笔记,并体验其价值。
  • 支持与 Google Calendar、iCal、Canvas/Blackboard 等平台进行双向同步和成绩/任务导入。集成 Zoom 和 GMeet、YouTube API 以及 Google 云端硬盘。
  • 移动优先优化(PWA 或原生客户端)和无障碍功能改进。
  • 插件/连接器系统允许第三方添加数据源或自定义代理行为。这显然难度较低,现在也可以实现,但需要对架构进行更改,例如创建网关和处理相互依赖关系。

补充信息:

建筑结构图【高层次】

项目结构【非常简单】

EduBox/
├── frontend/                
│   ├── app/                  # App Router pages and API routes
│   ├── components/           
│   │   ├── schematic/       # Schematic billing components
│   │   └── ui/              
│   ├── convex/              # Convex database schema and functions
│   ├── lib/                 # Utility libraries
│   ├── hooks/               # Custom React hooks
│   └── types/               # TypeScript type definitions
├── backend/
│   └── nuclia-sync/         # Nuclia document sync service
└── README.md
Enter fullscreen mode Exit fullscreen mode

该项目还使用了 Schematic,其内部集成了 Stripe 支付管理功能,以提供基于套餐的使用方案。它提供有限免费、入门级和专业版三种套餐。目前,所有用户默认使用有限免费套餐以访问所有功能。这是一个由 Schematic 高效管理的支付网关解决方案。

试着问:

“明天要交什么?”

“帮我找到我上周的生物笔记。”

“我上物理课之前有时间去健身房吗?”

有关设置详情,请参阅 GitHub 上的 README.md 文件。

很高兴能开发出这样一款实用功能完善的产品。Kendo的文档非常易读,让我很容易就能构思出一个完整的应用程序。我建议大家至少试用一次,我在开发过程中获得了极大的乐趣。

请查看Kendo Docs了解更多详情,并参考Nuclia RAG DB。如有任何问题,您可以随时咨询Kendo AI Assistant。

剑道界面
进度/剑道 RAG

暂时就这些了,期待着它能带来更多疯狂的新可能性——现在我可以更好地掌控自己的生活了。

如有任何疑问/建议/疑虑,或者只是想闲聊,
请联系我arya.2023ug1104@iiitranchi.ac.in

文章来源:https://dev.to/aryprogrammer/edubox-ai-student-hub-21il