我让我的 AI 提醒我喝水,它却做出了一个产品。
Source: Dev.to
我在编码会话进行到 62 分钟时,向我的 AI 助手询问:
“你真的有提醒我喝水的规则吗?”
它有。但它对此无能为力——AI 只能在你和它对话时作出响应,无法推送通知。
喝水是大家都知道应该做却在深度工作时往往做不到的事。所以我们没有依赖 AI 无法强制执行的规则,而是构建了一个可以做到的工具。
这段对话在不到 30 分钟 内就变成了一个开源产品。
没有人谈论的问题
开发者都知道应该保持水分。我们会安装应用、设置手机计时器、购买时尚的水瓶。但当你沉浸在代码中时,你会忽视一切:
- 手机震动?忽略。
- 浏览器标签页的通知?关闭而不阅读。
你无法忽视的是一个位于所有内容之上的窗口,除非点击确定它才会消失。
从请求到脚本(5 分钟)
我说:
“编写一个 PowerShell 脚本,每 40 分钟显示一次弹出窗口。”
AI 的第一个版本使用了 Windows 气球通知——那种出现在右下角的微型 toast。我进行了测试。
它会在 5 秒后自行消失。 没用。
🧑 “把窗口放大 5 倍。”
AI 将通知方式从气球通知改为 WinForms——一个带暗色主题、居中显示、TopMost = $true 的正式 GUI 窗口。再也不会错过提醒了。
脚本:90 行 PowerShell
整个程序只有一个文件 — water‑reminder.ps1:
param(
[int] $Interval = 40,
[string] $Title = "Water Reminder",
[string] $Message = "Drink a glass of water!",
[string] $Subtitle = "Take a 10 minute break",
[char] $Emoji = [char]::ConvertFromUtf32(0x1F4A7),
[int] $Width = 500,
[int] $Height = 300
)
每个参数都可以配置。想要每 25 分钟提醒一次伸展?或者番茄工作法的休息计时?只需修改参数:
powershell -File water-reminder.ps1 -Interval 25 -Message "Stretch!" -Title "Break Time"
暗色 UI
弹窗使用暗色主题,避免在深夜使用时刺眼:
- 背景色:
rgb(30, 30, 40)— 几乎是黑色 - 强调色:
rgb(100, 180, 255)— 柔和的蓝色 - 排版: Segoe UI,顶部带有 48 pt 的表情符号

没有 Electron。没有 Node。没有额外依赖。仅使用 PowerShell 和随每个 Windows 安装一起提供的 .NET 程序集。
循环
while ($true) {
Start-Sleep -Seconds ($Interval * 60)
$count++
$time = Get-Date -Format "HH:mm:ss"
Write-Host "[$time] Reminder #$count"
Show-Reminder
}
就是这样。睡眠 → 弹出 → 重复。计数器会记录到控制台,这样你就能看到今天已经收到多少次提醒。
Source: …
从脚本到产品(20 分钟)
在测试了几分钟后,我说:“把它做成产品,让其他人也能使用。”
AI:
- 创建了具有正确结构的项目文件夹。
- 编写了 README(见仓库),遵循我的 readme‑guidelines。
- 添加了 MIT 许可证。
- 创建了
ARCHITECTURE.md,记录了每个参数。 - 将项目发布到 GitHub,并添加了便于发现的主题标签。
发布的单行命令:
gh repo create water-reminder --public --source=. --push \
--description "Desktop reminder to drink water and take breaks"
VS Code 自动启动(最佳部分)
我不想每天早上记得启动脚本,于是我添加了一个 VS Code 任务,在打开工作区时自动启动它:
{
"label": "Water Reminder",
"type": "shell",
"command": "powershell -File water-reminder.ps1",
"presentation": { "reveal": "silent", "panel": "dedicated" },
"isBackground": true,
"runOptions": { "runOn": "folderOpen" }
}
打开 VS Code → 提醒在后台终端中静默启动 → 40 分钟后弹出第一次提示。
一次性激活: Ctrl+Shift+P → Tasks: Manage Automatic Tasks in Folder → Allow。
我真正学到的
-
最好的工具首先解决你自己的问题。
我并不是想要打造一个产品。我只是想要一个可靠的提醒,在长时间编码时提醒我喝水。产品是次要的。 -
AI 不能弥补缺失的基础设施。
我的 AI 有提醒我喝水的规则,但它实际上无法推送通知。认识到“能力”和“基础设施”之间的差距才是真正的技能。 -
PowerShell 在桌面实用工具方面被低估了。
无需安装。无依赖。无构建步骤。双击即可在自 Windows 7 起的所有 Windows 机器上运行。对于小工具来说,这比 Electron 快约 100 倍。 -
将脚本产品化只需 20 分钟,而不是 2 天。
README + LICENSE + GitHub 仓库 + 主题 = 开源实用工具的最小可行产品。如果你的工具能用,就发布吧。
试一试
git clone https://github.com/maximosovsky/water-reminder.git
powershell -File water-reminder.ps1
如果你忘记喝水,也给仓库点星吧:
公开构建,一次一个实用工具。
关注旅程: LinkedIn · GitHub
[https://github.com/maximosovsky](https://github.com/maximosovsky)