Now vibe coding, so learning hammer FE ?
《用 AI 定制框架替换 Next.js:一个静态网站的“超个性化”重构实验》
标签:
#Web开发 #前端工程 #AI辅助编程 #NextJs #静态网站 #自定义框架 #性能优化 #Vercel部署
总结:
作者 Max Leiter 用 Claude Code(Fable 5 架构、Opus 实现)在约 3 小时内把个人博客从 Next.js 迁移到了一个为站点量身定制的静态构建框架。新方案把全站编译成纯 HTML,按需加载少量 Preact islands,结果页面体积、Lighthouse 分数、构建时间全面大幅优于 Next.js;代价是放弃了框架生态的无数隐性优化,后续维护与安全问题也由自己承担。
文章要点:
1. 作者让 AI “按需造一个比 Next.js 更快的专属框架”,核心思路是只保留这个网站真正用到的 Next.js 功能,而不是继续背着整个框架跑。
2. 新框架本质上是一个构建脚本:读取文章目录,用 React 在服务端渲染每条路由为静态 index.html,再按 Vercel Build Output API 输出,M2 MacBook 上热构建只要约 0.5 秒。
3. 性能提升非常夸张:首页 JS 从 208 KB 降到 2.3 KB(约 -99%),移动端 LCP 从 2.4 秒降到 1.3 秒,整页重量从 1153 KB 降到 78 KB,Lighthouse 直接冲到 100 分。
4. 博客文章页同样收益明显:HTML 更小、JS 只剩 2.3 KB,移动端 LCP 从 2.2 秒降到 1.1 秒,页面重量从 405 KB 降到 57 KB,软导航也改成更轻的 partial/prerender 方案。
5. 交互没有消失,而是改成“islands”模式:桌面窗口管理器和命令面板用 Preact 组件按需水合,命令面板首次按 Cmd+K 才加载,Preact 兼容层只有约 7 KB,比 React 的 52 KB 轻很多。
6. 构建链路保留原有体验:MDX 仍在构建期用同一套 remark/rehype 插件编译,shiki 在构建时同时输出两套主题的代码高亮,所以切换主题不需要额外 JS。
7. AI 还写了一个“parity harness”,对旧站 101 条路由做快照,对比 head、正文和代码块,结果抓出了 8 篇未发布文章泄漏进 RSS、以及一张 404 的 OG 图这类真实问题。
8. 整个实验花费约 669 美元,API 运行 8 小时 27 分,代码新增 20914 行、删除 2022 行,大约用掉 Claude Code 20x 订阅额度的 10%。
9. 作者认为这种做法的意义在于“只 vendor 你真正需要的东西”:框架被压缩到约 5000 行,人和模型都更容易审查,也能减少供应链攻击面。
10. 缺点也很直白:Next.js 里成百上千个小优化和边界处理 AI 未必都知道或能复现;没有现成的 agent 工具链集成;安全修复不再自动从上游来;而且网站一旦有问题,bug、安全、功能需求都归你自己管。
11. 文章还记录了两个浏览器层面的坑:Chrome 的跨文档 view transitions 会因 head 里的外部 module script 静默跳过入场动画,所以 runtime 必须内联;Safari 对 Speculation Rules 的 feature detection 需要同时检查 API 支持和 document.prerendering。
12. 作者最后判断:未来可能会出现更多“vendoring”和 agentic rewrite,也就是所谓“slop forks”;更激进的猜测是,框架本身可能会消亡,因为框架真正值钱的是沉淀下来的庞大知识,而这些知识未来可能被蒸馏成 skills 或某种新标准。
URL:
https://maxleiter.com/blog/thank-u-next
标签:
#Web开发 #前端工程 #AI辅助编程 #NextJs #静态网站 #自定义框架 #性能优化 #Vercel部署
总结:
作者 Max Leiter 用 Claude Code(Fable 5 架构、Opus 实现)在约 3 小时内把个人博客从 Next.js 迁移到了一个为站点量身定制的静态构建框架。新方案把全站编译成纯 HTML,按需加载少量 Preact islands,结果页面体积、Lighthouse 分数、构建时间全面大幅优于 Next.js;代价是放弃了框架生态的无数隐性优化,后续维护与安全问题也由自己承担。
文章要点:
1. 作者让 AI “按需造一个比 Next.js 更快的专属框架”,核心思路是只保留这个网站真正用到的 Next.js 功能,而不是继续背着整个框架跑。
2. 新框架本质上是一个构建脚本:读取文章目录,用 React 在服务端渲染每条路由为静态 index.html,再按 Vercel Build Output API 输出,M2 MacBook 上热构建只要约 0.5 秒。
3. 性能提升非常夸张:首页 JS 从 208 KB 降到 2.3 KB(约 -99%),移动端 LCP 从 2.4 秒降到 1.3 秒,整页重量从 1153 KB 降到 78 KB,Lighthouse 直接冲到 100 分。
4. 博客文章页同样收益明显:HTML 更小、JS 只剩 2.3 KB,移动端 LCP 从 2.2 秒降到 1.1 秒,页面重量从 405 KB 降到 57 KB,软导航也改成更轻的 partial/prerender 方案。
5. 交互没有消失,而是改成“islands”模式:桌面窗口管理器和命令面板用 Preact 组件按需水合,命令面板首次按 Cmd+K 才加载,Preact 兼容层只有约 7 KB,比 React 的 52 KB 轻很多。
6. 构建链路保留原有体验:MDX 仍在构建期用同一套 remark/rehype 插件编译,shiki 在构建时同时输出两套主题的代码高亮,所以切换主题不需要额外 JS。
7. AI 还写了一个“parity harness”,对旧站 101 条路由做快照,对比 head、正文和代码块,结果抓出了 8 篇未发布文章泄漏进 RSS、以及一张 404 的 OG 图这类真实问题。
8. 整个实验花费约 669 美元,API 运行 8 小时 27 分,代码新增 20914 行、删除 2022 行,大约用掉 Claude Code 20x 订阅额度的 10%。
9. 作者认为这种做法的意义在于“只 vendor 你真正需要的东西”:框架被压缩到约 5000 行,人和模型都更容易审查,也能减少供应链攻击面。
10. 缺点也很直白:Next.js 里成百上千个小优化和边界处理 AI 未必都知道或能复现;没有现成的 agent 工具链集成;安全修复不再自动从上游来;而且网站一旦有问题,bug、安全、功能需求都归你自己管。
11. 文章还记录了两个浏览器层面的坑:Chrome 的跨文档 view transitions 会因 head 里的外部 module script 静默跳过入场动画,所以 runtime 必须内联;Safari 对 Speculation Rules 的 feature detection 需要同时检查 API 支持和 document.prerendering。
12. 作者最后判断:未来可能会出现更多“vendoring”和 agentic rewrite,也就是所谓“slop forks”;更激进的猜测是,框架本身可能会消亡,因为框架真正值钱的是沉淀下来的庞大知识,而这些知识未来可能被蒸馏成 skills 或某种新标准。
URL:
https://maxleiter.com/blog/thank-u-next
《Mirage:AI Agent的统一虚拟文件系统》
标签:#AI_Tools #AI_Agent #文件系统 #Python #TypeScript #SDK #S3 #Slack #GitHub #Redis #缓存 #OpenAI #Vercel_AI_SDK #LangChain
总结:
Mirage 是一个专为 AI Agent 设计的统一虚拟文件系统,它将 S3、Google Drive、Slack、Gmail、Redis 等数十种后端服务挂载到同一棵文件树下。Agent 只需用熟悉的 Unix/bash 工具(如 grep、cat、cp)就能跨服务读写数据,无需学习 N 个 SDK 或 MCP。支持 Python/TypeScript SDK 和 CLI,可嵌入 FastAPI、Express 等应用,并内置双层缓存(索引缓存 + 文件缓存)减少网络开销,兼容 OpenAI Agents SDK、Vercel AI SDK、LangChain 等主流框架。
文章要点:
- 统一挂载,万物皆文件:把 S3、GDrive、Slack、GitHub、MongoDB、Redis 等后端并排挂载到同一个根目录下,Agent 看到的始终只有一棵树
- 零学习成本:任何懂 bash 的 LLM 都能直接上手,用
- 双层缓存省流量:自带索引缓存(目录列表)和文件缓存(对象字节),默认用内存,也可切 Redis 共享给多进程/多机器
- 多语言 SDK + CLI:提供 Python 和 TypeScript(Node / Browser / Core)SDK,以及轻量 CLI,可嵌入你的 FastAPI、Express 或浏览器应用
- 主流框架即插即用:已适配 OpenAI Agents SDK、Vercel AI SDK、LangChain、Pydantic AI、CAMEL、OpenHands 等
- 工作空间可移植:支持克隆、快照、版本化管理,Agent 运行环境能在机器间迁移而不必重新配置
文章URL:https://github.com/strukto-ai/mirage
标签:#AI_Tools #AI_Agent #文件系统 #Python #TypeScript #SDK #S3 #Slack #GitHub #Redis #缓存 #OpenAI #Vercel_AI_SDK #LangChain
总结:
Mirage 是一个专为 AI Agent 设计的统一虚拟文件系统,它将 S3、Google Drive、Slack、Gmail、Redis 等数十种后端服务挂载到同一棵文件树下。Agent 只需用熟悉的 Unix/bash 工具(如 grep、cat、cp)就能跨服务读写数据,无需学习 N 个 SDK 或 MCP。支持 Python/TypeScript SDK 和 CLI,可嵌入 FastAPI、Express 等应用,并内置双层缓存(索引缓存 + 文件缓存)减少网络开销,兼容 OpenAI Agents SDK、Vercel AI SDK、LangChain 等主流框架。
文章要点:
- 统一挂载,万物皆文件:把 S3、GDrive、Slack、GitHub、MongoDB、Redis 等后端并排挂载到同一个根目录下,Agent 看到的始终只有一棵树
- 零学习成本:任何懂 bash 的 LLM 都能直接上手,用
grep、cat、cp、wc 这些经典命令跨服务操作,不用记新 API- 双层缓存省流量:自带索引缓存(目录列表)和文件缓存(对象字节),默认用内存,也可切 Redis 共享给多进程/多机器
- 多语言 SDK + CLI:提供 Python 和 TypeScript(Node / Browser / Core)SDK,以及轻量 CLI,可嵌入你的 FastAPI、Express 或浏览器应用
- 主流框架即插即用:已适配 OpenAI Agents SDK、Vercel AI SDK、LangChain、Pydantic AI、CAMEL、OpenHands 等
- 工作空间可移植:支持克隆、快照、版本化管理,Agent 运行环境能在机器间迁移而不必重新配置
文章URL:https://github.com/strukto-ai/mirage
《Portless:告别端口号的本地开发代理工具》
标签:#开发工具 #本地开发 #DevServer #HTTPS #Monorepo #Turborepo #Vercel
总结:
Portless 是 Vercel Labs 推出的本地开发代理工具,用
文章要点:
- 一键替换端口号:把
- 开箱即用的 HTTPS/HTTP/2:首次运行自动生成本地 CA 并加入系统信任,浏览器零警告;HTTP/2 多路复用解决 Vite 等开发服务器大量并发请求的性能瓶颈
- 框架零配置适配:自动识别 Next.js、Express、Nuxt、Vite、Astro、Expo 等框架,通过
- Monorepo 与 Turborepo 原生支持:通过
- Git Worktree 智能隔离:自动检测 Git Worktree,用分支名作为子域名前缀,避免多个工作区端口冲突,无需额外配置
- 多场景网络共享:LAN 模式通过 mDNS 让手机等设备访问
- 灵活的子域名与自定义域名:支持
文章URL:https://github.com/vercel-labs/portless
标签:#开发工具 #本地开发 #DevServer #HTTPS #Monorepo #Turborepo #Vercel
总结:
Portless 是 Vercel Labs 推出的本地开发代理工具,用
https://myapp.localhost 这类稳定命名 URL 彻底取代难记的端口号。它默认开启 HTTPS + HTTP/2,自动分配端口并适配 Next.js、Vite、Astro 等主流框架,支持 Monorepo 多包路由、Git Worktree 自动子域名、LAN 内网共享及 Tailscale 团队协作,让本地开发环境对人类和 AI 代理都更加友好。文章要点:
- 一键替换端口号:把
localhost:3000 变成 https://myapp.localhost,告别记端口的烦恼,对人类可读、对 AI 代理也更友好- 开箱即用的 HTTPS/HTTP/2:首次运行自动生成本地 CA 并加入系统信任,浏览器零警告;HTTP/2 多路复用解决 Vite 等开发服务器大量并发请求的性能瓶颈
- 框架零配置适配:自动识别 Next.js、Express、Nuxt、Vite、Astro、Expo 等框架,通过
PORT 环境变量或自动注入 --port/--host 参数,无需手动改配置- Monorepo 与 Turborepo 原生支持:通过
portless.json 或 package.json 的 portless 字段统一管理多包路由,如 api.myapp.localhost 和 web.myapp.localhost,与 Turborepo 无缝集成- Git Worktree 智能隔离:自动检测 Git Worktree,用分支名作为子域名前缀,避免多个工作区端口冲突,无需额外配置
- 多场景网络共享:LAN 模式通过 mDNS 让手机等设备访问
.local 域名;Tailscale 集成支持团队内网共享,甚至通过 Funnel 一键暴露到公网- 灵活的子域名与自定义域名:支持
api.myapp.localhost 等子域名组织服务,也可切换 .test 等自定义 TLD,自动同步 /etc/hosts 保证 Safari 兼容文章URL:https://github.com/vercel-labs/portless