1. 项目综述
菊叔AI助手平台是一个基于 Headless CMS(无头内容管理) 架构的综合性教育服务网站。项目集成了留学咨询、高考提分、神经科学研究及学术出版等多元化服务模块。
其核心技术特色在于将企业级 CMS (Drupal) 的数据管理能力与现代前端框架 (Next.js) 的高性能渲染相结合,并深度融合了 Dify AI 引擎,打造了一个不仅具备丰富内容展示,还拥有智能化交互能力的现代化 Web 平台。
2. 核心技术架构 (Tech Stack)
项目采用现代化的 JAMstack 架构模式,实现了前后端分离,确保了系统的高安全性、可扩展性及卓越的用户体验。
2.1 前端层 (Frontend)
核心框架: Next.js 15.5.6 (采用最新的 App Router 架构)
开发语言: TypeScript (强类型约束,提升代码健壮性)
运行时/构建: Bun (高性能 JavaScript 运行时)
UI/样式: Tailwind CSS (原子化 CSS), Lucide React (图标库)
交互与动画:
Framer Motion: 实现复杂的页面过渡与滚动动画
React Pageflip: 实现仿真文档翻页效果
Leaflet: 实现地理信息可视化与地图交互
数据集成: next-drupal (专门用于连接 Drupal 的客户端库)
2.2 后端与数据层 (Backend & Data)
内容管理系统: Drupal 11
API 标准: JSON:API (符合工业标准的数据交互格式)
鉴权机制: OAuth 2.0 (通过 Simple OAuth 模块实现安全认证)
多站点支持: 支持灵活的多站点后端配置
2.3 AI 与智能化 (AI & Automation)
AI 引擎: Dify 平台集成
智能助手: DiVo AI (定制化教育领域 AI 助手)
交互方式: 通过 Next-Drupal 库与 Dify API 进行实时流式对话
2.4 基础设施 (Infrastructure)
部署环境: 私有化自托管 (Self-hosted)
安全配置: 包含 CSP (内容安全策略)、HSTS 等全面的安全头信息配置
3. 功能模块详解
平台业务逻辑清晰,主要划分为内容服务、AI 交互与用户体验三大板块。
3.1 核心业务服务
| 模块代码 | 功能名称 | 描述 |
|---|---|---|
| liuxue | 留学咨询服务 | 提供留学规划路径、院校申请等专业服务内容。 |
| tifen | 高考提分服务 | 针对高考备考的辅导策略与资源展示。 |
| neuro | 神经科学研究 | 展示神经科学领域的专业学术内容与前沿动态。 |
| research | 研究与出版 | 学术成果展示及出版服务支持。 |
| suixiang | 随想随写 | 用户生成内容 (UGC) 平台,支持博客与动态发布。 |
3.2 智能化与系统功能
DiVo AI 助手: 嵌入式 AI 顾问,基于教育领域专有知识库,提供实时问答与咨询服务。
多语言系统: 完整的 i18n 支持 (zh-hans/en),满足国际化访问需求。
动态内容引擎: 文章、页面、菜单均通过 JSON:API 从 Drupal 实时同步,支持静态生成 (SSG) 与服务端渲染 (SSR) 混合模式。
4. 开发规模与周期评估
4.1 代码规模
总代码量: 约 6,800 行 (TypeScript/JSX)
组件库: 30+ 个高复用性组件 (Atomic Design)
集成复杂度: 约 455 个 API 调用/集成点
4.2 开发周期回顾
第一阶段:基础平台构建 (耗时: 17-24周)
涵盖架构搭建、Drupal 后端集成、UI/UX 设计实现及核心业务模块开发。
包含了复杂的地图功能与多语言适配。
第二阶段:AI 助手集成 (耗时: 3天)
得益于良好的架构设计,AI 功能的 API 对接、UI 实现及逻辑交互在极短时间内完成。
5. 技术深度分析与评价
5.1 架构优势 (Strengths)
技术栈前瞻性: 采用了 Next.js 15 和 React 19 等最新技术,配合 TypeScript,保证了项目的长其生命周期和维护性。
极致的用户体验:
从 Hero 区域的 DNA 螺旋动画到服务页面的视差滚动,视觉表现力极强。
响应式设计完美适配移动端与桌面端。
高效的内容交付: 利用 next-drupal 实现了 Drupal 强大的内容管理能力与 Next.js 静态生成性能的完美结合,SEO 友好。
安全可靠: 完善的 OAuth 2.0 认证与严格的 HTTP 安全头配置,保障了数据传输安全。
5.2 潜在改进点 (Areas for Improvement)
API 抽象层优化: 虽然使用了 next-drupal,但随着模块增加,建议构建统一的 API Service 层,以统一处理错误捕获、重试机制和数据清洗。
缓存策略增强: 针对高频访问的静态内容(如文章详情),可进一步优化 ISR (增量静态再生成) 策略或边缘缓存,减少后端 Drupal 的负载。
监控体系: 建议引入 Sentry 或类似工具进行前端错误追踪,以及性能监控系统 (APM) 来量化 AI 对话的响应延迟。
自动化测试: 鉴于涉及多语言和多站点,建议补充 E2E 测试 (如使用 Playwright) 以确保核心流程的稳定性。
6. 总结
菊叔AI助手平台是一个技术成熟度高、架构设计合理的现代 Web 应用。
项目成功地跨越了传统 CMS 开发与现代 AI 应用之间的鸿沟。其技术选型(Next.js + Drupal + AI)不仅满足了当前复杂的教育服务业务需求,更为未来的功能扩展(如更多 AI 垂直应用、更复杂的学术数据可视化)奠定了坚实的基础。虽然项目复杂度较高,但代码结构清晰,展现了极高的工程质量。
上面的是AI写的,
关于和AI一起的工作,我也写一下:
这个项目历时还是很久的,也是Vibe Coding的一个练手的项目.开始早几个月用AI做了几个独立的landing pages,看是挺好看的,但是不能和我的网站耦合,所以感觉有些尴尬.比如,AI小助手要跳到一个新的页面去聊天.后来就看到了一个很好的前端的框架,next,drupal支持很充分,不过我是不会前端编程的,当然我什么编程都不会,然后我就想既然AI这么厉害,那就让AI来研究这个前端框架,和让他们根据官方给的"最佳实践"现成的源代码,来帮我把这个next的前端做出来.然后再把我早先部署好的AI问答助手给整合到这个前端来. 这就是最主要的需求,重新做视觉设计,同时与后端耦合,并且把第三方平台的AI聊天小助手整合进来.
期间由于还有其他工作,自己对操作AI工具也不熟悉,所以说浪费了很多时间.这个项目的开发断断续续花了我一个月吧.
总体来说,整个体系里面我对drupal这个cms后端的熟悉程度是最高的,但是编码方面呢,都是依赖各个AI工具.我主要是进行需求分析,提出技术要求,然后及时制止他们在开发过程汇总犯错犯蠢. 主要是两个,一个是loop,一个是幻觉.
现在我把原来的drupal网站和这套前端系统打通了,重构了内容的展示,这在原来以themes和blocks为结构的drupal系统上是很难实现的,何况我也不会做前端开发.
现在有了很多种AI开发工具,特别是在前端开发方面,我们可以实现自己的一些外观和交互需求.
下一步我们是进一步的挺进AI构建的深层,做agentic RAG 的AI 交互与服务平台开发.
这是我们DiVo AI的一个主要方向,把知识和AI一起工具化,具体服务化.就像任正非说的,"AI也要具象化". 我们做不了底层的算法,也做不了更底层的硬件,但是我们可以在应用层面,在部署层面,在把算力与AI能力转化为具体工具与服务方面努力.
我认为这是,基于AI,面向AI,又面向应用需求与服务需求,面向人本身的Vibe Coding.
AI可以做coding,但是部署基本上得我来做.我不是说的单个部件的部署,比如装一个drupal 后端,这种AI自己可以搞定,但是从更系统的层面来部署AI和各种资源,还是不能都交给AI的.虽然我现在服务器的环境配置,代码debugging,都是AI为主,但是系统性的架构,computing architect,还是得由人来做.当然以后我们尽量要采用自动化部署的方式.
现在还只是做完了一个web界面而已. 而真正的复杂的技术创造还在后端,看不到的地方.