星火杯

时间经过: 2026.02.01-2026.3.22


星星之火,可以燎原

零、序幕

星火杯是我们学校的一个入门级比赛。
我在各个地方事先都略有耳闻,所以那天我第一次看见公众号相关推文时,还是有点惊喜的
推文上说,星火杯分为很多赛道,并且在做出项目后需要进行答辩,由院级选优到校级,再由校级选优进入挑战杯
很巧的是,我第一次看见推文时,正好是我想做“对小区车牌识别系统的模拟”的那一天。所以我还多了几分窃喜和确幸,毕竟多多少少也算是有了一些项目经验

一、开端

开学后,在班会上,辅导员老师说这个东西原则上大家都要参加
于是我问了问我的舍友,看看有没有什么想法
经过激烈的讨论,我们决定参加试试
于是我们“头脑风暴”了几分钟,好主意一个接一个的蹦出来,很快便出现了一个大家都觉得很棒的主意:
我们学校有两座综合楼,分别是新综合楼和老综合楼,楼里面有饭馆、小吃、数码、洗衣、文具、银行、药店、理发……总之就是几乎什么店铺都有。但如此丰富的同时也让新生难以找到想要去的店铺。于是我们可以开发一个简易的界面,包括新综老综的各个店铺和简要相关信息,以方便同学前去想要去的店铺

二、尝试

经过几番讨论,我们决定了以下主要路线:借助微信开发者工具,来开发小程序
我们宿舍四个人,很快便选好了小队长、简单分配好了任务、开始了简单的行动
但随之而来的是不可避免的困难

舍友A在新综老综收集信息的时候发现,这比想象的要难得多
舍友B正焦头烂额于绘制平面图的平台的选择
舍友C初次接触Git便积极主动地探索,但却屡屡碰壁
我则苦恼于找不到微信开发者工具的Git连接远程库的按钮在哪里

这对于我们来说,也许都是第一次实际参与一个“项目”,所以磕磕绊绊是在所难免的,或者说正是这些磕磕绊绊才让我们成长

因为是我自己的博客,所以不可避免地,我还是写的我自己的感受比较多

一开始下载微信开发者工具后,我在网上得知它是VS Code换皮的,便很高兴,因为我用过VS Code,我想上手难度并不会很高
可是我刚要尝试配置微信开发者工具自带的Git的时候,我卡了一步又一步。不习惯图形化的Git、找不到add在哪里、不知道有没有commit、没找到在哪里配置远程库、不知道舍友能不能成功pull……
幸好,到了最后一切都很好地弄完了。
只是微信小程序管理页面、微信版本控制的管理界面、微信开发者工具,竟然是分开的,我还得挨个自己找、挨个登录……无奈

三、初试Git协作

我算是事先对Git有一定了解,也知道它对于团队协作的必要性,当然同时也是正好想要上手尝试一下。所以我给舍友介绍了一下什么是Git
此外正好微信开发者工具就自带Git功能,于是我兴高采烈的push了,又兴高采烈的让我的舍友pull
结果三个舍友的Git全都出错了,我直接就手忙脚乱了

舍友A:他的微信开发者工具是老版本的,所以首先我对这个界面就不熟悉(虽然后来研究了一晚上,也是熟悉了)。在我的尝试与帮助下,磕磕绊绊地成功pull了远程仓库、checkoutmaster分支,但是开发者工具的编辑区就是没有拉取的文件。我很纳闷,他也很纳闷。我问了AI,他也问了AI。他说,会不会是这样:我成功是因为我电脑有Git,他不成功是因为他电脑没有Git。我当场反驳说微信开发者工具的Git应该不需要本地安装,他则坚持尝试安装Git。我去问AI,AI却说开发者工具确实依赖于本地Git,所以他是对的。
下载好后,再来一次,结果编辑器区域依旧没有。这就更纳闷了。不过既然都有Git了,那就命令行吧。打开git bash,把git status的输出复制给AI,再复制AI的命令。git bash窗口赫然显示着checkout多少多少master分支。打开开发者工具,看看编辑器:成了! 过来了!
这是我第一次和别人用Git协作,应该也是他第一次使用Git。
我们从晚上研究到了第二天零点半,终于是成了,我便爬上床睡觉了。但为什么安装了Git后,开发者工具本身的git的GUI还是无法把文件弄到编辑器,但直接用Git命令行就好了呢?这依旧是个不知道为啥的问题

舍友B: 在pull之前,他正在看我发到群里的廖雪峰老师的Git教程,所以他电脑本地是有Git的。但是我看错误信息,好像说是有冲突
第二天又尝试git status,原来是合并有冲突,需要手动处理。不过这里不知道怎么的,手动处理后开发者工具的版本管理页面也会显示红色感叹号,我怀疑是有回车或者空格之类的不一样。于是我俩去问AI有没有什么强制合并成远程代码的命令。加上--theirs参数后,就好了。
不过一有冲突就选择远程的版本,总不是个办法。但还能怎么办呢?我也不知道了。目前只能是在分工的过程中,尽量避免几个人同时修改同一个文件吧。

舍友C:一开始他并不负责更多的代码部分,所以这个时候他刚刚新建项目。但是怎么新建怎么都不对,还莫名其妙的跳转到了wsl下载提示。所以我想,大概是只得从新建项目开始再来一遍
这时候我已经确定了,要使用微信开发者工具自带的Git,需要电脑本地安装Git,所以舍友C这里其实是比较顺利的。
不过也真是有一点好笑,我已经分享了三遍Git教程链接了哈哈
就这样,我们宿舍四个人都知道了什么是Git
真好啊(倒

四、忐忑

一开始注册小程序的时候,我在微信的那个页面起名字、上传图片、留电话、人脸识别、备案……如此正式的流程让我心里很不安,似乎有着什么隐形的压力在压着我似的。实际上似乎并没有那么大的风险,只是第一次接触风险的我太过于紧张了。
第二天,有来自广东深圳的电话打给我爸爸,因为注册时我留了我爸的电话号为备用电话号。(为什么我没直接接到电话呢?因为给我打电话的时候,这个来自广东深圳的电话被我手机识别成诈骗电话,自动屏蔽了。真是令人哭笑不得)。我爸告诉我这事的时候,我正在上课,于是我一下子就紧张起来了。这通电话为什么会打过来?是我注册的时候出问题了吗?是我们的小程序违规了吗?我没告诉我爸爸我妈妈注册的整个流程,会不会有些不妥?我会不会干了什么坏事,而我爸妈完全不知情?(其实想到这里就有点过度焦虑的意思了
后来慢慢的,也就习惯了、适应了,也就没有那么的焦虑了

五、AI

直到这个项目做了两三天,我用的还一直都是Deepseek
而有一天,我要给小程序接入一个绘图软件的SDK。这里就出了bug,而且是跟Deepseek怎么说怎么有bug,最后甚至发现Deepseek开始说车轱辘话了
舍友提醒我说,换个AI试试。
我就想起来,之前我做过Github的学生认证,所以可以用Copilot。我点开Copilot,默认的模型是ChatGPT5.2。
不得不说,Copilot网站页面的UI很好看,而且它反应速度也很快。他在修bug的时候,一直在不断地让我测试,类似于try和log。而且它说话也很自信。
又过了几个小时,bug就好了。当时我也是很激动啊。
不过我也意识到了,Deepseek或许真的有一些局限性吧。

六、疲惫

本来我的理想状态,是定个一个小时的闹钟,每到一个小时就站起来走走,而不是一直坐在电脑前。
但这几天来,我却经常是在电脑前一坐就坐几个小时(因为忘记定闹钟了
几个小时的复制粘贴与让AI修bug,难免让人身心疲惫
有些时候甚至觉得,浑身上下都没有力气了
但每到最后一刻修好bug,那种成就感是真的爽
还有弄了很久终于实现一个小功能的时候,也很爽
或许这也是许多人沉迷于coding的原因之一吧

七、挫折

一开始,我们除了2D地图,还想弄一个3D地图。我舍友经过搜索,找到了一个叫做”蜂鸟制图“的平台。于是他开始在这个平台制图
同时,我这边开始研究,如何把蜂鸟制图的SDK接入我们的微信小程序。折腾了半天,似乎是成功了
突然有一天,我舍友在蜂鸟平台上做地图的时候,发现其中的一些细节和另一个舍友的手绘版地图有些出入,所以他不得不细细地再检查一遍。与此同时,我发现我这边接入的3D地图甚至不能缩放,而且还不能显示建筑之间的边界,只是显示白屏和蜂鸟制图的LOGO

这时候,舍友他那边非常的难受:已经做了整整一天半的地图被证明不一定能够在我们的小程序中正常运行。
而我这边则一直在与AI斗争。又研究了大半天还是无法修正这个SDK接入bug。因为核心问题在于不知道蜂鸟的SDK内部是怎么写的,而如果把.js文件源码或官方文档全部复制给AI则又太多了:deepseek处理不了1MiB这么长的文本、copilot则有额度所以我便没敢试。

我们宿舍开了个小会,觉得应该及时止损、放弃蜂鸟。
这时候做地图的舍友都快崩了,我则也是开始发呆、防空脑子。

当时宿舍里边气氛压抑、大伙都不知所措

大概过了半个小时一个小时,另一个舍友说他要尝试一下修复蜂鸟SDK接入的bug。我们另外三个人围上来,看了几分钟。不知怎的,我们似乎又都恢复了一些斗志。另外两人在各自电脑也开始尝试用AI修复这个bug,我则在宿舍转圈、解答一些代码的细节问题。
渐渐的,宿舍里气氛愈发热烈,我的心也振奋起来了,便也去试试。

这时候我注意到,官方文档虽然给了很多很多个HTML文件,但其实只是一个主页面而已,其他的都是跳转过去的二级页面。于是我便想把每个页面复制给AI。
在尝试复制的时候,我又猛然想起,我可以先把官方文档的目录复制给AI,问问AI需要哪些,再单独复制給它。就这样。几轮对话过后,bug修好了!

我调出微信开发者工具的真机调试二维码后,让做地图的舍友扫一下,另外两个人也围上来看看。

出现3D地图了
能放大了
还能转圈

我们尖叫了起来

项目就这样继续推进了

或许让AI编程的秘籍,便是给AI足够的相关信息,甚至可以说越多越好
或许人的编程,则切切实实地会受到心情状态的影响

不管怎么说,我们从挫折过来了,项目也继续推进了
Everything goes well.

八、插曲

真就是一个小插曲。一句话就能说清。
修bug的时候,为了测试,我不小心执行了init_db云函数。于是后台的管理员openid数据没了,我还得一个个重新加回来……

九、燃烧

实际上干活的很多时候,我都忘记定闹钟了。于是我几乎每次都是一坐就是两三个小时,等完成个小功能了才反应过来,该歇歇了
这样总是不好的。
就像是在燃烧自己的生命。
我想等到工作的时候,我一定要反复提醒自己,多多注意身体,身体别垮了

十、SDK

我已经有经验了
一上来就用AI做SDK的接入,它还得各种日志各种输出然后各种猜
最好的方法就是把官方demo的文件目录和官方文档doc的目录复制给它,然后问它需要哪些。再把需要的具体代码/说明复制给AI,基本就没有太大问题了

十一、后期

后期也没什么可以说的
无非也就是
越来越紧的时间
越来越多的任务
越来越频繁的协作
越来越熟练的动作
越来越清晰的思路
越来越完善的项目

十二、尾声

到了最后阶段,只觉得心情舒畅
啊,终于要结束了吗
比赛结果已经不重要了
这一周燃尽了
当然我们也都学会了很多东西
好👍

后来我们一起去吃了烧烤
舍友也在群里发了一些相关的图片
我就觉得,好感慨啊
我真的做出来了一个东西
真的是我参与做的东西吗
太酷了
真好啊

十三、致谢

感谢我的舍友们。在这个项目中,他们当然也是队友。
感谢Deepseek和Github Copilot,他们是我写代码的最佳助手(
感谢学校,弄了这么一个面向新人的“星火杯”活动
感谢我自己,真的努力了,燃尽了哈哈