耗时一个半月,参考鱼皮项目,自己重构了一下架构。项目已上线欢迎大家体验。

项目地址https://www.zriyo.com/ 开发周期:1 个月+

💬 写在前面

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

image.png

image.png


✨ 核心架构亮点

1. 责任链模式构建的

传统的代码生成往往是一次性的 LLM 调用。我在 Zriyo 中引入了 Chain of Responsibility(责任链模式) 来构建智能体的"大脑"。

核心设计:

  • 动态流水线编排:利用 Spring 的 AnnotationAwareOrderComparator 自动装配所有 CodeGenHandler,通过 @Order 注解控制执行顺序。
  • 职责完全解耦:每个 Handler 只关注自己的领域,互不干扰。

实际 Handler 执行链:

  1. **SkeletonGenerateHandler - 骨架规划师

    • 职责:将用户需求(如"做个任务管理系统")规划为完整的文件目录树
    • 输出:ProjectSkeletonDTO(包含所有文件路径、依赖关系、接口定义)
    • 状态:推送 "🧠 分析需求并规划文件目录..."
  2. **FileUpdateHandler ** - 增量修改器

    • 职责:在现有项目中增加新功能或修改逻辑
    • 智能:先读取当前骨架,分析用户需求,生成 ModificationPlanDTO(精准标注哪些文件需要 CREATE / UPDATE / DELETE)
    • 状态:推送 "正在分析项目结构与修改需求..."
  3. **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.0Java 生态最强 LLM 框架
ORM 框架MyBatis-Flex 1.11极其灵活且高性能
分布式锁/缓存Redis + Redisson处理分布式任务锁与 Key 调度
权限认证Sa-Token 1.44轻量级权限认证
自动化测试Microsoft Playwright端到端测试与网页截图
对象存储AWS S3 SDK部署产物归档

🌐 欢迎体验

👉 立即访问https://www.zriyo.com/

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP