SmartStudy:为学生打造的跨平台基于规则的 AI 教练(使用 Uno Platform 构建)

发布: (2025年12月6日 GMT+8 06:47)
4 min read
原文: Dev.to

Source: Dev.to

SmartStudy 封面图片:跨平台基于规则的学生 AI 教练(使用 Uno Platform 构建)

💡 灵感来源

作为一名软件工程专业的学生,考试周总是乱成一团。我日历里排满了日期,但单纯的日期并不能告诉我该有多紧张。线性代数还有 3 天就要考,比起 2 天后的 历史,它更紧迫吗?通常答案是肯定的。

我意识到我不需要另一个待办事项列表,我需要一个教练——一个能告诉我“嘿,别再放松了,这门考试很难,明天就要考了!”或者“你做得不错,休息一下吧”的东西。

于是我使用 .NET 和 Uno Platform 构建了 SmartStudy

🚀 什么是 SmartStudy?

SmartStudy 是一款跨平台应用,能够原生运行在 Windows、Web 和移动端。它帮助学生跟踪考试,并在其上添加了一层 基于逻辑的 AI

核心功能

  • 动态紧迫度系统 – 界面会根据日期和难度改变颜色(红/黄/绿)。困难 的考试会比 容易 的考试更早触发红色警报。
  • AI 教练 – 智能算法分析日程并给出情境感知的建议,例如 “紧急!专注于笔记” 或 “本周工作量大,注意节奏”。
  • 简洁 UI – 为热爱暗色模式的开发者设计的自定义暗色模式界面。

🎥 演示

Windows 桌面上的实际运行效果:

https://www.youtube.com/watch?v=yyi6MFiQLmM

🔧 构建方式

  • 框架: .NET 8
  • 平台: Uno Platform (WinUI 3 XAML)
  • 架构: MVVM(模型‑视图‑视图模型)
  • IDE: Visual Studio 2022

🧠 “AI” 逻辑

我没有调用外部 API,而是在 ViewModel 中实现了一个强大的决策树,使得应用能够即时“聪明”且响应迅速,无需网络连接。

// Inside MainViewModel.cs

// 1. Analyze Urgency
if (daysLeft  /* logic to count exams in 7 days */);
if (weeklyCount > 2)
    AiAdvice = $"{urgencyMessage} Also, be careful: You have {weeklyCount} exams this week. Pace yourself!";

这段逻辑让应用有了“活力”。它不仅仅展示数据,还为用户进行解释。

🏆 我遇到的挑战

  • UI 打磨 – 让 UI 看起来专业比后端逻辑更难。
  • “方块”问题 – 标准的 ListView 在圆角卡片上悬停时会出现默认的灰色矩形。将其换成放在 ScrollViewer 中的 ItemsControl 后即可完全控制渲染。
  • 跨平台日期 – 我的电脑系统语言是土耳其语,但我想要全局统一的日期格式。于是我在启动时强制设置 CultureInfo,让日期始终显示为 “Dec 06” 而不是 “Ara 06”,不受系统语言影响。

🔮 下一步计划

我计划将应用连接到真实的大语言模型(例如 OpenAI),扫描 PDF 大纲并自动为每个考试日建议学习主题。

🔗 代码与资源

完整源码已在 GitHub 上开放,欢迎给仓库点星!

https://github.com/emirsphere/SmartStudyV2

Back to Blog

相关文章

阅读更多 »

SaaS IA 新闻

SaaS IA 新闻的封面图片 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazon...

从混沌到代码:ALPHALABS

让我彻夜难眠的问题 我想要构建一个平台,让任何人都能创建 AI trading agents、backtest strategies,并证明其 performance……

WordPress + Kiro

概述:将 WordPress 与 Kiro AI IDE 集成,开启了一个内容管理与 agentic 开发相结合的流畅工作流程。通过结合 WordPress 的…