话题标签:#WorkBuddy #AI办公 #零代码 #运维

起因是一个「待办.txt」

我的桌面上有个文件,叫「待办.txt」。

每天早上打开电脑,第一件事是双击它。里面写着今天要干的事,一行一条:审发布窗口、跟进备份告警、给巡检脚本补日志、回客户的工单。做完的在前面打个 x。

它一开始只有 5 行。现在 30 多行。划掉的我不敢删——干运维的都有这个毛病,万一哪天要回查"这事我到底办没办"呢?新加的一直往下堆,堆到我自己都不愿意往下翻。

中间我认真试过几次"正经工具"。Notion 折腾过,滴答清单装过,微软 To Do 用了两周。它们都很好。问题是:为了记"给客户回个电话"这件事,我要先注册账号、手机上多一个图标、开始收它的推送、开始思考它的标签体系怎么设计——最后我的待办列表,变成了另一个需要我维护的系统。

我一个天天喊"能自动化的不要手工、能简单的不要复杂"的人,在自己的待办管理上活得特别拧巴。

真正让我下决心的是上个月。我在手机备忘录里语音记了一条:"明天下午三点提醒我给客户回电话。"

它非常乖巧地把这句话转成了文字,存了下来。

然后第二天下午三点,什么也没发生。

那一刻我在想:我要的其实特别简单——一个能记待办的、打开就能用的、数据攥在我自己手里的、不会变成第二个系统的小东西。

我的技术边界,我自己清楚

我能不能自己做?

这个念头冒出来的时候,我先掂量了一下自己的斤两。

我干运维八年。命令行是吃饭的家伙,shell 脚本写了几百个,看日志、排故障、写 crontab 是日常。SQLite 我也熟——公司好几个内部小系统的后端就是它,sqlite3 命令行我用得比图形界面还顺。

但"网页应用"这四个字,对我来说是另一个世界。我上一次写 HTML 还是大学选修课,那个网页的背景是紫色的,标题写着"Hello World"。CSS、JavaScript、DOM,这些词我全认识,连在一起就不知道在说什么了。

让我从零学前端?我知道那意味着什么:先花两周理解 DOM,再花两周搞明白什么叫事件和状态,然后在我真正开始做待办清单之前,热情已经用完了。

所以这个念头本来应该被我自己掐死。

它没被掐死,是因为今年年初我装了 WorkBuddy。

前几次用得很"正经"

说实话,一开始我完全没把它当"开发工具"。

我用它干的都是运维的活:把一周的告警日志整理成表格、把零散的巡检记录拼成周报、把一份六十页的产品文档提炼成三条结论。挺顺手,但我对它的定位就是"高级一点的文档助手"。

直到有一天我在等一个变更窗口,闲着没事,随手在输入框里打了一句:

帮我写一个能在浏览器里打开的待办清单,要求能加、能删、能打勾。先做交互,数据存储下一轮再加。

我故意没让它一步到位——干运维的习惯,变更要分期,先上最小集。

几十秒后,它给了我一个文件,后缀是 .html。

我双击,浏览器打开了。一个输入框、一个加号、下面几行空白。

我打了一行字,按回车,它出现了。我打了个勾,它被划掉了。

我按了 F5。它没了——这个我预期之内,我自己排的期,没让它做存储。

但我盯着这个页面看了半分钟,心里冒出来的那句话不是"AI 好厉害"。

那句话是:等等,这个文件就在我电脑上,那我是不是可以随便改它?

先给你看看它最后长什么样

从那天起,我断断续续改了两个月。今天它长这样:

!成品主界面:电脑浏览器里的待办应用](../todo-app/screenshots/01-主界面.png)

添加一条待办:输入文字后展开优先级、截止日期、分类选项 手机浏览器打开同一个链接,自适应竖屏 它能干的事,一样一样说:

  • 加待办、删待办、双击改内容、打勾完成——基础功能
  • 数据存在一个真正的 SQLite 数据库里——不是我看不见的黑盒,是行是列、字段叫什么,一清二楚
  • 一键导出 .sqlite 文件,我拿 sqlite3 命令行就能打开看、拿去备份——数据攥在我自己手里,这条对同行来说是决定性的
  • 给每条待办标优先级(高/中/低),高优先级的排最上面
  • 设置截止日期,逾期的自动标红,今天到期的单独提醒
  • 分类(工作/家里/学习)+ 分类筛选
  • 搜索——30 多行的待办终于不用靠眼睛找了
  • 完成率统计,今天到底干了多少活,进度条说话
  • 深色模式——夜班标配
  • 最重要的:它有一个网址,发给我老婆,她手机上点开就能用

一个写了八年 shell 的人,没写一行前端代码,做出了上面这些东西,还把它放到了公网上。这个系列就讲这一件事是怎么发生的。

为什么这次我信了

我踩过很多 AI 工具的坑,所以必须先说清楚它和我以前用的网页版 AI 有什么不一样。这个区别决定了"我能不能自己做 App"这件事成不成立。

我用过的网页版 AI WorkBuddy
它给我什么 一段回答、一段代码文本 一个实实在在的文件,在我电脑上
我能拿它干嘛 复制、粘贴、自己去处理 双击就能打开,直接用
我说"这里改一下" 它重新给一整段代码,我自己对着改 它直接改那个文件,我刷新就看到
它能不能碰我的东西 不能,我上传什么它看什么 我授权的文件夹,它能读、能写、能新建
做完一件事的状态 我看完那段文字,然后呢? 我有一个东西了

最后一行是关键。

以前用 AI,对话结束的那一刻,我手上什么都没多出来。现在用 AI,对话结束的那一刻,我的文件夹里多了一个能跑的东西。

这不是"AI 变强了",这是交付物变了。前者是顾问,后者是同事。

还有一个运维视角的原因:这个东西的形态太友好了。单文件 HTML,不装服务、不占端口、没有依赖、不用配环境。我这些年见过太多"明明功能很简单、部署却要脱层皮"的东西。一个双击就能跑的文件,对我这种见了环境配置文档就头皮发麻的人,是真的友好。

为什么第一个项目选「待办事项」

选项目这步我认真想过,因为第一个项目的成败直接决定我还会不会做第二个。选待办,三个理由:

第一,需求我自己熟。一个待办应用该有什么,我不需要调研、问人、看竞品。我唯一要学的是"怎么把它做出来",不用同时学"应该做成什么样"。第一次和 AI 协作做东西,一次只学一件事非常重要。

第二,做完我真的会用。如果做出来的东西我自己都不用,这项目就没有验收标准。我桌面上的「待办.txt」还等着被替代,这让我有动力把最后一个 bug 修掉。

第三,复杂度刚刚好。再加点就是"能学但学不完",再减点就是"太简单学不到东西"。它能让我把完整流程走一遍:提需求 → 拿到第一版 → 发现问题 → 换真数据库 → 加功能 → 弄崩 → 修好 → 美化 → 上线。这八步,做任何一个真实软件都一样。

这 12 篇会怎么走

我不打算写成手册。手册我看不下去,你大概也看不下去。

我写成流水账:我遇到什么、怎么想的、怎么试的、哪里卡了、最后怎么过的。整个过程分四幕:

第一幕 · 起步(第 1-3 篇)——装好软件,把免费额度领到手,认识三种模式,学会怎么跟它说话。这一幕结束时,你手上还是个空文件夹,但你已经不怕它了。

第二幕 · 造出来(第 4-6 篇)——把脑子里那团模糊的"我想要个待办应用"翻译成它能听懂的需求;拿到第一版;然后是整个系列我最来劲的一段:我坚持把数据从"黑盒"换成真正的 SQLite。这一幕结束时,你手上有一个能用的、数据攥在自己手里的东西了。

第三幕 · 打磨(第 7-10 篇)——加截止日和分类、美化界面、有一次我把它改崩了又救回来、最后加数据统计和导出。最像真实开发的部分。

第四幕 · 上线(第 11-12 篇)——把它从我电脑里放出去,拿到一个谁点都能用的链接。最后一篇结账。

这 12 篇里有两件事我会一直做:

一是每篇末尾都有"积分账本",写明这一篇消耗了多少免费额度、通过投稿又赚回多少。这个系列的核心承诺是全程零付费,这个承诺我不打算嘴上说说,账摊开给你看。

二是每篇的提示词单独整理成卡片,你可以整段复制去用,不用从我的行文里挑关键词。

你需要准备什么

需要:

  • 一台电脑(Windows 10/11 或 macOS,我用 Windows)
  • 一个微信或 QQ 账号(扫码登录用)
  • 每天或每周 15-30 分钟
  • 一个你真的想解决的小需求(不一定是待办,看完系列你就知道怎么换)

不需要:

  • ❌ 不需要会前端,一行 HTML 我都没手写
  • ❌ 不需要买服务器
  • ❌ 不需要买域名
  • ❌ 不需要充值,一分钱都不用
  • ❌ 不需要背命令行(虽然你会的话,后面有一篇会让你会心一笑)

最后说说"不需要充值"这句我怎么敢讲。这个系列每篇都记积分账——花多少、赚回多少,等你看完第 12 篇的总账,自己判断。

下一篇,是最容易卡住的一篇

如果我现在装作一切顺利,那我就是在骗你。

下一篇讲下载、安装、登录、领额度。看起来最没技术含量,实际上是我见过最多人卡住的一篇。三个坑:

  • 下载环节:搜索引擎第一个结果经常是第三方下载站,装完发现是别的东西。我这个见了来路不明的二进制就警惕的人,都差点中招
  • 登录环节:这一步做错了,后面你辛苦投稿赚的积分一分都拿不到,而且现在不报错,发现时已经晚了
  • 领额度环节:很多人装完以为额度自动到账,等了三天发现是零

三个坑我全踩过。下一篇一个个带过去。