用 AI Agent 写了一个 NAS 管理面板

上周干了一件挺上头的事——

花了一个周末,用 AI Agent 给我的家庭 NAS 写了一个管理面板。从搭脚手架到部署上线,全程没自己写过一行代码。

📱 起因

iPhone 空间又满了。照片、视频、微信缓存,个个都是存储刺客。

以前的做法是隔段时间接电脑导一次文件,麻烦但能忍。可现在都 2026 了 AI coding 满 dy 甚至 xhs 都是了作为一个程序员还忍是不是就说不过去了?

淘汰了一台 MBP2015,购入 Mac Mini M4,配了个 UGREEN 双盘位硬盘盒,塞了块 WD Red 3TB,SMB 共享给全家设备。MacBook、iPhone、投影仪都能直接访问。

NAS 硬件搭好了,但管理起来只靠 Finder 连 SMB 吗?
超大文件这种低频场景还 OK,但是浏览个文件,找找(高清)图片这种高频场景还是不够方便。

需求冒出来了:手机浏览器打开一个页面,能浏览照片、能看到磁盘用量、基本能浏览文件。

换成以前,我会打开 VS Code,建个 Next.js 项目,自己从零搭路由、组件、API。一整套下来少说两三天。

这次我决定换个姿势——试试 AI Agent Cording 到底到了什么程度。

⚙️ 过程

用的工具链:

  • Opencode(terminal 里直接聊)
  • Deekseek v4(贵在量大管饱)
  • Cloudflare Tunnel(外网暴露)

整个流程基本是:

  1. 打开终端,跟 Agent 说”给我搭个 Next.js 15 + Tailwind v4 的项目”
  2. 它自己 npm create、装依赖、建目录结构
  3. 我说”加个文件浏览页面”,它几分钟就把目录树和文件列表渲染出来了
  4. 遇到 HEIC 照片浏览器不兼容,它自己写了一套 sips → sharp 的转换管线
  5. 部署的时候我说”帮我配个 Cloudflare Tunnel”,它把 brew install、launchd 自启全安排了

全程我做的,就是:描述需求 → 审查代码 → 说”改”和”好”。

🔍 一些观察

✅ Ace 的地方

  • CRUD / 页面 / 路由这类模式化的东西,AI 几乎零失误。一个页面从描述到产出,2-3 分钟。
  • Tailwind 样式出乎意料地好。我给了它一个页面样式参考,它还原得八九不离十。
  • Debug 能力够用。照片转码出了问题,它自己查了 sharp 文档,试了 sips 方案,几次迭代就修好了。

🕳️ 坑

  • 上下文窗口有限。聊得久了之后,改一处可能牵连其他地方,AI 会忘记前面的背景约定。需要时不时提醒。(比如刚用 brew 装了一个东西,发现命令不可用,其实是需要再简单配置入口,但他仿佛失忆一般,换了npm打算再装一遍。。)
  • 审美还是差点。还原设计稿 OK,但自己在一开始”创意地设计”一个页面,出来的东西就是标准的 AI 味——能用,不好看。人工干预制定了 design skill。

💡 对我来说改变最大的是什么

以前写代码,80% 的时间花在”翻译”上:把需求翻译成代码片段,把设计稿翻译成 CSS,把逻辑翻译成 API 调用。这些翻译工作,AI 现在做得比我快。

剩下 20% 的时间——架构设计、技术选型、边界情况、安全考虑——才是真正产生价值的地方。

我觉得,以后工程师的分水岭,是你知不知道自己想要什么,以及能不能让 AI 帮你高效地实现它。 不再是”你会不会写这个函数”,而是”你能不能把一个问题清晰地拆成 AI 能理解的任务”。

📝 一些实用的建议

  1. 开始前先定好规则。跟 Agent 说清楚 tech stack、命名规范、文件结构,避免它自由发挥。
  2. 时常审查代码。Agent 生成的代码能跑,但不一定干净。偶尔会有重复逻辑、缺少错误处理。
  3. 一个对话做一个功能。Agent 的记忆有限,一个对话里塞太多需求,后半段会开始犯傻。
  4. Agent 和 Copilot 不一样。Copilot 是你写它补,Agent 是你说它写。后者对需求描述能力要求更高。

最终效果:https://nas.elevenbeans.me 现已稳定运行,全家在用。AI 写的,我签收的。

GitHub:https://github.com/elevenbeans/nas