Vibe coding:时区时钟

发布: (2026年1月11日 GMT+8 09:15)
10 min read
原文: Dev.to

Source: Dev.to

GitHub 仓库

介绍

Hi! 这是我自大学时期以来关于任何计算机科学相关内容的第一篇博客,也是我想做很久的事。感谢收看!

我写这篇博客的目标是:

  • 记录我的项目。
  • 提醒自己,即使不走 beaded(即规定的)路径,也能达到最终目标。

我的使用案例、工作流、代码、实现等可能并不完美,但没有什么是完美的。我只想证明我能够开始并完成一个项目,几年后回顾时不再对自己的工作产生怀疑。我想记住我从哪里开始,以及我走了多远。

灵感火花:Vibe 编码

Vibe coding 在 2025 年初就吸引了我的注意。作为一个不经常写代码的人,LLM 能够为你编写代码并加速工作流的想法令人着迷。下面是该项目想法来源的一些背景信息。

自建实验室背景

  • 我在一台 Dell Latitude 上安装了 Proxmox,并一直在用它进行实用项目的 tinkering。
  • 我有一块较旧的 Raspberry Pi 3 B+,装在 Retroflag‑NESPI 机箱中,最初运行 RetroPie 用于复古游戏。
  • 在获得 Steam Deck 后,这块 Pi 被存放起来,准备用于未来的项目。

在 2019 年,我购买了一块 Raspberry Pi 7‑inch 触摸屏显示器,用作主桌面的音乐播放器/温度读取器。它运行良好,直到 2025 年初,我升级到更大的显示器并把 Pi 与屏幕一起放进抽屉中。

想法成形

在 2025 年末,我翻找抽屉时发现了树莓派和触摸屏,心想,“我到底要用这玩意儿干什么?”

我不想把它扔掉,于是寻找一个实用的用途。

在之前的一份 SaaS 远程工作中,我帮助用户处理医疗文档、登录问题、账户管理、数据库更改等。我们的用户遍布美国各地,了解每位用户的时区至关重要。

身在东海岸,我只能在脑中按一小时递减的方式换算出中部时间(CST)、山地时间(MST)和太平洋时间(PST),但桌面上显示多个时区的时钟会快得多。我也想要一种不依赖电脑小部件就能查看时间的方式。

这种便利性激发了 时区时钟 的概念。

实现规划

  1. 轻量且简洁 – 我想要一个开源工具,能够作为桌面可执行文件运行。
  2. 硬件 – Raspberry Pi OS(轻量,专为 Pi 设计)将作为操作系统;最坏情况下我可以回退到 Ubuntu。
  3. 耐用性 – 设备应能可靠地开关机,而不会导致操作系统崩溃。

我决定使用 LLM 来 vibe code 这个项目,看看能否接近完整的产品。

选择 LLM

  • ChatGPT 是我首先尝试的 LLM。
  • 我本可以尝试其他模型,但我想避免学习新系统的开销,所以坚持使用 ChatGPT。

首次提示与工具选择

我向 ChatGPT 的最初提示是:

“我需要帮助将 raspberry pi 3 b+ 改造成一个一次显示三个不同时区的时钟。Pi 将装在 7‑英寸触摸屏中。帮我寻找可以安装的想法或免费开源工具。请注意,我的设备上已安装 Raspberry Pi OS。”

ChatGPT 理解了硬件限制,建议使用 Tkinter(Python 的标准 GUI 库)。其优势:

  • 轻量级,无需 Web 堆栈。
  • 运行快速,无浏览器或网络依赖。
  • 高度可定制(例如夜间模式)。

ChatGPT 甚至生成了一个设想 UI 的模型图,我很喜欢。

获取第一个脚本

ChatGPT 提供了一个 Python 脚本,内容包括:

  1. 安装 Python 3Tkinter
  2. 显示三个时区。

我感到很兴奋,但也注意到 ChatGPT 自行添加了一些小细节,这让我重新考虑实现的部分。这是一次典型的 vibe‑coding 教训:不要假设 LLM 的输出就是最终版——你仍然需要审查并进行调整。

接下来怎么办?

从这里我将:

  • 完善脚本(调整布局,添加夜间模式,处理夏令时的变化)。
  • 将应用打包为独立可执行文件,以便在树莓派上轻松启动。
  • 完整记录设置过程(安装依赖、配置触摸屏等)。

敬请期待下一篇文章,我将在其中分享最终代码、安装步骤以及 Time‑Zone Clock 实际运行的演示!

项目概述

LLM 知道关于你的想法的一切,就像你自己一样。
要获得最佳结果,你应该:

  1. 从一开始就在提示中解释细节——向模型提供所有必要的数据,以便它能快速、准确地把握想法。
  2. 在进行中进行更改——对设计和功能进行迭代。

Version 1 的更改

#更改详细信息
1时区顺序将显示的时区重新排序,使 EST 出现在底部。
2突出显示 EST为 EST 时区添加了视觉突出显示。
312/24 小时切换在屏幕上放置了一个按钮,以在 12 小时制和 24 小时制之间切换。
4退出方式长按触摸屏(或鼠标按下)即可退出应用,省去右上角退出按钮,使 UI 更简洁。
5方向将原点设置为水平。(后来发现方向遵循操作系统设置,因此不需要代码更改。)

实施这些更新后,我将脚本加载到 Raspberry Pi 上并运行了 Version 1

初步印象

  • 简洁性 – 该应用即插即用;无需进行无止境的测试。
  • 功能性 – 时间显示正确,屏幕保持点亮直至应用关闭,12/24 小时切换按钮正常工作,长按退出功能如预期。

现在我只需要:

  • 为 7 英寸显示屏调整字体大小。
  • 添加夜间模式功能。

第二波更改

  1. 调节字体大小 – 为精确的7‑英寸屏幕进行优化。
  2. 夜间模式 – 在 22:00 – 06:00 之间自动启用。
  3. 夜间模式颜色 – 夜间模式激活时将字体颜色切换为 琥珀色

注意: “Pi 已就绪!明白了吗?不?好吧…”。

下一步

  • 创建一个桌面图标可执行文件,这样我就不必每次想运行应用时都在树莓派上打开文本编辑器。
  • 我会分享一个包含安装说明的仓库(完整脚本对这篇博客文章来说太长了)。

反思与经验教训

  • 小问题:

    • ChatGPT 有时会要求澄清或尝试重写整个脚本,而不是让我手动编辑。
    • 出现了文件权限和文件转换问题。
  • 未来想法:

    • 将应用迁移到 Proxmox 环境。
    • 改善对更大显示屏和 Windows 的兼容性(当前为 Linux 7 英寸屏幕构建)。

代码库与资源

一个包含代码、安装说明和已知问题的仓库链接将在下方提供,供想要自行尝试的人使用。

最后说明

如果你读到这里——谢谢!我在构建这个项目和撰写相关内容时玩得很开心。我希望自己能更早开始,并且对未来发布更多博客感到兴奋。

Back to Blog

相关文章

阅读更多 »