放寒假那天我给郭老师发了条消息:"老师好,寒假作业我选择做C1。"

三个月后我站在粤港澳信息学创新大赛的答辩现场,用自己写了上千行代码的软件拿了个一等奖。这事当时完全没想到。

初代界面截图

一个想"两天搞定"的作业

郭老师那会儿在外面带比赛,电脑不在身边。我说想两天做完因为要出门旅游,她当晚11点把资料发过来了。

题目是做"一个带图形界面的工具"。我翻出三年前写过的一点Tkinter,用AI找了找灵感,决定做学习任务管理器。

第一版就300行,一个很丑的待办列表。郭老师看了说了三条:

  1. "包装一个场景"——我选了学习管理,TaskWing突然就有了名字。
  2. "加个deadline提醒"——我去翻了Windows通知API,硬是把弹窗做出来了。
  3. "内置AI,做成小工具"——我正好注册了DeepSeek,送了一百万token,全砸进去了。
Windows通知弹窗截图

边旅游边修bug

整个寒假白天在外面跑,晚上回酒店改代码。

最崩溃的是打包。Python脚本跑得好好的,用PyInstaller一包,Windows通知就失灵了。郭老师亲自帮我测beta版,一口气揪出三个bug:不能改状态、两个按钮分不清、弹窗不弹。

当时发了一句牢骚,后来觉得特真实:

以前老吐槽微信每次更新就写"修复了一些已知bug",直到自己写了才知道含金量多高 🤦

代码从300到600再到1000行。郭老师提醒我模块化,我开始把代码拆开,上了GitHub。

最大的突破是接入了DeepSeek的AI问答。为了让AI回复里的代码块和表格能正常显示,我把Tkinter的文本框换成了一个能做Markdown渲染的前端层。

AI问答界面截图

"我电脑开机自启动的就是你的管理器"

最意外的——郭老师自己用上了。

开学后她说:"我现在电脑开机自动打开的就是你的管理器哈哈哈哈。" 还说要帮我在信息课上推广。

因为真的有人在用,我才发现:

  • 用户需要悬浮提示才分得清"删除"和"清空"
  • 任务完成数据做统计才有价值
  • 开机自启动的配置是会打架的

每次她提一个问题,我当晚改完,第二天发新版。版本号从V1.0.0一路推到V1.1.3。

GitHub Release截图

技术栈(简单说几句)

  • 界面:Tkinter + Pygame(白噪音),支持深色/浅色主题自动切
  • AI:DeepSeek V3/R1双模型,Markdown渲染,代码块可复制
  • 数据:SQLite,任务的增删改查、完成状态追踪
  • 系统:Windows通知弹窗、系统托盘、开机自启动、应用内升级
  • 打包:PyInstaller + NSIS做安装包,放GitHub Release

AI问答和番茄钟数据是打通的——专注模式里随时调AI,学习时长自动进统计报表。

统计报告/数据看板截图

从交作品到去现场

初赛交了一堆东西:安装包、源代码、说明文档、介绍视频。郭老师帮我一版一版改材料。

录视频的时候她说"你声音挺好听的,适合做博客"——后来确实因为这个去搭了个人博客。

复赛是机试加现场答辩。还好每行代码都是自己敲的,评委问什么都能答上来。

最后拿了个一等奖。

获奖证书

没停过

比赛完了但项目没停。完全开源在GitHub,到现在还在更。

回头看,三个月学到的比一年课本多:

  • 模块化不是理论——是被自己写的1000行代码逼出来的
  • AI是工具不是替身——郭老师说"程序能跑通是得真懂的"
  • 好老师会帮你把作业变成作品

那天晚上郭老师在微信上发的一句话我一直留着:"跨过去的坎都是收获。"

GitHub仓库主页截图

项目开源:https://github.com/TiantianYZJ/TaskWing
下载地址:TaskWing Releases

一人全栈开发🤪,熟练掌握Python、C++、HTML5、JavaScript等编程语言
最后更新于 2026-05-23