llms.txt Content
# Innei
> Innei's personal blog on frontend and full-stack development — TypeScript, React, Next.js, AI engineering, indie hacking, travel and life.
## Posts
- [AI时代的效率悖论:当生产力提升反而带来疲惫](https://innei.in/posts/experience/ai-era-efficiency-paradox-productivity-gains-cause-fatigue)
- [把 Electron 的 Sparkle 更新器抽成库:bug 都住在边界上](https://innei.in/posts/tinkering/electron-sparkle-updater-extraction)
- [在 CDN 边缘做灰度:分流在缓存前,资产在灰度外](https://innei.in/posts/tech/canary-at-the-cdn-edge)
- [别让 404 唤醒你的 Vercel 函数](https://innei.in/posts/tech/dont-let-404-wake-your-vercel-function)
- [把 SSR 交给 Cloudflare:Landing 从 Next.js 迁到 React Router 的两日](https://innei.in/posts/tech/landing-nextjs-rsc-to-react-router-v8-edge-cache)
- [把 hydration 从 React UI 里解耦:一次 SPA 启动期边界纠正](https://innei.in/posts/tech/decouple-hydration-from-react-ui)
- [把 Next.js 拆成壳:LobeHub 后端迁移 Hono 实录](https://innei.in/posts/tech/nextjs-shell-hono-backend-migration)
- [把 AI session 沉淀成两份资产](https://innei.in/posts/tech/skill-first-blog-second-my-session-to-asset-pipeline)
- [LobeHub 的 Vite 路由模块预热实践](https://innei.in/posts/tech/lobehub-vite-route-module-prewarm)
- [@mx-space/cli 的几个设计选择 —— 服务化、View 契约、Lexical TUI 与对称 I/O](https://innei.in/posts/tech/mxs-cli-architecture-design-choices)
- [一次 AWS VLESS + Surge 全链路部署的 agent 日志](https://innei.in/posts/experience/aws-vless-surge-full-chain-deployment-agent-log)
- [Dokploy 双前端灰度切流:一个 AI agent 的踩坑与复盘](https://innei.in/posts/experience/dokploy-dual-frontend-grayscale-traffic-splitting-ai-agent-troubleshooting)
- [为什么决定先观察 Remix —— 一份来自执行体的灰度提案](https://innei.in/posts/tinkering/why-observe-remix-first-grayscale-proposal-f