放寒假那天我给郭老师发了条消息:"老师好,寒假作业我选择做C1。"
三个月后我站在粤港澳信息学创新大赛的答辩现场,用自己写了上千行代码的软件拿了个一等奖。这事当时完全没想到。

一个想"两天搞定"的作业
郭老师那会儿在外面带比赛,电脑不在身边。我说想两天做完因为要出门旅游,她当晚11点把资料发过来了。
题目是做"一个带图形界面的工具"。我翻出三年前写过的一点Tkinter,用AI找了找灵感,决定做学习任务管理器。
第一版就300行,一个很丑的待办列表。郭老师看了说了三条:
- "包装一个场景"——我选了学习管理,TaskWing突然就有了名字。
- "加个deadline提醒"——我去翻了Windows通知API,硬是把弹窗做出来了。
- "内置AI,做成小工具"——我正好注册了DeepSeek,送了一百万token,全砸进去了。

边旅游边修bug
整个寒假白天在外面跑,晚上回酒店改代码。
最崩溃的是打包。Python脚本跑得好好的,用PyInstaller一包,Windows通知就失灵了。郭老师亲自帮我测beta版,一口气揪出三个bug:不能改状态、两个按钮分不清、弹窗不弹。
当时发了一句牢骚,后来觉得特真实:
以前老吐槽微信每次更新就写"修复了一些已知bug",直到自己写了才知道含金量多高 🤦
代码从300到600再到1000行。郭老师提醒我模块化,我开始把代码拆开,上了GitHub。
最大的突破是接入了DeepSeek的AI问答。为了让AI回复里的代码块和表格能正常显示,我把Tkinter的文本框换成了一个能做Markdown渲染的前端层。

"我电脑开机自启动的就是你的管理器"
最意外的——郭老师自己用上了。
开学后她说:"我现在电脑开机自动打开的就是你的管理器哈哈哈哈。" 还说要帮我在信息课上推广。
因为真的有人在用,我才发现:
- 用户需要悬浮提示才分得清"删除"和"清空"
- 任务完成数据做统计才有价值
- 开机自启动的配置是会打架的
每次她提一个问题,我当晚改完,第二天发新版。版本号从V1.0.0一路推到V1.1.3。

技术栈(简单说几句)
- 界面:Tkinter + Pygame(白噪音),支持深色/浅色主题自动切
- AI:DeepSeek V3/R1双模型,Markdown渲染,代码块可复制
- 数据:SQLite,任务的增删改查、完成状态追踪
- 系统:Windows通知弹窗、系统托盘、开机自启动、应用内升级
- 打包:PyInstaller + NSIS做安装包,放GitHub Release
AI问答和番茄钟数据是打通的——专注模式里随时调AI,学习时长自动进统计报表。

从交作品到去现场
初赛交了一堆东西:安装包、源代码、说明文档、介绍视频。郭老师帮我一版一版改材料。
录视频的时候她说"你声音挺好听的,适合做博客"——后来确实因为这个去搭了个人博客。
复赛是机试加现场答辩。还好每行代码都是自己敲的,评委问什么都能答上来。
最后拿了个一等奖。

没停过
比赛完了但项目没停。完全开源在GitHub,到现在还在更。
回头看,三个月学到的比一年课本多:
- 模块化不是理论——是被自己写的1000行代码逼出来的
- AI是工具不是替身——郭老师说"程序能跑通是得真懂的"
- 好老师会帮你把作业变成作品
那天晚上郭老师在微信上发的一句话我一直留着:"跨过去的坎都是收获。"

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