我让我的 AI 提醒我喝水,它却做出了一个产品。

发布: (2026年2月23日 GMT+8 01:09)
6 分钟阅读
原文: Dev.to

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 的表情符号

Water Reminder 弹窗

没有 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:

  1. 创建了具有正确结构的项目文件夹。
  2. 编写了 README(见仓库),遵循我的 readme‑guidelines
  3. 添加了 MIT 许可证。
  4. 创建了 ARCHITECTURE.md,记录了每个参数。
  5. 将项目发布到 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+PTasks: Manage Automatic Tasks in FolderAllow

我真正学到的

  1. 最好的工具首先解决你自己的问题。
    我并不是想要打造一个产品。我只是想要一个可靠的提醒,在长时间编码时提醒我喝水。产品是次要的。

  2. AI 不能弥补缺失的基础设施。
    我的 AI 有提醒我喝水的规则,但它实际上无法推送通知。认识到“能力”和“基础设施”之间的差距才是真正的技能。

  3. PowerShell 在桌面实用工具方面被低估了。
    无需安装。无依赖。无构建步骤。双击即可在自 Windows 7 起的所有 Windows 机器上运行。对于小工具来说,这比 Electron 快约 100 倍。

  4. 将脚本产品化只需 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)
0 浏览
Back to Blog

相关文章

阅读更多 »