Epoch: Where conversations become interfaces.
以下内容包含AIGC
技术偏好的妥协
有点讽刺,一直以来我都坚持用 Vue 做前端开发,偶尔玩过 Svelte(还是 v3 的时代,2022 年前后,现在都 v5 了)。对 React 的 JSX 语法一直挺反感的,总觉得是反模式 —— 把 HTML 写在 JS 里,这不是倒退吗?
但最近 fork 了一个项目 Epoch,虽然是 React 写的,我却特别喜欢它的想法:把 LLM 的文字回答转化成可交互的界面。传统的 AI 对话就是一问一答的文字流,而 Epoch 让 AI 直接生成图表、卡片、表单、画廊这些可点击、可操作的组件,对话变成了真正的”界面”。
在 AI 时代,个人的技术偏好已经不那么重要了。因为 AI 会帮你写代码,越热门的技术越容易实现 —— 用的人多,模型训练语料就越丰富。React 生态这么大,让 Claude Code 帮我在原项目基础上做改进,简直不要太顺滑。
我也试过让 Opus 4.6 帮我把项目重构到 Svelte 5,但进展不太顺利,个别组件的 UI 差异比较大,还原度不高,暂时搁置了。所以现在还是在 React 的基础上迭代,反正我提出需求和验证结果,AI 实现,挺好 😂

项目核心特性
- 30+ 交互组件:从布局(Flex、Grid、Hero)到数据可视化(图表、统计、指标),再到表单控件(输入框、选择器、复选框),应有尽有
- 实时流式渲染:LLM 生成的同时,界面就在你眼前逐步构建出来
- 有状态对话:点击按钮、提交表单,这些交互都会反馈回对话,AI 能基于你的操作继续生成新界面
- 本地 LLM 支持:通过 Ollama 完全离线运行,无 API 成本,支持 Qwen、Llama 等开源模型
- Docker 一键部署:
docker pull icheerme/epoch:latest就能跑起来
我做的改进
我在原项目基础上氛围编程,加了这些特性:
- ✨ 新增 Table、Blockquote、Checkbox 组件
- 🎨 统一了 UI/UX 风格(这个借助Impeccable的优秀审美,但也花了不少时间调)
- 📝 侧边栏对话历史管理
- 🖼️ 图片前端缓存(30 分钟有效期,防重复请求)
- 📱 PWA 支持(可添加到手机桌面,沉浸式体验)
- 🐳 Docker 容器化部署
- 🌐 兼容 OpenAI Completions API 格式
- 🔧 新增 OPENAI_API_URL 环境变量
快速开始
Docker 部署最简单:
1 | docker pull icheerme/epoch:latest |
访问 http://localhost:3000 就能用了。
项目地址:https://github.com/icheer/Epoch
感兴趣的话可以去看看,README 里有更详细的说明和组件清单。原项目是 MIT 协议,可以随便玩 😎
试试让 AI 给你生成一个数据可视化仪表盘,或者一个交互式的产品对比表格,体验一下“对话即界面”的感觉。
HTML 正在取代 Markdown?
Anthropic 旗下 Claude Code 团队工程师 Thariq Shihipar 指出,随着 AI 能生成长篇规格与互动原型,轻量级 Markdown 已难承载。HTML 凭借灵活排版、互动元件及直接分享的优势正逐步取代 Markdown,成为 AI 时代的人机协作原生语言。
Epoch 这个项目恰好印证了这个观点 —— AI 不再只是生成静态的 Markdown 文本,而是直接生成结构化的 JSON,然后渲染成可交互的 HTML 组件。这种方式比 Markdown 灵活太多了,图表、表单、卡片、画廊,这些在 Markdown 里都很难实现,但在 HTML/React 组件里就是自然而然的事。
在 AI 时代更加热爱编程
前几天逛 V2EX 看到这个帖子以及它提到的另一个讨论,讨论 AI 对编程的影响。我感觉自己属于”在 AI 时代更加热爱编程”的那类人,哈哈。
以前做项目开发,很多时间花在重复劳动上 —— 写样板代码、调 CSS、接口联调、处理边界情况。现在有 AI 帮忙,我可以把精力放在更有意思的事情上:想法、架构、体验优化。像 Epoch 这个项目,我花了一个周末就做了大量改进,UI/UX 调整、新组件、容器化、性能调优,这要是以前,得花好几周。
AI 不是让编程变得无聊,而是让编程回归本质 —— 解决问题,创造价值。