耗时一个半月,参考鱼皮项目,自己重构了一下架构。项目已上线欢迎大家体验。
项目地址:https://www.zriyo.com/ 开发周期:1 个月+
💬 写在前面
耗时一个月多,这参考鱼皮项目,前端是我从零利用 AI 辅助写的,后端自己重构了架构,避免全量上下文追加,由 AI根据骨架去生成前端项目,这里面优化提示词耗费了我不少时间,项目生成效果目前还没有非常理想,但是是可用状态,测试消耗了大量 token 这里感谢美团的 longcat 和小米的 MIMO 大模型 提供大量的 token 供我测试,目前平台切换到MIMO大模型,目前项目是可用状态生成成功率还是蛮高的,可以进行简单的修复 bug 和修改项目,欢迎大家使用~,有建议可以告诉我,有时间了我会重构成微服务,附上项目截图~


✨ 核心架构亮点
1. 责任链模式构建的
传统的代码生成往往是一次性的 LLM 调用。我在 Zriyo 中引入了 Chain of Responsibility(责任链模式) 来构建智能体的"大脑"。
核心设计:
- 动态流水线编排:利用 Spring 的
AnnotationAwareOrderComparator自动装配所有CodeGenHandler,通过@Order注解控制执行顺序。 - 职责完全解耦:每个 Handler 只关注自己的领域,互不干扰。
实际 Handler 执行链:
-
**
SkeletonGenerateHandler- 骨架规划师- 职责:将用户需求(如"做个任务管理系统")规划为完整的文件目录树
- 输出:
ProjectSkeletonDTO(包含所有文件路径、依赖关系、接口定义) - 状态:推送 "🧠 分析需求并规划文件目录..."
-
**
FileUpdateHandler** - 增量修改器- 职责:在现有项目中增加新功能或修改逻辑
- 智能:先读取当前骨架,分析用户需求,生成
ModificationPlanDTO(精准标注哪些文件需要 CREATE / UPDATE / DELETE) - 状态:推送 "正在分析项目结构与修改需求..."
-
**
RuntimeLogicFixHandler** - Bug 修复- 职责:接收前端上报的运行时错误(如控制台报错、白屏),自动定位源文件并修复
- 核心能力:反混淆定位(Vite 打包后的代码文件名会被 hash,需要通过 SourceMap 反推)
- 状态:推送 "正在分析 Bug ..."
可扩展性: 这套设计最大的优势是"热插拔"。将来如果需要增加新节点(如安全审计、性能优化),只需:
▼java复制代码@Component @Order(6) // 插入到合适的位置 public class SecurityAuditHandler extends AbstractCodeGenHandler { ... }
Spring 会自动识别并串联,零代码侵入。
2. 基于 Redis ZSet 的高可用 API Key 调度器
面对不稳定的 LLM API(限流、封号、波动),我设计了一套企业级的资源调度系统:
- 权重调度:使用 Redis Sorted Set,每个 Key 的
Score代表剩余并发额度,系统总是优先选择最闲的 Key。 - 智能熔断:
- 软封禁:单次失败立刻冷却 60 秒
- 硬封禁:连续失败 5 次,封禁到次日凌晨 6 点
- 看门狗机制:定时扫描僵尸租约,自动回收额度,防止资源泄漏。
这套调度器保证了即使挂掉一半的 Key,系统依然能稳定运行,99.9% 服务高可用。
3. Reactor 响应式架构:断线可恢复的流式生成
为了解决大模型代码生成耗时长、HTTP 连接不稳定的痛点,我基于 Project Reactor 设计了极具鲁棒性的通信机制:
- Sinks.replay().all():内存中的消息缓存池,即使用户刷新页面,重连后也能瞬间"回放"所有历史日志,数据零丢失。
- 异步流水线:生成任务在后端线程池异步运行,不受即时连接状态影响,支持超长任务(如初始化大型项目)的稳定执行。
- 心跳保活:内置 15 秒心跳检测,确保弱网环境下依然能维持会话。
4. 上下文优化
- 由后端根据骨架信息主动拉当前文件需要的上下文,避免全量上下文
AI 不会盲目读取所有文件,而是像人类工程师一样先看目录、再看关键文件,大幅节省 Token 并提升理解准确度。
🛠 技术栈总览
| 模块 | 技术选型 | 说明 |
|---|---|---|
| 核心框架 | Spring Boot 3.5.4 | 拥抱最新特性 |
| 编程语言 | Java 21 (LTS) | 虚拟线程、Record 新语法 |
| 响应式编程 | Project Reactor | 实现高吞吐流式处理与 SSE 通信 |
| AI 引擎 | LangChain4j 1.1.0 | Java 生态最强 LLM 框架 |
| ORM 框架 | MyBatis-Flex 1.11 | 极其灵活且高性能 |
| 分布式锁/缓存 | Redis + Redisson | 处理分布式任务锁与 Key 调度 |
| 权限认证 | Sa-Token 1.44 | 轻量级权限认证 |
| 自动化测试 | Microsoft Playwright | 端到端测试与网页截图 |
| 对象存储 | AWS S3 SDK | 部署产物归档 |
🌐 欢迎体验
👉 立即访问:https://www.zriyo.com/

